Browse Source

bug

feature
是小王呀\24601 1 year ago
parent
commit
e38a011041
  1. 31
      src/views/modules/volunteer/VolManage/activeRecord.vue
  2. 4
      src/views/modules/volunteer/VolManage/index.vue
  3. 28
      src/views/modules/volunteer/activityArchive/Points.vue
  4. 257
      src/views/modules/volunteer/activityArchive/add.vue
  5. 19
      src/views/modules/volunteer/activityArchive/index.vue
  6. 1049
      src/views/modules/volunteer/activityArchive/select.vue
  7. 3
      src/views/modules/volunteer/pointsRedemption/Select.vue
  8. 104
      src/views/modules/volunteer/pointsRedemption/add.vue
  9. 44
      src/views/modules/volunteer/pointsRedemption/record.vue
  10. 180
      src/views/modules/volunteer/pointsRedemption/update.vue

31
src/views/modules/volunteer/VolManage/activeRecord.vue

@ -1,7 +1,7 @@
<template>
<div class="g-main ">
<div class="flex flex-mean m-bottom10" >
<div class="flex flex-center1 flex-center2 ">
<div class="">
<!-- <div class="flex flex-center1 flex-center2 ">
<div>活动查询</div>
<el-input placeholder="请输入内容" v-model="SearchForm.content" style="width: 200px" clearable>
</el-input>
@ -12,20 +12,33 @@
<el-option v-for="item in optionsStatus" :key="item.value" :label="item.label" :value="item.value" >
</el-option>
</el-select>
</div>
<div>
<el-button type="primary" @click="handleSearch">查询</el-button>
</div>
</div> -->
<el-form :inline="true" :model="SearchForm" class="demo-form-inline" style="">
<el-form-item label="活动查询">
<el-input placeholder="请输入内容" v-model="SearchForm.content" style="width: 150px" clearable>
</el-input>
</el-form-item>
<el-form-item label="状态" label-width="80px">
<el-select v-model="SearchForm.Stutas" placeholder="请选择" clearable>
<el-option v-for="item in optionsStatus" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-button type="primary" @click="handleSearch" style="margin-left: 50px;">查询</el-button>
</el-form>
</div>
<div class="m-bot50">
<el-table class="table" :data="tableData" border style="width: 700px">
<el-table-column label="序号" width="80" header-align="center" align="center" type="index"></el-table-column>
<el-table-column prop="agencyName" header-align="center" align="center" label="主办方">
</el-table-column>
<el-table-column prop="address" header-align="center" align="center" label="活动地点">
</el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="活动标题">
</el-table-column>
@ -98,7 +111,7 @@ export default {
pageSize:this.pageSize,
pageNo:this.pageNo,
userId:this.fmData.userId,
content:this.SearchForm.content,
searchContent:this.SearchForm.content,
signFlag:this.SearchForm.Stutas
}

4
src/views/modules/volunteer/VolManage/index.vue

@ -6,8 +6,8 @@
<el-form-item label="姓名">
<el-input v-model.trim="formData.name" size="small" class="item_width_1" clearable placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="手机号">
</el-form-item>
<el-form-item label="">
<el-input v-model.trim="formData.mobile" size="small" class="item_width_1" clearable
placeholder="请输入"></el-input>
</el-form-item>

28
src/views/modules/volunteer/activityArchive/Points.vue

@ -1,7 +1,7 @@
<template>
<div class="g-main" style="padding: 30px;">
<div class="f-flex" style="justify-content: space-around; margin-bottom: 20px;">
<div class="f-flex" style="align-items: center;">
<!-- <div class="f-flex" style="align-items: center;">
<div>是否发放积分</div>
<el-select v-model="formData.whether" placeholder="请选择" clearable >
<el-option v-for="item in formData.options" :key="item.value" :label="item.label" :value="item.value">
@ -21,7 +21,27 @@
</div>
<div>
<el-button type="primary" @click="handleSearch">查询</el-button>
</div>
</div> -->
<el-form :inline="true" :model="searchData" class="demo-form-inline" style="" >
<el-form-item label="姓名">
<el-input placeholder="请输入内容" v-model="searchData.redeemerName" style="width: 150px" clearable>
</el-input>
</el-form-item>
<el-form-item label="手机号" label-width="80px">
<el-input placeholder="请输入内容" v-model="searchData.redeemerMobile" style="width: 150px" clearable>
</el-input>
</el-form-item>
<el-form-item label="兑换时间选择" label-width="120px">
<el-date-picker v-model="searchData.redeemTimeFrom" type="datetime" placeholder="开始时间"
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" style="width: 150px">
</el-date-picker> <el-date-picker v-model="searchData.redeemTimeTo" type="datetime"
placeholder="结束时间" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" style="width: 150px">
</el-date-picker>
</el-form-item>
<div style="display: flex; justify-content: flex-end; margin:10px 0 20px 0;">
<el-button type="primary" @click="handleSeach" style="margin: 20rpx;">查询</el-button>
</div>
</el-form>
</div>
<div>
<el-table :data="tableData" border>
@ -118,8 +138,8 @@ export default {
name:this.formData.name,
pageSize:this.pageSize,
mobile:this.formData.mobile,
// activityId:this.list.id,
activityId:"1826111922849996802",
activityId:this.list.id,
// activityId:"1826111922849996802",
}
requestGet(url, params).then((res) => {
if (res.code == 0) {

257
src/views/modules/volunteer/activityArchive/add.vue

@ -2,63 +2,63 @@
<div>
<div class="dialog-h-content scroll-h"
style="display: flex; flex-direction: row; justify-content:space-between; padding: 20px;">
<div style="width: 49%; ">
<el-form ref="ref_form" :inline="true" :model="formData" class="form">
<el-form-item label="主办方" prop="agencyId">
<el-cascader class="list_item_width_1" ref="myCascader" clearable size="small"
<div style="width: 48%; ">
<el-form ref="ref_form" :inline="true" :model="formData" class="form" label-width="90px" :rules="rules" >
<el-form-item label="主办方" prop="agencyId" required>
<el-cascader class="list_item_width_1" ref="myCascader" clearable style="width: 300px;"
v-model.trim="formData.agencyId" :options="orgOptions" :props="orgOptionProps"
@change="handleChangeAgency"></el-cascader>
</el-form-item>
<el-form-item label="活动标题" prop="title">
<el-input type="textarea" placeholder="请输入活动标题,不超过50子" v-model="formData.title" maxlength="50"
<el-form-item label="活动标题" prop="title" required>
<el-input type="textarea" style="width: 300px;" placeholder="请输入活动标题,不超过50子" v-model="formData.title" maxlength="50"
show-word-limit>
</el-input>
</el-form-item>
<el-form-item label="活动详情" prop="content" style="display: block">
<div class="item_width_1">
<Tinymce class="tinymce_view " v-model.trim="formData.content" :height="250" placeholder="请输入活动内容" />
<el-form-item label="活动详情" prop="content" style="display: block" required>
<div style="width: 300px;">
<Tinymce class="tinymce_view " v-model.trim="formData.content" :height="150" placeholder="请输入活动内容" />
</div>
</el-form-item>
<el-form-item label="照片" prop="activityImgs">
<div>
<el-upload :headers="$getElUploadHeaders()" class="avatar-uploader" :action="uploadUrl"
<el-form-item label="照片" prop="activityImgs" required>
<div >
<el-upload :headers="$getElUploadHeaders()" class="avatar-uploader" :action="uploadUrl"
:show-file-list="true" :data="{ customerId: customerId }" :file-list="formData.activityImgs"
:on-preview="handleImgPreview" :on-success="handleImgSuccess" :on-remove="handleImgRemove"
:on-exceed="handleImgExceed" :before-upload="beforeImgUpload" list-type="picture-card" :limit="1">
<i class="el-icon-plus avatar-uploader-icon"></i> </el-upload>
<i class="el-icon-plus avatar-uploader-icon" style="width: 50px;height: 50px;"></i> </el-upload>
</div>
</el-form-item>
<el-form-item label="活动时间" prop="activeTime">
<el-form-item label="活动时间" prop="strTime" required >
<el-date-picker v-model="formData.strTime" type="datetime" placeholder="开始时间" format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss">
value-format="yyyy-MM-dd HH:mm:ss" style="width: 150px;">
</el-date-picker> <el-date-picker v-model="formData.endTime" type="datetime" placeholder=""
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss">
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"style="width: 150px;"@change="actcontrolTime">
</el-date-picker>
</el-form-item>
<el-form-item label="活动名额" prop="points">
<el-form-item label="活动名额" prop="points" required>
<div style="display: flex; flex-direction: column;">
<el-input-number :disabled="formData.notQuota === '0'" v-model.trim="formData.quota" :max="10"
label="描述文字"></el-input-number>
<el-input-number :disabled="formData.notQuota === '0'" v-model.trim="formData.quota"
label="描述文字" type="number"></el-input-number>
<el-radio style="margin-top: 20px;" v-model="formData.notQuota" label="0">不限名额</el-radio>
</div>
</el-form-item>
<el-form-item label="活动类型" prop="type" required>
<el-select v-model.trim="formData.type" placeholder="请选择" clearable>
<el-select v-model.trim="formData.type" placeholder="请选择" clearable style="width: 300px;">
<el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label=" 联系人" prop="contacts">
<el-input v-model="formData.linkman" placeholder="请输入"></el-input>
<el-form-item label=" 联系人" prop="linkman" required >
<el-input v-model="formData.linkman" placeholder="请输入" style="width: 300px;"></el-input>
</el-form-item>
<el-form-item label=" 联系电话" prop="phone">
<el-input v-model="formData.linkMobile" placeholder="请输入"></el-input>
<el-form-item label=" 联系电话" prop="linkMobile" required>
<el-input v-model="formData.linkMobile" placeholder="请输入"style="width: 300px;"></el-input>
</el-form-item>
</el-form>
</div>
<div style="width: 49%;">
<el-form ref="ref_form" :inline="true" :model="formData" class="form">
<div style="width: 48%;">
<el-form ref="ref_form" :inline="true" :model="formData" class="form" label-width="115px">
<div>
<el-form-item label="活动积分" prop="integral">
<el-input-number v-model="formData.points" :min="1" :max="10"
@ -73,21 +73,20 @@
</el-select>
</el-form-item> -->
<el-form-item label="报名条件" prop="conditions" style="display: block">
<div class="item_width_1">
<el-input type="textarea" placeholder="请输入活动标题,不超过50子" v-model="formData.conditions" maxlength="200"
show-word-limit>
show-word-limit style="width: 300px;">
</el-input>
</div>
</el-form-item>
<el-form-item label="签到时间" prop="Checktime">
<el-form-item label="签到时间" prop="signInTime" required>
<el-date-picker v-model.trim="formData.signInTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss" placeholder="请选择签到时间" style="width:280px">
format="yyyy-MM-dd HH:mm:ss" placeholder="开始时间" style="width:150px">
</el-date-picker>
<el-date-picker v-model.trim="formData.signOutTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss" placeholder="请选择签到时间" style="width:280px">
format="yyyy-MM-dd HH:mm:ss" placeholder="结束时间" style="width:150px" @change="controlTime ">
</el-date-picker>
</el-form-item>
<el-form-item label="报名截止时间" prop="deadline">
<el-form-item label="报名截止时间" prop="deadline" required>
<el-date-picker v-model="formData.deadline" type="datetime" placeholder="选择日期时间"
value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
@ -98,26 +97,24 @@
@change="handleSwitchChange"></el-switch>
</el-form-item>
</div>
<!-- <el-form-item label="赞助单位" prop="sponsor">
<div style="display: flex; align-items: center">
<el-input v-model="input" placeholder="请输入"></el-input>
<i class="el-icon-circle-plus" style="width: 50px;"></i>
</div>
</el-form-item>
<el-form-item label=" 联系电话" prop="number">
<el-input v-model="input" placeholder="请输入"></el-input>
</el-form-item> -->
<el-form-item label="活动地点" prop="address" style="display: block">
<div style="width: 500px">
<el-select v-model.trim="searchValue" filterable style="width: 400px" remote
<el-form-item label="赞助单位" prop="sponsor" style="margin-bottom:20px" label-width="110px">
<el-input v-model="tableDate.name" placeholder="请输入" style="width: 300px;"></el-input>
</el-form-item>
<el-form-item label="联系电话" prop="sponsor" >
<el-input v-model="tableDate.phone" placeholder="请输入" style="width: 300px;"></el-input>
</el-form-item>
<!-- <i class="el-icon-circle-plus" @click="addDomain" style="font-size: 20px;"></i> -->
<el-form-item label="活动地点" prop="searchValue" >
<div style="width: 300px">
<el-select v-model.trim="searchValue" filterable style="width: 300px" remote
:reserve-keyword="true" placeholder="请输入关键词" :remote-method="remoteMethod"
:loading="loading">
<el-option v-for="(item, index) in searchOptions" @click.native="handleClickKey(index)" style="width: 400px;"
:key="item.value || index" :label="item.label" :value="item.value">
</el-option>
</el-select>
<div id="app_activity" class="div_map"></div>
<div id="app_activity" class="div_map"></div>
</div>
</el-form-item>
</el-form>
@ -187,14 +184,6 @@ export default {
type:"",
online:0,
sponsors:[
{
"name":"赞助1",
"phone":"13111111111"
},
{
"name":"赞助2",
"phone":"13122222222"
}
]
},
@ -212,7 +201,32 @@ export default {
],
fileList: [],
uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadvariedfile',
tableDate:{},
rules: {
linkMobile: [
{ required: true, message: '联系电话不能为空', trigger: 'blur' },
{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号码', trigger: 'blur' }
],
title: [
{ required: true, message: '活动标题不能为空', trigger: 'blur' },
],
content: [
{ required: true, message: '活动详情不能为空', trigger: 'blur' },
],
type: [
{ required: true, message: '活动类型不能为空', trigger: 'blur' },
],
linkman: [
{ required: true, message: '联系人不能为空', trigger: 'blur' },
],
signInTime: [
{ required: true, message: '签到时间不能为空', trigger: 'blur' },
],
deadline: [
{ required: true, message: '活动报名时间不能为空', trigger: 'blur' },
],
}
}
},
watch: {
@ -227,7 +241,7 @@ export default {
}
},
components: { fileList,Tinymce,UploadImage},
async mounted () {
mounted () {
// this.startLoading()
// await this.loadInfo()
// this.endLoading()
@ -235,7 +249,106 @@ export default {
},
methods: {
//
actcontrolTime(){
console.log("dislfj");
if(this.formData.strTime>this.formData.endTime){
this.$message.error('活动结束时间不能在活动开始时间之前');
this.formData.endTime=''
return
}
},
//
controlTime(){
console.log("dislfj");
if(this.formData.signInTime>this.formData.signOutTime){
this.$message.error('签到开始时间不能在签到结束时间之后');
this.formData.signOutTime=''
return
}
},
//
async handleComfirm() {
console.log(this.tableDate);
this.formData.sponsors.push(this.tableDate);
console.log(this.formData,"this,formD");
if (this.formData.address == '') {
this.$message.error('请输入活动地点');
return;
}
if (this.formData.agencyId == '') {
this.$message.error('请选择主办方');
return;
}
if (this.formData.title == '') {
this.$message.error('请输入活动标题');
return;
}
if (this.formData.content == '') {
this.$message.error('请输入活动详情');
return;
}
// if (this.formData.imgs == '') {
// this.$message.error('');
// return;
// }
if (this.formData.strTime == '') {
this.$message.error('请填写活动开始时间');
return;
}
if (this.formData.endTime == '') {
this.$message.error('请填写活动结束时间');
return;
}
if (this.formData.type=='') {
this.$message.error('请填写活动和类型');
return;
}
if (this.formData.linkman=='') {
this.$message.error('请填写联系人');
return;
}
if (this.formData.linkMobile=='') {
this.$message.error('请填写联系电话');
return;
}
if (this.formData.signInTime=='') {
this.$message.error('请填写签到开始时间');
return;
}
if (this.formData.signOutTime=='') {
this.$message.error('请填写签到结束时间');
return;
}
if (this.formData.deadline=='') {
this.$message.error('请填写报名截止时间');
return;
}
let url="/voluntary/activityInfo/saveInfo";
let parms={
...this.formData
}
console.log(parms,"parms");
await requestPost(url,parms).then((res)=>{
console.log(res,"res");
if (res.code==0) {
this.$message.success('添加成功');
this.$emit('AddClose')
// this.$router.push({path:'/volunteer/activityArchive'})
}else{
this.$message.error(res.msg);
}
})
},
addDomain() {
console.log(this.formData.sponsors,this.tableDate,);
this.formData.sponsors.push(this.tableDate);
console.log(this.formData.sponsors,this.tableDate,);
},
handleClickKey(index) {
let selPosition = this.resultList[index]
let lonlat = selPosition.lonlat.split(" ")
@ -396,20 +509,7 @@ export default {
console.log(val);
this.formData.agencyId = val
},
//
handleComfirm() {
console.log(this.formData,"this,formD");
let url="/voluntary/activityInfo/ ";
let parms={
...this.formData
}
console.log(parms,"parms");
requestPost(url,parms).then((res)=>{
console.log(res,"res");
})
},
//
removedImg() {
this.formData.imgs = ''
@ -456,8 +556,9 @@ export default {
})
},
handleCancle () {
this.$emit('diaDetailClose')
console.log( "kdsljk");
this.$emit('AddClose')
},
//
@ -488,17 +589,15 @@ export default {
type: String,
required: ''
},
list:{
type: Object,
default: () => {}
}
}
}
</script>
<style lang="scss" scoped>
.div_map{
width: 400px;
width: 300px;
margin-top: 10px;
}
.div_btn1{
display: flex;

19
src/views/modules/volunteer/activityArchive/index.vue

@ -4,7 +4,7 @@
<el-form :inline="true" ref="ref_searchform" :label-width="'100px'">
<div>
<el-form-item label="活动标题">
<el-input v-model.trim="formData.content" size="small" class="item_width_1" clearable placeholder="请输入">
<el-input v-model.trim="formData.content" class="item_width_1" clearable placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="活动时间">
@ -88,8 +88,8 @@
</el-pagination>
</div>
<el-dialog :visible.sync="add" :close-on-click-modal="false" :close-on-press-escape="false" title="新增"
width="1000px" top="10vh" class="dialog-h" @closed="diaClose">
<add v-if="add" :list="fmData" />
width="1000px" top="10vh" class="dialog-h" @closed="AddClose">
<add v-if="add" :list="fmData" @AddClose="AddClose" />
</el-dialog>
<el-dialog :visible.sync="showselect" :close-on-click-modal="false" :close-on-press-escape="false" title="修改"
width="1000px" top="10vh" class="dialog-h" @closed="diaClose">
@ -173,7 +173,12 @@
this.getTableData();
},
methods: {
//
// AddClose(){
// this.Record=false
// this.integral=false
// this.getTableData()
// },
//线
handleupOnline(row){
console.log(row,"row");
@ -298,6 +303,12 @@
diaClose(){
this.formShow=false
},
AddClose(){
console.log("sdkjksd");
this.add=false
this.getTableData()
},
resetSearch(){
this.formData=[]
},

1049
src/views/modules/volunteer/activityArchive/select.vue

File diff suppressed because it is too large

3
src/views/modules/volunteer/pointsRedemption/Select.vue

@ -14,7 +14,8 @@
{{ tableData.points}}
</el-form-item>
<el-form-item label="有效期至">
{{ tableData.expireTime}}
{{ tableData.expireTime }}
</el-form-item>
<el-form-item label="兑换地点">
{{ tableData.redeemerOrgName}}

104
src/views/modules/volunteer/pointsRedemption/add.vue

@ -1,6 +1,6 @@
<template>
<div class="g-main">
<el-form :inline="true" :label-position="labelPosition" :model="tableData"
<el-form :inline="true" :label-position="labelPosition" :model="formData" :rules="rules"
style="height: 500px; overflow: scroll;">
<el-form-item label="分类" required label-width="150px">
<el-select class="item_width_1" v-model="formData.classKey" placeholder="请选择">
@ -34,42 +34,45 @@
<el-input class="item_width_2" v-model="formData.points" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="有效期至" label-width="150px">
<el-date-picker style="width: 250px;" v-model="formData.expireTime" type="datetime" placeholder="请选择日期" format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss">
<el-date-picker style="width: 250px;" v-model="formData.expireTime" type="datetime" placeholder="请选择日期"
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</el-form-item>
<el-form-item label="规则说明" label-width="150px">
<Tinymce style="width: 560px;" class="tinymce_view" v-model="formData.description" :height="250"
placeholder="请输入活动内容" />
</el-form-item>
<el-form-item label="库存" label-width="150px">
<el-radio v-model="radio" label="1">不限数目</el-radio>
<div class="flex flex-x">
<el-radio v-model="radio" label="2">自定义</el-radio>
<el-input v-if="radio=='2'" v-model="formData.stockQty" placeholder="请输入数量"></el-input>
<el-form-item label="库存" label-width="150px" >
<div style="width:195px;;">
<el-radio v-model="radio" label="1" style="margin-right:20px">不限数目</el-radio>
<div class="flex flex-x flex-center2" >
<el-radio v-model="radio" label="2" style="margin-right: 10px;">自定义</el-radio>
<el-input v-if="radio == '2'" type="number" v-model="formData.stockQty" placeholder="请输入数量"></el-input>
</div>
</div>
</el-form-item>
<el-form-item label="发布范围" label-width="150px">
<el-cascader class="list_item_width_1" ref="myCascader" clearable size="small"
<el-form-item label="发布范围" label-width="150px" required>
<el-cascader class="list_item_width_1" ref="myCascader" clearable size="small" style="width:210px ;"
v-model.trim="formData.redeemerOrgId" :options="orgOptions" :props="orgOptionProps"
@change="handleChangeAgency"></el-cascader>
</el-form-item>
<el-form-item label="赞助单位" label-width="150px">
<el-form-item label="赞助单位" label-width="150px" >
<el-input v-model="formData.sponsorName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="联系电话" label-width="150px">
<el-form-item label="联系电话" label-width="150px"prop="sponsorMobile" >
<el-input style="width: 210px;" v-model="formData.sponsorMobile" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="上架" label-width="150px" inline="false">
<el-switch style="width: 500px;" v-model="formData.shelveStatus" active-color="#13ce66"
inactive-color="#ff4949" active-value="1" inactive-value="0">
<el-switch style="width: 500px;" v-model="formData.shelveStatus" active-color="#13ce66" inactive-color=""
active-value="1" inactive-value="0">
</el-switch>
</el-form-item>
</el-form>
<div class="flex flex-center1 flex-center2">
<el-button type="primary" @click="submitForm()">提交</el-button>
<el-button type="primary" @click="submitForm()">提交</el-button>
<el-button @click="handlecancel">取消</el-button>
</div>
</div>
@ -111,42 +114,23 @@ export default {
],
radio:'1',
orgOptions:[]
orgOptions:[],
rules: {
sponsorMobile: [
{ required: true, message: '联系电话不能为空', trigger: 'blur' },
{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号码', trigger: 'blur' }
]
}
};
},
props:{
list:{
type: Object,
default: () => {}
}
},
created() {
this.getclasses()
this.getOrgTreeList()
},
methods: {
//
async updateForm(){
console.log(this.formData,"formData");
const url = "/voluntary/pointsAward/admin/update";
let params = {
...this.formData
}
console.log(params,"formData");
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
console.log("列表请求成功!!!!!!!!!!!!!!");
this.TypeList=data
this.total = data.total || 0;
this.tableData = data.list
console.log(this.tableData,"this.tableData");
this.formData={}
this.$emit('closeDialog')
} else {
this.$message.error(msg || "列表请求失败");
}
},
//
getOrgTreeList() {
this.$http
@ -180,11 +164,6 @@ export default {
if (code === 0) {
console.log("列表请求成功!!!!!!!!!!!!!!");
this.TypeList=data
this.total = data.total || 0;
this.tableData = data.list
console.log(this.tableData,"this.tableData");
} else {
this.$message.error(msg || "列表请求失败");
}
@ -197,24 +176,33 @@ export default {
},
//
async submitForm(){
console.log(this.formData,"formData");
if (this.formData.classKey == '') {
this.$message.error('请选择分类');
return;
}
if (this.formData.awardName == '') {
this.$message.error('请输入标题');
return;
}
if (this.formData.points == '') {
this.$message.error('请输入积分');
return;
}
if (this.formData.redeemerOrgId == '') {
this.$message.error('请选择发布乏味');
return;
}
const url = "/voluntary/pointsAward/admin/add";
let params = {
...this.formData
}
console.log(params,"formData");
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
console.log("列表请求成功!!!!!!!!!!!!!!");
this.TypeList=data
this.total = data.total || 0;
this.tableData = data.list
console.log(this.tableData,"this.tableData");
this.formData={}
this.$emit('closeDialog')
} else {
this.$message.error(msg || "列表请求失败");
this.$message.error(msg || "提交失败");
}
}

44
src/views/modules/volunteer/pointsRedemption/record.vue

@ -1,7 +1,30 @@
<template>
<div class="g-main" style="padding: 30px;">
<div class="flex flex-wrap flex-end">
<div class="flex flex-center1 flex-center2 m-bottom10 " style="">
<div class="">
<el-form :inline="true" :model="searchData" class="demo-form-inline" style="" >
<el-form-item label="姓名">
<el-input placeholder="请输入内容" v-model="searchData.redeemerName" style="width: 150px" clearable>
</el-input>
</el-form-item>
<el-form-item label="手机号" label-width="80px">
<el-input placeholder="请输入内容" v-model="searchData.redeemerMobile" style="width: 150px" clearable>
</el-input>
</el-form-item>
<el-form-item label="兑换时间选择" label-width="120px">
<el-date-picker v-model="searchData.redeemTimeFrom" type="datetime" placeholder="开始时间"
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" style="width: 150px">
</el-date-picker> <el-date-picker v-model="searchData.redeemTimeTo" type="datetime"
placeholder="结束时间" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" style="width: 150px">
</el-date-picker>
</el-form-item>
<div style="display: flex; justify-content: flex-end; margin:10px 0 20px 0;">
<el-button type="primary" @click="handleSeach" style="margin: 20rpx;">查询</el-button>
</div>
</el-form>
<!-- <div class="flex flex-center1 flex-center2 m-bottom10 " style="">
<div>姓名</div>
<el-input placeholder="请输入内容" v-model="searchData.redeemerName" style="width: 200px" clearable>
</el-input>
@ -10,27 +33,27 @@
<div>手机号</div>
<el-input placeholder="请输入内容" v-model="searchData.redeemerMobile" style="width: 200px" clearable>
</el-input>
</div>
<div class="flex flex-center1 flex-center2 m-bottom10" style="">
</div> -->
<!-- <div class="flex flex-center1 flex-center2 m-bottom10" style="">
<div>状态</div>
<el-select v-model="searchData.StatusName" placeholder="请选择">
<el-option v-for="item in Status" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
<div class="flex flex-center1 flex-center2 m-bottom10" style="">
</div> -->
<!-- <div class="flex flex-center1 flex-center2 m-bottom10" style="">
<div>兑换时间选择</div>
<el-date-picker v-model="searchData.redeemTimeFrom" type="datetime" placeholder="开始时间"
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker> <el-date-picker v-model="searchData.redeemTimeTo" type="datetime" placeholder=""
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</div>
</div> -->
<!--
<div>
<el-button type="primary" class="m-bottom10" @click="handleSeach">查询</el-button>
</div>
</div> -->
</div>
<div>
<el-table :data="tableData" border>
@ -134,13 +157,10 @@ export default {
redeemTimeTo:this.searchData.redeemTimeTo,
pageSize:this.pageSize,
pageNo:this.pageNo
}
console.log(params,"params");
console.log(this.awardId,"awardId"
)
const { data, code, msg } = await requestGet(url, params)
if (code === 0) {
console.log("列表请求成功!!!!!!!!!!!!!!");

180
src/views/modules/volunteer/pointsRedemption/update.vue

@ -1,79 +1,82 @@
<template>
<div class="g-main">
<el-form :inline="true" :label-position="labelPosition" :model="tableData"
style="height: 500px; overflow: scroll;">
<el-form-item label="分类" required label-width="150px">
<el-select class="item_width_1" v-model="formData.classKey" placeholder="请选择">
<el-option v-for="item in TypeList" :key="item.classKey" :label="item.className" :value="item.classKey">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="标题" label-width="150px" required>
<el-input class="item_width_1" v-model="formData.awardName" placeholder="请输入内容"></el-input>
</el-form-item>
<el-form-item v-if="formData.classKey=='mjq' ||formData.classKey=='cxdjq'" required label="金额"
label-width="150px">
<div class="item_width_2" style="display: flex;">
<div></div>
<el-input v-model="formData.worthAmount" placeholder="请输入金额"></el-input>
</div>
</el-form-item>
<el-form-item :inline="true" required v-if="formData.classKey=='zkq'" label="折扣" label-width="150px">
<div class="item_width_2" style="display: flex;">
<el-input v-model="formData.worthAmount" placeholder="请输入折扣"></el-input>
<div> </div>
</div>
</el-form-item>
<el-form-item required v-if="formData.classKey=='hwjh'" label="原价" label-width="150px">
<div style="display: flex;">
<div></div>
<el-input v-model="formData.worthAmount" placeholder="请输入内容"></el-input>
</div>
</el-form-item>
<el-form-item required label="兑换积分" label-width="150px">
<el-input class="item_width_2" v-model="formData.points" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="有效期至" label-width="150px">
<el-date-picker style="width: 250px;" v-model="formData.expireTime" type="datetime" placeholder="请选择日期" format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</el-form-item>
<el-form-item label="规则说明" label-width="150px">
<Tinymce style="width: 560px;" class="tinymce_view" v-model="formData.description" :height="250"
placeholder="请输入活动内容" />
</el-form-item>
<el-form-item label="库存" label-width="150px">
<el-radio v-model="radio" label="1">不限数目</el-radio>
<div class="flex flex-x">
<el-radio v-model="radio" label="2">自定义</el-radio>
<el-input v-if="radio=='2'" v-model="formData.stockQty" placeholder="请输入数量"></el-input>
</div>
</el-form-item>
<el-form-item label="发布范围" label-width="150px">
<el-cascader class="list_item_width_1" ref="myCascader" clearable size="small"
v-model.trim="formData.redeemerOrgId" :options="orgOptions" :props="orgOptionProps"
@change="handleChangeAgency"></el-cascader>
</el-form-item>
<el-form-item label="赞助单位" label-width="150px">
<el-input v-model="formData.sponsorName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="联系电话" label-width="150px">
<el-input style="width: 210px;" v-model="formData.sponsorMobile" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="上架" label-width="150px" inline="false">
<el-switch style="width: 500px;" v-model="formData.shelveStatus" active-color="#13ce66"
inactive-color="#ff4949" active-value="1" inactive-value="0">
</el-switch>
</el-form-item>
</el-form>
<div class="flex flex-center1 flex-center2">
<el-button type="primary" @click="updateForm()">提交</el-button>
<el-button @click="handlecancel">取消</el-button>
</div>
</div>
</template>
<div class="g-main">
<el-form :inline="true" :label-position="labelPosition" :model="formData" :rules="rules"
style="height: 500px; overflow: scroll;">
<el-form-item label="分类" required label-width="150px">
<el-select class="item_width_1" v-model="formData.classKey" placeholder="请选择">
<el-option v-for="item in TypeList" :key="item.classKey" :label="item.className" :value="item.classKey">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="标题" label-width="150px" required>
<el-input class="item_width_1" v-model="formData.awardName" placeholder="请输入内容"></el-input>
</el-form-item>
<el-form-item v-if="formData.classKey=='mjq' ||formData.classKey=='cxdjq'" required label="金额"
label-width="150px">
<div class="item_width_2" style="display: flex;">
<div></div>
<el-input v-model="formData.worthAmount" placeholder="请输入金额"></el-input>
</div>
</el-form-item>
<el-form-item :inline="true" required v-if="formData.classKey=='zkq'" label="折扣" label-width="150px">
<div class="item_width_2" style="display: flex;">
<el-input v-model="formData.worthAmount" placeholder="请输入折扣"></el-input>
<div> </div>
</div>
</el-form-item>
<el-form-item required v-if="formData.classKey=='hwjh'" label="原价" label-width="150px">
<div style="display: flex;">
<div></div>
<el-input v-model="formData.worthAmount" placeholder="请输入内容"></el-input>
</div>
</el-form-item>
<el-form-item required label="兑换积分" label-width="150px">
<el-input class="item_width_2" v-model="formData.points" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="有效期至" label-width="150px">
<el-date-picker style="width: 250px;" v-model="formData.expireTime" type="datetime" placeholder="请选择日期"
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</el-form-item>
<el-form-item label="规则说明" label-width="150px">
<Tinymce style="width: 560px;" class="tinymce_view" v-model="formData.description" :height="250"
placeholder="请输入活动内容" />
</el-form-item>
<el-form-item label="库存" label-width="150px">
<div style="width:195px;;">
<el-radio v-model="radio" label="1" style="margin-right:20px">不限数目</el-radio>
<div class="flex flex-x flex-center2" >
<el-radio v-model="radio" label="2" style="margin-right: 10px;">自定义</el-radio>
<el-input v-if="radio == '2'" type="number" v-model="formData.stockQty" placeholder="请输入数量"></el-input>
</div>
</div>
</el-form-item>
<el-form-item label="发布范围" label-width="150px" required>
<el-cascader class="list_item_width_1" ref="myCascader" clearable size="small" style="width:210px ;"
v-model.trim="formData.redeemerOrgId" :options="orgOptions" :props="orgOptionProps"
@change="handleChangeAgency"></el-cascader>
</el-form-item>
<el-form-item label="赞助单位" label-width="150px" >
<el-input v-model="formData.sponsorName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="联系电话" label-width="150px"prop="sponsorMobile" >
<el-input style="width: 210px;" v-model="formData.sponsorMobile" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="上架" label-width="150px" inline="false">
<el-switch style="width: 500px;" v-model="formData.shelveStatus" active-color="#13ce66" inactive-color=""
active-value="1" inactive-value="0">
</el-switch>
</el-form-item>
</el-form>
<div class="flex flex-center1 flex-center2">
<el-button type="primary" @click="submitForm()">提交</el-button>
<el-button @click="handlecancel">取消</el-button>
</div>
</div>
</template>
<script>
import { requestPost,requestGet } from "@/js/dai/request";
import Tinymce from '@c/tinymce2/index.vue'
@ -111,7 +114,13 @@
],
radio:'1',
orgOptions:[]
orgOptions:[],
rules: {
sponsorMobile: [
{ required: true, message: '联系电话不能为空', trigger: 'blur' },
{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号码', trigger: 'blur' }
]
}
};
},
props:{
@ -230,9 +239,26 @@
},
//
async submitForm(){
if (this.formData.classKey == '') {
this.$message.error('请选择分类');
return;
}
if (this.formData.awardName == '') {
this.$message.error('请输入标题');
return;
}
if (this.formData.points == '') {
this.$message.error('请输入积分');
return;
}
if (this.formData.redeemerOrgId == '') {
this.$message.error('请选择发布乏味');
return;
}
console.log(this.formData,"formData");
const url = "/voluntary/pointsAward/admin/add";
const url = "/voluntary/pointsAward/admin/update";
let params = {
id:this.list.id,
...this.formData
}
console.log(params,"formData");

Loading…
Cancel
Save