添加筛选和删除

This commit is contained in:
cosarty 2024-12-11 20:20:21 +08:00
parent 05848781a3
commit f5d5f41788
5 changed files with 306 additions and 132 deletions

View File

@ -3,6 +3,7 @@ ENV = 'development'
# base api
VUE_APP_BASE_API = 'https://syy.xunyingcloud.cn'
# VUE_APP_BASE_API = 'http://121.37.139.13:8080'
#VUE_APP_BASE_API = 'http://localhost:20010/'
# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,

1
.node-version Normal file
View File

@ -0,0 +1 @@
v14.21.3

View File

@ -104,3 +104,16 @@ export function userActivityPlaceListApi(data) {
data
})
}
/**
* ebactivity删除
* @param data
*/
export function placeDeleteApi(data) {
return request({
url: `/admin/place/records/delete`,
method: 'get',
params:data
})
}

View File

@ -1,11 +1,25 @@
<template>
<div class="divBox">
<el-form :model="tableFrom" @keyup.enter.native="getDataList()" label-width="90px">
<el-form
:model="tableFrom"
@keyup.enter.native="getDataList()"
label-width="90px"
>
<el-form-item label="活动名称:">
<el-input @input="getDataList()" style="width: 275px" v-model="tableFrom.keywords" placeholder="查询活动" clearable></el-input>
<el-input
@input="getDataList()"
style="width: 275px"
v-model="tableFrom.keywords"
placeholder="查询活动"
clearable
></el-input>
</el-form-item>
<el-form-item label="活动类型:">
<el-radio-group v-model="tableFrom.cid" size="medium" @input="getDataList()">
<el-radio-group
v-model="tableFrom.cid"
size="medium"
@input="getDataList()"
>
<el-radio-button label="">全部</el-radio-button>
<el-radio-button label="746">活动预约</el-radio-button>
<el-radio-button label="752">采茶预约</el-radio-button>
@ -13,30 +27,34 @@
</el-radio-group>
</el-form-item>
<el-form-item>
<el-button v-hasPermi="['admin:activity:save']" type="primary" @click="addOrUpdateHandle()">新增活动</el-button>
<el-button
v-hasPermi="['admin:activity:save']"
type="primary"
@click="addOrUpdateHandle()"
>新增活动</el-button
>
<!-- <el-button v-hasPermi="['autogencode:ebactivity:delete']" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>-->
</el-form-item>
</el-form>
<el-table
:data="dataList"
v-loading="dataListLoading"
style="width: 100%;">
<el-table :data="dataList" v-loading="dataListLoading" style="width: 100%;">
<el-table-column
width="60"
prop="id"
header-align="center"
align="center"
label="活动编号">
label="活动编号"
>
</el-table-column>
<el-table-column
prop="cid"
header-align="center"
align="center"
label="活动类型">
label="活动类型"
>
<template slot-scope="scope">
<div class="demo-image__preview">
<span v-if="scope.row.cid == 746">活动预约</span>
<span v-else-if="scope.row.cid ==752">采茶预约</span>
<span v-else-if="scope.row.cid == 752">采茶预约</span>
<span v-else-if="scope.row.cid == 753">其他预约</span>
<span v-else>类型错误</span>
</div>
@ -47,14 +65,16 @@
prop="title"
header-align="center"
align="center"
label="标题">
label="标题"
>
</el-table-column>
<el-table-column
prop="imageInput"
header-align="center"
align="center"
label="图片">
label="图片"
>
<template slot-scope="scope">
<div class="demo-image__preview">
<el-image
@ -69,19 +89,22 @@
prop="activityAddr"
header-align="center"
align="center"
label="地址">
label="地址"
>
</el-table-column>
<el-table-column
prop="activityNum"
header-align="center"
align="center"
label="活动人数">
label="活动人数"
>
</el-table-column>
<el-table-column
prop="activityPrice"
header-align="center"
align="center"
label="费用">
label="费用"
>
</el-table-column>
<!-- <el-table-column-->
<!-- prop="content"-->
@ -94,23 +117,21 @@
prop="beginTime"
header-align="center"
align="center"
label="开始时间 - 结束时间">
label="开始时间 - 结束时间"
>
<template slot-scope="scope">
{{ scope.row.beginTime }} - {{ scope.row.endTime }}
</template>
</el-table-column>
<el-table-column
header-align="center"
align="center"
label="是否热门">
<el-table-column header-align="center" align="center" label="是否热门">
<template slot-scope="scope">
<el-switch
@change='changeStatus($event,scope.row,"hot")'
@change="changeStatus($event, scope.row, 'hot')"
v-model="scope.row.isHot"
active-color="#13ce66"
inactive-color="#ff4949">
inactive-color="#ff4949"
>
</el-switch>
</template>
</el-table-column>
<!-- <el-table-column-->
@ -130,21 +151,36 @@
prop="sort"
header-align="center"
align="center"
label="排序">
label="排序"
>
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="150"
label="操作">
label="操作"
>
<template slot-scope="scope">
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
<el-button v-hasPermi="['admin:activity:update']" type="text" size="small"
@click="activityLog(scope.row.id)">预约记录
<el-button
type="text"
size="small"
@click="addOrUpdateHandle(scope.row.id)"
>修改</el-button
>
<el-button
v-hasPermi="['admin:activity:update']"
type="text"
size="small"
@click="activityLog(scope.row.id)"
>预约记录
</el-button>
<el-button v-hasPermi="['admin:activity:delete']" type="text" size="small"
@click="deleteHandle(scope.row.id)">删除
<el-button
v-hasPermi="['admin:activity:delete']"
type="text"
size="small"
@click="deleteHandle(scope.row.id)"
>删除
</el-button>
</template>
</el-table-column>
@ -156,38 +192,93 @@
:page-sizes="[10, 20, 50, 100]"
:page-size="tableFrom.limit"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
layout="total, sizes, prev, pager, next, jumper"
>
</el-pagination>
<!-- 表单弹窗, 新增数据和修改数据-->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
<add-or-update
v-if="addOrUpdateVisible"
ref="addOrUpdate"
@refreshDataList="getDataList"
></add-or-update>
<el-dialog
@close="closeLog"
title="活动预约记录"
:close-on-click-modal="false"
:visible.sync="logVisible"
width="80%"
>
<el-table
:data="logList"
style="width: 100%;">
<el-form :inline="true" size="small" label-width="100px">
<el-form-item label="手机号:" >
<el-input
v-model="logParams.cellPhone"
placeholder="请输入手机号码"
class="selWidth"
size="small"
clearable
@clear="activityLog(logParams.activityId)"
>
<el-button
slot="append"
icon="el-icon-search"
size="small"
@click="activityLog(logParams.activityId)"
/>
</el-input>
</el-form-item>
<el-form-item label="姓名:" >
<el-input
v-model="logParams.userName"
placeholder="请输入联系人姓名"
class="selWidth"
size="small"
clearable
@clear="activityLog(logParams.activityId)"
>
<el-button
slot="append"
icon="el-icon-search"
size="small"
@click="activityLog(logParams.activityId)"
/>
</el-input>
</el-form-item>
<el-form-item label="预约日期:" >
<el-date-picker
v-model="date"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
@change="activityLog(logParams.activityId)"
>
</el-date-picker>
</el-form-item>
</el-form>
<el-table :data="logList" style="width: 100%;">
<el-table-column
width="100"
prop="id"
header-align="center"
align="center"
label="预约编号">
label="预约编号"
>
</el-table-column>
<el-table-column
width="100"
prop="userName"
header-align="center"
align="center"
label="预约人">
label="预约人"
>
</el-table-column>
<el-table-column
prop="cellPhone"
header-align="center"
align="center"
label="预约手机号">
label="预约手机号"
>
</el-table-column>
<!-- <el-table-column-->
<!-- width="120"-->
@ -201,25 +292,32 @@
prop="registerDate"
header-align="center"
align="center"
label="预约指定日期">
label="预约指定日期"
>
</el-table-column>
<el-table-column
prop="remark"
header-align="center"
align="center"
label="备注">
label="备注"
>
</el-table-column>
<el-table-column
prop="registerStatus"
header-align="center"
align="center"
label="预约状态">
label="预约状态"
>
<template slot-scope="scope">
<div class="demo-image__preview">
<el-tag v-if="scope.row.registerStatus == 0">待确认</el-tag>
<el-tag v-else-if="scope.row.registerStatus == 1">报名成功</el-tag>
<el-tag v-else-if="scope.row.registerStatus == 1"
>报名成功</el-tag
>
<el-tag v-else-if="scope.row.registerStatus == 2">已拒绝</el-tag>
<el-tag type="warning" v-else-if="scope.row.registerStatus ==4">已取消</el-tag>
<el-tag type="warning" v-else-if="scope.row.registerStatus == 4"
>已取消</el-tag
>
<el-tag v-else>未知类型</el-tag>
</div>
</template>
@ -228,7 +326,8 @@
prop="cancelData"
header-align="center"
align="center"
label="取消时间">
label="取消时间"
>
<template slot-scope="scope">
<div class="demo-image__preview">
<span v-if="scope.row.cancelData === null"> - </span>
@ -240,7 +339,8 @@
prop="cancelReason"
header-align="center"
align="center"
label="取消原因">
label="取消原因"
>
<template slot-scope="scope">
<div class="demo-image__preview">
<span v-if="scope.row.cancelReason === null"> - </span>
@ -254,10 +354,15 @@
header-align="center"
align="center"
width="150"
label="操作">
label="操作"
>
<template slot-scope="scope">
<el-popconfirm v-hasPermi="['admin:activity:update']" @onConfirm="update(scope.row)" v-if="scope.row.registerStatus == 0"
title="请在和客户确认之后再点击哦!">
<el-popconfirm
v-hasPermi="['admin:activity:update']"
@onConfirm="update(scope.row)"
v-if="scope.row.registerStatus == 0"
title="请在和客户确认之后再点击哦!"
>
<!-- //todo -->
<template #reference>
<el-button type="text" size="small">同意预约</el-button>
@ -277,18 +382,16 @@
background
layout="prev, pager, next"
@current-change="handleCurrentChange"
:total="this.logParams.total">
:total="logParams.total"
>
</el-pagination>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="logVisibles = false"> </el-button>
<!-- <el-button type="primary" @click="logVisibles = false"> </el-button> -->
</span>
</el-dialog>
</div>
</template>
<script>
import {
activityDeleteApi,
@ -296,8 +399,8 @@ import {
activityLogListApi,
ebactivityUpdateApi,
userActivityPlaceListApi
} from "@/api/activity"
import AddOrUpdate from "@/views/marketing/activity/activityList/activity-add-and-update"
} from "@/api/activity";
import AddOrUpdate from "@/views/marketing/activity/activityList/activity-add-and-update";
export default {
data() {
@ -306,91 +409,126 @@ export default {
logVisible: false,
dataList: [],
logList: [],
date: [],
logParams: {
activityId: "",
limit: 10,
page: 1,
total: 1,
cellPhone: "",
userName: ""
},
tableFrom: {
page: 1,
limit: 20,
name: '',
keywords: '',
cid: "",
name: "",
keywords: "",
cid: ""
},
totalPage: 0,
addOrUpdateVisible: false
}
};
},
components: {
AddOrUpdate
},
mounted() {
this.getDataList()
this.getDataList();
},
methods: {
closeLog() {
this.logParams = {
activityId: "",
limit: 10,
page: 1,
total: 1,
cellPhone: "",
userName: ""
};
this.date = [];
},
update(row) {
console.log("确定了")
console.log(row)
userActivityPlaceListApi({id:row.id,status:0}).then(res =>{
console.log("确定了");
console.log(row);
userActivityPlaceListApi({ id: row.id, registerStatus: 1 }).then(res => {
this.$message.success("修改成功!");
this.activityLog(this.logParams.activityId)
})
this.activityLog(this.logParams.activityId);
});
},
//
activityLog(id) {
this.logParams.activityId = id
this.logVisible = true
activityLogListApi(this.logParams).then(res => {
this.logParams.limit = res.limit
this.logParams.page = res.page
this.logParams.total = res.total
this.logList = res.list
})
this.logParams.activityId = id;
this.logVisible = true;
this.logParams.page = 1;
activityLogListApi(
Object.assign(
{ ...this.logParams },
this.date && this.date.length > 0
? {
beginDate: this.date[0] + " 01:00:00" || "",
endDate: this.date[1] + " 23:59:59" || ""
}
: {}
)
).then(res => {
this.logParams.limit = res.limit;
this.logParams.page = res.page;
this.logParams.total = res.total;
this.logList = res.list;
});
},
handleCurrentChange(val) {
this.logParams.page = val
activityLogListApi(this.logParams).then(res => {
this.logParams.limit = res.limit
this.logParams.page = res.page
this.logParams.total = res.total
this.logList = res.list
})
this.logParams.page = val;
activityLogListApi(
Object.assign(
{ ...this.logParams },
this.date && this.date.length > 0
? {
beginDate: this.date[0] + " 01:00:00" || "",
endDate: this.date[1] + " 23:59:59" || ""
}
: {}
)
).then(res => {
this.logParams.limit = res.limit;
this.logParams.page = res.page;
this.logParams.total = res.total;
this.logList = res.list;
});
},
changeStatus($event, val, type) {
if (type === 'banner') {
val.isBanner = $event
if (type === "banner") {
val.isBanner = $event;
}
if (type === 'hot') {
val.isHot = $event
if (type === "hot") {
val.isHot = $event;
}
ebactivityUpdateApi(val).then(res => {
this.$message.success("修改成功!");
this.getDataList()
})
this.getDataList();
});
},
addOrUpdateHandle(id) {
this.addOrUpdateVisible = true
this.addOrUpdateVisible = true;
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
this.$refs.addOrUpdate.init(id);
});
},
deleteHandle(id) {
this.$confirm('确定删除当前数据?').then(() => {
activityDeleteApi({id: id}).then(data => {
this.$message.success('删除成功')
this.getDataList()
})
})
this.$confirm("确定删除当前数据?").then(() => {
activityDeleteApi({ id: id }).then(data => {
this.$message.success("删除成功");
this.getDataList();
});
});
},
sizeChangeHandle(val) {
this.tableFrom.limit = val
this.getDataList()
this.tableFrom.limit = val;
this.getDataList();
},
currentChangeHandle(page) {
this.tableFrom.page = page
this.getDataList()
this.tableFrom.page = page;
this.getDataList();
},
//
selectionChangeHandle(val) {
@ -398,23 +536,19 @@ export default {
},
//
getDataList() {
this.dataListLoading = true
this.dataListLoading = true;
activityListApi(this.tableFrom).then(res => {
// TODO
this.dataList = res.list
this.totalPage = res.total
this.tableFrom.limit = res.total
this.tableFrom.page = res.page
this.dataList = res.list;
this.totalPage = res.total;
this.tableFrom.limit = res.limit;
this.tableFrom.page = res.page;
this.dataListLoading = false
})
this.dataListLoading = false;
});
}
}
}
};
</script>
<style lang="sass" scoped>
</style>
<style lang="sass" scoped></style>

View File

@ -3,26 +3,38 @@
<el-card class="box-card">
<div class="clearfix">
<div class="container">
<el-form size="small" label-width="100px" >
<!-- <el-form-item label="预约状态:">-->
<!-- <el-radio-group v-model="tableFrom.status" type="button" @change="seachList">-->
<!-- <el-radio-button label="all">全部</el-radio-button>-->
<!-- <el-radio-button label="unPaid">待确认 </el-radio-button>-->
<!-- <el-radio-button label="unPaid">预约成功 </el-radio-button>-->
<!-- <el-radio-button label="unPaid">预约取消 </el-radio-button>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<el-form-item label="预约人:" class="width100">
<el-form size="small" label-width="120px" >
<el-form-item label="预约状态:">
<el-radio-group v-model="tableFrom.status" type="button" @change="seachList">
<el-radio-button :label="''">全部</el-radio-button>
<el-radio-button label="0">待确认 </el-radio-button>
<el-radio-button label="1">预约成功 </el-radio-button>
<el-radio-button label="2">预约取消 </el-radio-button>
</el-radio-group>
</el-form-item>
<!-- <el-form-item label="预约人:" class="width100">
<el-input v-model="tableFrom.keywords" placeholder="请输入预约人" class="selWidth" size="small" clearable>
<el-button slot="append" icon="el-icon-search" size="small" @click="seachList" />
</el-input>
</el-form-item>
</el-form-item> -->
<el-form-item label="手机号:" class="width100">
<el-input v-model="tableFrom.keywords" placeholder="请输入订单号" class="selWidth" size="small" clearable>
<el-form-item label="预约人/手机号:" class="width100">
<el-input v-model="tableFrom.keywords" placeholder="请输入预约人姓名/手机号" class="selWidth" size="small" clearable @clear="seachList">
<el-button slot="append" icon="el-icon-search" size="small" @click="seachList" />
</el-input>
</el-form-item>
<el-form-item label="预约日期:" class="width100">
<el-date-picker
v-model="date"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
@change="seachList"
>
</el-date-picker>
</el-form-item>
</el-form>
</div>
@ -131,6 +143,7 @@
label="操作">
<template slot-scope="scope">
<el-button v-if="scope.row.status == 0" type="text" size="small" @click="mobile(scope.row)">审核预约</el-button>
<el-button v-if="scope.row.status == 2" type="text" size="small" @click="deleteHandle(scope.row)">删除</el-button>
<!-- <el-button v-if="scope.row.status == 1" type="text" size="small" @click="innerVisible = true">后台取消</el-button>-->
<!-- <el-button v-hasPermi="['admin:activity:update']" type="text" size="small"-->
@ -226,7 +239,8 @@ import {
activityListApi,
activityLogListApi,
activityPlaceListApi, activityPlaceUpdateApi,
ebactivityUpdateApi
ebactivityUpdateApi,
placeDeleteApi
} from "@/api/activity"
import AddOrUpdate from "@/views/marketing/activity/activityList/activity-add-and-update"
@ -239,10 +253,13 @@ export default {
mobileVisible: false,
dataList:[],
mobileFrom:{},
date:[],
totalPage:0,
tableFrom:{
page: 1,
limit: 20,
keywords: '',
status: ''
}
}
},
@ -256,6 +273,15 @@ export default {
methods: {
deleteHandle(row){
this.$confirm('确定删除当前数据?').then(() => {
placeDeleteApi({id:row.id}).then(data => {
this.$message.success('删除成功')
this.getDataList()
})
}).catch(() => {
})
},
seachList() {
this.tableFrom.page = 1
this.getDataList()
@ -285,11 +311,10 @@ export default {
getDataList(){
this.dataListLoading = true
activityPlaceListApi(this.tableFrom).then(res =>{
console.log(res)
activityPlaceListApi(Object.assign({...this.tableFrom},this.date&&this.date.length > 0 ? {beginDate:this.date[0] + ' 01:00:00'|| '',endDate:this.date[1] + ' 23:59:59' || ''} : {})).then(res =>{
this.dataList = res.list
this.totalPage = res.total
this.tableFrom.limit = res.total
this.tableFrom.limit = res.limit
this.tableFrom.page = res.page