14 changed files with 881 additions and 139 deletions
@ -0,0 +1,51 @@ |
|||
|
|||
|
|||
import request from '@/utils/request'; |
|||
//获取参会人员列表信息
|
|||
export function getAttendeeList(param) { |
|||
return request({ |
|||
url: '/conferee/search', |
|||
method: 'post', |
|||
data:param |
|||
}); |
|||
} |
|||
//创建参会人员
|
|||
export function addAttendee(param) { |
|||
return request({ |
|||
url: '/conferee/add', |
|||
method: 'post', |
|||
data:param |
|||
}); |
|||
} |
|||
//删除参会人员
|
|||
export function deleteAttendee(param) { |
|||
return request({ |
|||
url: '/conferee/delete', |
|||
method: 'post', |
|||
data:param |
|||
}); |
|||
} |
|||
//修改参会人员
|
|||
export function editAttendee(param) { |
|||
return request({ |
|||
url: '/conferee/edit', |
|||
method: 'post', |
|||
data:param |
|||
}); |
|||
} |
|||
// //获取参会人员详情信息(id)
|
|||
// export function getAttendeeById(id) {
|
|||
// return request({
|
|||
// url: '/conferee/get/'+id,
|
|||
// method: 'get'
|
|||
// });
|
|||
// }
|
|||
//导出参会人员列表信息
|
|||
export function getAttendeeById(param) { |
|||
return request({ |
|||
url: '/conferee/export', |
|||
method: 'post', |
|||
data:param |
|||
}); |
|||
} |
|||
|
@ -0,0 +1,43 @@ |
|||
|
|||
|
|||
import request from '@/utils/request'; |
|||
//获取会议列表信息
|
|||
export function getMeetingList(param) { |
|||
return request({ |
|||
url: '/conference/search', |
|||
method: 'post', |
|||
data:param |
|||
}); |
|||
} |
|||
//创建会议
|
|||
export function addMeeting(param) { |
|||
return request({ |
|||
url: '/conference/add', |
|||
method: 'post', |
|||
data:param |
|||
}); |
|||
} |
|||
//删除会议
|
|||
export function deleteMeeting(param) { |
|||
return request({ |
|||
url: '/conference/delete', |
|||
method: 'post', |
|||
data:param |
|||
}); |
|||
} |
|||
//修改会议
|
|||
export function editMeeting(param) { |
|||
return request({ |
|||
url: '/conference/edit', |
|||
method: 'post', |
|||
data:param |
|||
}); |
|||
} |
|||
//获取会议详情信息(id)
|
|||
export function getMeetingById(id) { |
|||
return request({ |
|||
url: '/conference/get/'+id, |
|||
method: 'get' |
|||
}); |
|||
} |
|||
|
@ -0,0 +1,141 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div> |
|||
<el-form :inline="true" :model="formSearch" ref="ruleForm" class="demo-form-inline"> |
|||
<el-form-item label="公司名称:"> |
|||
<el-input v-model="formSearch.name" size="mini" placeholder="请输入公司名" clearable maxlength="50"></el-input> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" size="mini" icon="el-icon-search" @click="search">查询</el-button> |
|||
</el-form-item> |
|||
<!-- <el-form-item class="float-right"> |
|||
<el-button type="primary" size="mini" icon="el-icon-circle-plus-outline" @click="addMeeting">新增</el-button> |
|||
</el-form-item> --> |
|||
</el-form> |
|||
</div> |
|||
<el-table :data="tableData" style="width: 100%" header-row-class-name=""> |
|||
<el-table-column type="selection" width="55"></el-table-column> |
|||
<el-table-column prop="conferenceTitle" label="会议名称"></el-table-column> |
|||
<el-table-column prop="companyName" label="公司名称"></el-table-column> |
|||
<el-table-column prop="name" label="与会人员"></el-table-column> |
|||
<el-table-column prop="phone" label="手机号"></el-table-column> |
|||
<el-table-column prop="email" label="邮箱"></el-table-column> |
|||
<el-table-column prop="duty" label="职务"></el-table-column> |
|||
<el-table-column prop="stayStatus" label="住宿状态" width="120"> |
|||
<template slot-scope="scope"> |
|||
<span v-if="scope.row.stayStatus == 0">不住宿</span> |
|||
<span v-else-if="scope.row.stayStatus == 1">单间</span> |
|||
<span v-else-if="scope.row.stayStatus == 2">双人标间</span> |
|||
</template> |
|||
</el-table-column> |
|||
<!-- <el-table-column label="操作" width="200"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="text" size="small" @click="editMeet(scope.row.id)"><i class="el-icon-edit"></i>修改</el-button> |
|||
<el-button type="text" size="small" @click="deleteMeet(scope.row.id)"><i class="el-icon-delete"></i>移除</el-button> |
|||
</template> |
|||
</el-table-column> --> |
|||
</el-table> |
|||
<el-pagination |
|||
background |
|||
@size-change="handleSizeChange" |
|||
@current-change="handleCurrentChange" |
|||
:current-page="currentPage" |
|||
:page-sizes="[10, 20, 50, 100]" |
|||
:page-size="pageSize" |
|||
layout="total, prev, pager, next, sizes, jumper" |
|||
:total="total"> |
|||
</el-pagination> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import { getAttendeeList} from "@/api/attendee" |
|||
export default { |
|||
name: "attendee", |
|||
data() { |
|||
return { |
|||
formSearch: {//模糊搜索 |
|||
name: '' |
|||
}, |
|||
currentPage: 1, //当前页 |
|||
pageSize: 10, //每页条数 |
|||
total: 0, //总条数 |
|||
tableData: [], //表格数据 |
|||
companyList:[] |
|||
}; |
|||
}, |
|||
mounted() { |
|||
this.initData() |
|||
}, |
|||
methods: { |
|||
//搜索查询 |
|||
search() { |
|||
this.currentPage = 1 |
|||
this.initData() |
|||
}, |
|||
//获取用户列表 |
|||
initData() { |
|||
const params = { |
|||
pageNum: this.currentPage, |
|||
pageSize: this.pageSize, |
|||
search:{ |
|||
companyName: this.formSearch.name.trim() |
|||
}, |
|||
sort:'' |
|||
} |
|||
getAttendeeList(params).then(res => { |
|||
this.tableData = res.data.list |
|||
this.total = res.data.count |
|||
}) |
|||
}, |
|||
// addMeeting(){ |
|||
// this.$router.push({name: 'meetingDetail'}) |
|||
// }, |
|||
// //修改 |
|||
// editMeet(id) { |
|||
// this.$router.push({name: 'meetingDetail', query: {id: id}}) |
|||
// }, |
|||
// //根据ID删除 |
|||
// deleteMeet(id) { |
|||
// this.$confirm('此操作将删除该文章, 是否继续?', '提示', { |
|||
// confirmButtonText: '确定', |
|||
// cancelButtonText: '取消', |
|||
// type: 'warning' |
|||
// }).then(() => { |
|||
// deleteMeeting([id]).then(res => { |
|||
// this.$message({ |
|||
// message: '删除成功!', |
|||
// type: 'success' |
|||
// }); |
|||
// this.initData() |
|||
// }) |
|||
// }).catch(() => { |
|||
// this.$message({ |
|||
// type: 'info', |
|||
// message: '已取消删除' |
|||
// }); |
|||
// }); |
|||
// }, |
|||
//每页条数变化 |
|||
handleSizeChange(val) { |
|||
this.pageSize = val |
|||
this.initData() |
|||
}, |
|||
//当前页变化 |
|||
handleCurrentChange(val) { |
|||
this.currentPage = val |
|||
this.initData() |
|||
} |
|||
|
|||
} |
|||
}; |
|||
</script> |
|||
<style rel="stylesheet/scss" lang="scss" scoped> |
|||
.input-with-select { |
|||
float: left; |
|||
top: 10px; |
|||
} |
|||
|
|||
.el-input { |
|||
width: 230px; |
|||
} |
|||
</style> |
@ -0,0 +1,149 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div> |
|||
<el-form :inline="true" :model="formSearch" ref="ruleForm" class="demo-form-inline"> |
|||
<el-form-item label="会议名:"> |
|||
<el-input v-model="formSearch.name" size="mini" placeholder="请输入用户名" clearable maxlength="50"></el-input> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" size="mini" icon="el-icon-search" @click="search">查询</el-button> |
|||
</el-form-item> |
|||
<el-form-item class="float-right"> |
|||
<el-button type="primary" size="mini" icon="el-icon-circle-plus-outline" @click="addMeeting">新增</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
</div> |
|||
<el-table :data="tableData" style="width: 100%" header-row-class-name=""> |
|||
<el-table-column type="selection" width="55"></el-table-column> |
|||
<el-table-column prop="title" label="会议名称"></el-table-column> |
|||
<el-table-column prop="type" label="会议类型" width="120"> |
|||
<template slot-scope="scope"> |
|||
<span v-if="scope.row.type == 1">食品工业互联网大会</span> |
|||
<span v-else-if="scope.row.type == 2">食品工业转型升级论坛</span> |
|||
<span v-else-if="scope.row.type == 3">线上会议沙龙</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="startTime" label="开始时间" width="120"></el-table-column> |
|||
<el-table-column prop="endTime" label="结束时间" width="120"></el-table-column> |
|||
<el-table-column prop="confereeType" label="参会类型" width="120"> |
|||
<template slot-scope="scope"> |
|||
<span v-if="scope.row.confereeType == 0">所有人</span> |
|||
<span v-else-if="scope.row.confereeType == 1">仅限会员</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="schedule" label="会议日程"></el-table-column> |
|||
<el-table-column prop="address" label="会议地址"></el-table-column> |
|||
<el-table-column prop="sponsor" label="主办单位"></el-table-column> |
|||
<el-table-column prop="organizer" label="承办单位"></el-table-column> |
|||
<el-table-column prop="coOrganizer" label="协办单位"></el-table-column> |
|||
<el-table-column label="操作" width="200"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="text" size="small" @click="editMeet(scope.row.id)"><i class="el-icon-edit"></i>修改</el-button> |
|||
<el-button type="text" size="small" @click="deleteMeet(scope.row.id)"><i class="el-icon-delete"></i>移除</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<el-pagination |
|||
background |
|||
@size-change="handleSizeChange" |
|||
@current-change="handleCurrentChange" |
|||
:current-page="currentPage" |
|||
:page-sizes="[10, 20, 50, 100]" |
|||
:page-size="pageSize" |
|||
layout="total, prev, pager, next, sizes, jumper" |
|||
:total="total"> |
|||
</el-pagination> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import { getMeetingList , deleteMeeting} from "@/api/meeting" |
|||
export default { |
|||
name: "meetingManage", |
|||
data() { |
|||
return { |
|||
formSearch: {//模糊搜索 |
|||
name: '' |
|||
}, |
|||
currentPage: 1, //当前页 |
|||
pageSize: 10, //每页条数 |
|||
total: 0, //总条数 |
|||
tableData: [], //表格数据 |
|||
companyList:[] |
|||
}; |
|||
}, |
|||
mounted() { |
|||
this.initData() |
|||
}, |
|||
methods: { |
|||
//搜索查询 |
|||
search() { |
|||
this.currentPage = 1 |
|||
this.initData() |
|||
}, |
|||
//获取用户列表 |
|||
initData() { |
|||
const params = { |
|||
pageNum: this.currentPage, |
|||
pageSize: this.pageSize, |
|||
search:{ |
|||
title: this.formSearch.name.trim() |
|||
}, |
|||
sort:'' |
|||
} |
|||
getMeetingList(params).then(res => { |
|||
this.tableData = res.data.list |
|||
this.total = res.data.count |
|||
}) |
|||
}, |
|||
addMeeting(){ |
|||
this.$router.push({name: 'meetingDetail'}) |
|||
}, |
|||
//修改 |
|||
editMeet(id) { |
|||
this.$router.push({name: 'meetingDetail', query: {id: id}}) |
|||
}, |
|||
//根据ID删除 |
|||
deleteMeet(id) { |
|||
this.$confirm('此操作将删除该文章, 是否继续?', '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
deleteMeeting([id]).then(res => { |
|||
this.$message({ |
|||
message: '删除成功!', |
|||
type: 'success' |
|||
}); |
|||
this.initData() |
|||
}) |
|||
}).catch(() => { |
|||
this.$message({ |
|||
type: 'info', |
|||
message: '已取消删除' |
|||
}); |
|||
}); |
|||
}, |
|||
//每页条数变化 |
|||
handleSizeChange(val) { |
|||
this.pageSize = val |
|||
this.initData() |
|||
}, |
|||
//当前页变化 |
|||
handleCurrentChange(val) { |
|||
this.currentPage = val |
|||
this.initData() |
|||
} |
|||
|
|||
} |
|||
}; |
|||
</script> |
|||
<style rel="stylesheet/scss" lang="scss" scoped> |
|||
.input-with-select { |
|||
float: left; |
|||
top: 10px; |
|||
} |
|||
|
|||
.el-input { |
|||
width: 230px; |
|||
} |
|||
</style> |
@ -0,0 +1,265 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<el-form :model="form" :rules="rules" ref="ruleForm"> |
|||
<el-row> |
|||
<el-col :span="11" style="padding-right:30px;"> |
|||
<el-form-item label="会议名称:" :label-width="formLabelWidth" prop="title"> |
|||
<el-input v-model="form.title" autocomplete="off" placeholder="请输入会议名称"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="会议类型:" :label-width="formLabelWidth" prop="type"> |
|||
<el-select v-model="form.type" placeholder="请选择会议类型"> |
|||
<el-option label="食品工业互联网大会" :value="1"></el-option> |
|||
<el-option label="食品工业转型升级论坛" :value="2"></el-option> |
|||
<el-option label="线上会议沙龙" :value="3"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="会议日期:" :label-width="formLabelWidth" prop="time"> |
|||
<el-date-picker |
|||
v-model="form.time" |
|||
type="daterange" |
|||
value-format="yyyy-MM-dd" |
|||
range-separator="至" |
|||
start-placeholder="开始日期" |
|||
end-placeholder="结束日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="参会类型:" :label-width="formLabelWidth" prop="confereeType"> |
|||
<el-select v-model="form.confereeType" placeholder="请选择参会类型"> |
|||
<el-option label="所有人" :value="0"></el-option> |
|||
<el-option label="仅限会员" :value="1"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="会议日程:" :label-width="formLabelWidth" prop="schedule"> |
|||
<el-input v-model="form.schedule" autocomplete="off" placeholder="请输入会议日程"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="会议地址:" :label-width="formLabelWidth" prop="address"> |
|||
<el-input v-model="form.address" autocomplete="off" placeholder="请输入会议地址"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="主办单位:" :label-width="formLabelWidth" prop="sponsor"> |
|||
<el-input v-model="form.sponsor" autocomplete="off" placeholder="请输入主办单位"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="承办单位:" :label-width="formLabelWidth" prop="organizer"> |
|||
<el-input v-model="form.organizer" autocomplete="off" placeholder="请输入承办单位"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="协办单位:" :label-width="formLabelWidth" prop="coOrganizer"> |
|||
<el-input v-model="form.coOrganizer" autocomplete="off" placeholder="请输入协办单位"></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="11"> |
|||
<el-form-item label="免费提醒:" :label-width="formLabelWidth" prop="freeRemind"> |
|||
<el-input v-model="form.freeRemind" autocomplete="off" placeholder="请输入免费提醒"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="费用说明:" :label-width="formLabelWidth" prop="feeDescription"> |
|||
<el-input v-model="form.feeDescription" autocomplete="off" placeholder="请输入费用说明"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="费用权益:" :label-width="formLabelWidth" prop="costEquity"> |
|||
<el-input v-model="form.costEquity" autocomplete="off" placeholder="请输入费用权益"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="会刊填报方式:" :label-width="formLabelWidth" prop="registrationWay"> |
|||
<el-input v-model="form.registrationWay" autocomplete="off" placeholder="请输入会刊填报方式"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="汇款账户:" :label-width="formLabelWidth" prop="remittancesAccount"> |
|||
<el-input v-model="form.remittancesAccount" autocomplete="off" placeholder="请输入汇款账户"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="关于发票:" :label-width="formLabelWidth" prop="aboutInvoice"> |
|||
<el-input v-model="form.aboutInvoice" autocomplete="off" placeholder="请输入关于发票"></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="form-footer"> |
|||
<el-button type="primary" size="mini" @click="submitForm('ruleForm')">确定</el-button> |
|||
<el-button type="info" size="mini" @click="resetForm('ruleForm')">返回</el-button> |
|||
</div> |
|||
</el-form> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import {addMeeting,editMeeting,getMeetingById} from "@/api/meeting" |
|||
export default { |
|||
name: 'meetingDetail', |
|||
data() { |
|||
return { |
|||
ID: this.$route.query.id || '', //修改公告所传的id |
|||
isEdit: false, //添加 or 修改 |
|||
formLabelWidth: '180px', //form的lable宽度 |
|||
form: { //form表单 |
|||
title: '', |
|||
type:'', |
|||
time:'', |
|||
startTime:'', |
|||
endTime:'', |
|||
confereeType: '', |
|||
schedule: '', |
|||
address: '', |
|||
sponsor:'', |
|||
organizer:'', |
|||
coOrganizer: '', |
|||
|
|||
freeRemind:'', |
|||
feeDescription:'', |
|||
costEquity:"", |
|||
registrationWay:'', |
|||
remittancesAccount:'', |
|||
aboutInvoice:'', |
|||
}, |
|||
rules: { //form校验规则 |
|||
title: [ |
|||
{required: true, message: '请输入标题', trigger: 'blur'} |
|||
], |
|||
type: [ |
|||
{required: true, message: '请选择会议类型', trigger: 'click'} |
|||
], |
|||
time: [ |
|||
{required: true, message: '请选择会议日期', trigger: 'click'} |
|||
], |
|||
confereeType: [ |
|||
{required: true, message: '请选择公告类别', trigger: 'click'} |
|||
], |
|||
schedule: [ |
|||
{required: true, message: '请输入会议日程', trigger: 'blur'} |
|||
], |
|||
address: [ |
|||
{required: true, message: '请输入会议地址', trigger: 'blur'} |
|||
], |
|||
sponsor: [ |
|||
{required: true, message: '请输入主办单位', trigger: 'blur'} |
|||
], |
|||
organizer: [ |
|||
{required: true, message: '请输入承办单位', trigger: 'blur'} |
|||
], |
|||
coOrganizer: [ |
|||
{required: true, message: '请输入协办单位', trigger: 'blur'} |
|||
], |
|||
} |
|||
} |
|||
}, |
|||
mounted() { |
|||
//存在id即为修改公告 |
|||
if (this.ID != '') { |
|||
this.isEdit = true |
|||
this.initData() |
|||
} |
|||
}, |
|||
methods: { |
|||
//根据id获取公告详情 |
|||
initData() { |
|||
getMeetingById(this.ID).then(res => { |
|||
if (res.data) { |
|||
this.form = res.data |
|||
this.form.time = [res.data.startTime,res.data.endTime] |
|||
} |
|||
}) |
|||
}, |
|||
//发送添加请求 |
|||
addMeetingInfo() { |
|||
let params = JSON.parse(JSON.stringify(this.form)) |
|||
params.startTime = params.time[0] |
|||
params.endTime = params.time[0] |
|||
delete(params.time) |
|||
addMeeting(params).then(res => { |
|||
this.$message({ |
|||
message: '添加成功!', |
|||
type: 'success' |
|||
}); |
|||
this.$router.go(-1) |
|||
}) |
|||
}, |
|||
//发送修改请求 |
|||
editMeet() { |
|||
let params = JSON.parse(JSON.stringify(this.form)) |
|||
params.startTime = params.time[0] |
|||
params.endTime = params.time[0] |
|||
delete(params.time) |
|||
editMeeting(params).then(res => { |
|||
this.$message({ |
|||
message: '修改成功!', |
|||
type: 'success' |
|||
}); |
|||
this.$router.go(-1) |
|||
}) |
|||
}, |
|||
//点击确定,触发form规则校验 |
|||
submitForm(formName) { |
|||
this.$refs[formName].validate((valid) => { |
|||
if (valid) { |
|||
if (this.isEdit) { //修改 |
|||
this.editMeet() |
|||
} else { //添加 |
|||
this.addMeetingInfo() |
|||
} |
|||
|
|||
} else { |
|||
console.log('error submit!!'); |
|||
return false; |
|||
} |
|||
}); |
|||
}, |
|||
//返回按钮,先清空表单在返回 |
|||
resetForm(formName) { |
|||
this.$refs[formName].resetFields(); |
|||
this.$router.go(-1) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style rel="stylesheet/scss" lang="scss" scoped> |
|||
.el-select, .el-date-editor--daterange.el-input__inner { |
|||
width: 303px; |
|||
} |
|||
|
|||
.el-input { |
|||
width: 303px !important; |
|||
} |
|||
|
|||
.form-footer { |
|||
text-align: center; |
|||
} |
|||
</style> |
|||
<style lang="scss"> |
|||
.ql-editor { |
|||
min-height: 350px !important; |
|||
} |
|||
|
|||
.edui-default .edui-toolbar { |
|||
line-height: 20px; |
|||
} |
|||
.ql-container.ql-snow { |
|||
height: 700px; |
|||
} |
|||
</style> |
|||
<style lang="scss"> |
|||
.quill-editor { |
|||
/*工具栏内用*/ |
|||
.ql-font { |
|||
span[data-value="Arial"]::before { |
|||
content: "Arial" !important; |
|||
font-family: "Arial"; |
|||
} |
|||
span[data-value="宋体"]::before { |
|||
content: "宋体" !important; |
|||
font-family: "宋体"; |
|||
} |
|||
span[data-value="黑体"]::before { |
|||
content: "黑体" !important; |
|||
font-family: "黑体"; |
|||
} |
|||
span[data-value="微软雅黑"]::before { |
|||
content: "微软雅黑" !important; |
|||
font-family: "微软雅黑"; |
|||
} |
|||
} |
|||
/*编辑器内容用*/ |
|||
.ql-font-Arial { |
|||
font-family: "Arial"; |
|||
} |
|||
.ql-font-宋体 { |
|||
font-family: "宋体"; |
|||
} |
|||
.ql-font-黑体 { |
|||
font-family: "黑体"; |
|||
} |
|||
.ql-font-微软雅黑 { |
|||
font-family: "微软雅黑"; |
|||
} |
|||
} |
|||
</style> |
Loading…
Reference in new issue