Browse Source

核销功能

dlt_lingshan_12345
是小王呀\24601 12 months ago
parent
commit
e2309f7580
  1. 48
      src/views/modules/volunteer/activityArchive/Points.vue
  2. 118
      src/views/modules/volunteer/activityArchive/add.vue
  3. 161
      src/views/modules/volunteer/activityArchive/enclosure.vue
  4. 4
      src/views/modules/volunteer/activityArchive/index.vue
  5. 262
      src/views/modules/volunteer/activityArchive/select.vue
  6. 40
      src/views/modules/volunteer/pointsRedemption/record.vue

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

@ -1,27 +1,6 @@
<template>
<div class="g-main" style="padding: 30px;">
<div class="f-flex" style="">
<!-- <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">
</el-option>
</el-select>
</div>
<div class="f-flex" style="align-items: center;">
<div>姓名</div>
<el-input placeholder="请输入内容" v-model="formData.name" style="width: 200px" clearable>
</el-input>
</div>
<div class="f-flex" style="align-items: center;">
<div>手机号</div>
<el-input placeholder="请输入内容" v-model="formData.mobile" style="width: 200px" clearable>
</el-input>
</div>
<div>
<el-button type="primary" @click="handleSearch">查询</el-button>
</div> -->
<el-form :inline="true" :model="formData" class="demo-form-inline" style="">
<el-form-item label="是否发放积分">
<el-select v-model="formData.whether" placeholder="请选择" clearable>
@ -59,23 +38,23 @@
</el-table-column>
<el-table-column prop="points" header-align="center" align="center" label="积分">
</el-table-column>
<!-- <el-table-column label="附件" fixed="right" header-align="center" align="center" class="operate">
<template slot-scope="scope">
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row)">查看</el-button>
</template>
</el-table-column> -->
<el-table-column label="附件" fixed="right" header-align="center" align="center" class="operate">
<template slot-scope="scope">
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo"
:page-sizes="[10, 20, 50]" :page-size="pageSize" layout="sizes, prev, pager, next, total" :total="total">
</el-pagination>
<!-- <el-dialog :visible.sync="info" :close-on-click-modal="false" :close-on-press-escape="false" title="附件详情"
width="1000px" top="10vh" class="dialog-h" @closed="AddClose" >
<el-dialog :modal="false" :visible.sync="info" :close-on-click-modal="false" :close-on-press-escape="false" title="附件详情"
width="750px" top="15vh" class="dialog-h" >
<enclosure v-if="info" :list="fmData" @AddClose="AddClose" />
</el-dialog> -->
<enclosure v-if="info" :list="fmData" />
</el-dialog>
</div>
</div>
@ -83,12 +62,13 @@
</template>
<script>
import { requestPost,requestGet } from "@/js/dai/request";
// import enclosure from "./enclosure.vue";
import enclosure from "./enclosure.vue";
export default {
name: "see",
data() {
return {
info:false,
showadd:false,
searchData:[],
labelPosition: 'right',
@ -115,9 +95,9 @@ export default {
default: () => {}
}
},
// components:{
// enclosure
// },
components:{
enclosure
},
methods: {
handleDetail(row){
console.log(row,"row");

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

@ -5,29 +5,69 @@
<el-form ref="ref_form" :inline="true" :model="formData" class="form" label-width="120px" :rules="rules">
<el-row>
<el-col :span="12"> <el-form-item label="主办方" prop="agencyId" required>
<el-cascader class="list_item_width_1" ref="myCascader" clearable style="width: 250px;"
<el-cascader class="list_item_width_1" ref="myCascader" clearable style="width: 280px;"
v-model.trim="formData.agencyId" :options="orgOptions" :props="orgOptionProps"
@change="handleChangeAgency"></el-cascader>
</el-form-item>
</el-col>
<el-col :span="12"> <el-form-item label="活动类型" prop="type" required>
<el-select v-model.trim="formData.type" placeholder="请选择" clearable style="width: 250px">
<el-select v-model.trim="formData.type" placeholder="请选择" clearable style="width: 280px">
<el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="活动名额" prop="points" required>
<div style="display: flex; justify-items:center; align-items: center;">
<el-input-number :disabled="formData.notQuota == '0'" v-model.trim="formData.quota" :min="0"
label="描述文字" type="number"></el-input-number>
<el-checkbox style="margin-left: 20px;" v-model="checked">不限名额</el-checkbox>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="活动标题" prop="title" required>
<el-input placeholder="请输入活动标题" v-model="formData.title" style="width: 280px; "
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="活动积分" prop="integral" >
<el-input-number v-model="formData.points" :min="1" :max="10" label="描述文字"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报名截止时间" prop="deadline" required>
<el-date-picker v-model="formData.deadline" type="datetime" placeholder="选择日期时间" style="width: 280px;"
value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="活动时间" prop="strTime" required>
<!-- <el-date-picker
v-model="value1"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</div> -->
<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" style="width:195px">
</el-date-picker> <span style="margin: 0 10px"></span> <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"
style="width:195px" @change="actcontrolTime">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<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:195px">
@ -37,16 +77,26 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="活动标题" prop="title" required>
<el-input type="textarea" placeholder="请输入活动标题,不超过50子" :height="150" v-model="formData.title" style="width: 1005px; "
maxlength="50" show-word-limit>
</el-input>
<!-- <el-col :span="12">
<el-form-item label="活动名额" prop="points" required>
<div style="display: flex; justify-items:center; align-items: center;">
<el-input-number :disabled="formData.notQuota == '0'" v-model.trim="formData.quota" :min="0"
label="描述文字" type="number"></el-input-number>
<el-checkbox style="margin-left: 20px;" v-model="checked">不限名额</el-checkbox>
</div>
</el-form-item>
</el-col>
</el-col> -->
<!-- <el-col :span="12">
<el-form-item label="活动积分" prop="integral" >
<el-input-number v-model="formData.points" :min="1" :max="10" label="描述文字"></el-input-number>
</el-form-item>
</el-col> -->
<el-col :span="24">
<el-form-item label="活动详情" prop="content" style="display: block" required>
<div style="width: 1005px;">
<div style="width: 756px;">
<Tinymce class="tinymce_view " v-model.trim="formData.content" :height="150" placeholder="请输入活动内容" />
</div>
</el-form-item>
@ -54,33 +104,12 @@
<el-col :span="24">
<el-form-item label="报名条件" prop="conditions">
<el-input type="textarea" placeholder="请输入活动标题,不超过50子" :height="150" v-model="formData.conditions" maxlength="200"
show-word-limit style="width: 1005px;">
show-word-limit style="width: 756px;">
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="活动积分" prop="integral" >
<el-input-number v-model="formData.points" :min="1" :max="10" label="描述文字"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="活动名额" prop="points" required>
<div style="display: flex; justify-items:center; align-items: center;">
<el-input-number :disabled="formData.notQuota == '0'" v-model.trim="formData.quota" :min="0"
label="描述文字" type="number"></el-input-number>
<el-checkbox style="margin-left: 20px;" v-model="checked">不限名额</el-checkbox>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<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>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="活动地点" prop="searchValue" required>
<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">
@ -93,13 +122,16 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="formType !== 'records'" label="上线" style="display: block" prop="peopleCount">
<!-- <el-col :span="12"> -->
<el-form-item v-if="formType !== 'records'" label="上线" style="display: block" prop="peopleCount">
<el-switch v-model="formData.online" :active-value='1' :inactive-value='0'
@change="handleSwitchChange"></el-switch>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- </el-col> -->
<!-- <el-form-item label="活动积分" prop="integral" >
<el-input-number v-model="formData.points" :min="1" :max="10" label="描述文字"></el-input-number>
</el-form-item> -->
<!-- <el-col :span="12"> -->
<el-form-item label="照片" prop="activityImgs" required>
<div>
<el-upload :headers="$getElUploadHeaders()" class="avatar-uploader" :action="uploadUrl"
@ -110,8 +142,18 @@
</div>
</el-form-item>
<!-- </el-col> -->
<!-- <el-col :span="24"> -->
<!-- </el-col> -->
</el-col>
<el-col :span="12">
<div v-if="formData.sponsors" style="display: flex;">
<div style="">
@ -181,6 +223,7 @@ var geocoder // 新建一个正逆地址解析类
export default {
data () {
return {
value:'',
checked:false,
loading: false,
searchOptions: [],
@ -663,6 +706,7 @@ export default {
.div_map{
width: 300px;
margin-top: 10px;
height: 300px;
}
.div_btn1{
display: flex;

161
src/views/modules/volunteer/activityArchive/enclosure.vue

@ -1,91 +1,71 @@
<template>
<div class="g-main" style="padding: 30px;">
<div class="f-flex" style="">
<!-- <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">
</el-option>
</el-select>
</div>
<div class="f-flex" style="align-items: center;">
<div>姓名</div>
<el-input placeholder="请输入内容" v-model="formData.name" style="width: 200px" clearable>
</el-input>
</div>
<div class="f-flex" style="align-items: center;">
<div>手机号</div>
<el-input placeholder="请输入内容" v-model="formData.mobile" style="width: 200px" clearable>
</el-input>
</div>
<div>
<el-button type="primary" @click="handleSearch">查询</el-button>
</div> -->
<el-form :inline="true" :model="formData" class="demo-form-inline" style="">
<el-form-item label="是否发放积分">
<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">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="姓名" label-width="80px">
<el-input placeholder="请输入内容" v-model="formData.name" style="width: 150px" clearable>
</el-input>
</el-form-item>
<el-form-item label="手机号" label-width="120px">
<el-input placeholder="请输入内容" v-model="formData.mobile" style="width: 150px" clearable>
</el-input>
</el-form-item>
<div style="display: flex; justify-content: flex-end; margin:0 0 10px 0;">
<el-button type="primary" @click="handleSearch" style="margin: 20rpx;">查询</el-button>
</div>
</el-form>
</div>
<div>
<el-table :data="tableData" border>
<el-table-column label="序号" width="80" header-align="center" align="center" type="index"></el-table-column>
<el-table-column prop="realName" header-align="center" align="center" label="姓名">
</el-table-column>
<el-table-column prop="nickName" header-align="center" align="center" label="昵称">
</el-table-column>
<el-table-column prop="mobile" header-align="center" align="center" label="手机号">
</el-table-column>
. <el-table-column prop="idCard" header-align="center" align="center" label="证件号">
</el-table-column>
<el-table-column prop="ActivityCount" header-align="center" align="center" label="打卡次数">
</el-table-column>
<el-table-column prop="whether" header-align="center" align="center" label="是否发放积分">
</el-table-column>
<el-table-column prop="points" header-align="center" align="center" label="积分">
</el-table-column>
<!-- <el-table-column label="附件" fixed="right" header-align="center" align="center" class="operate">
<template slot-scope="scope">
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row)">查看</el-button>
</template>
</el-table-column> -->
</el-table>
<div>
<!-- <el-dialog :visible.sync="info" :close-on-click-modal="false" :close-on-press-escape="false" title="附件详情"
width="1000px" top="10vh" class="dialog-h" @closed="AddClose" v-if="add">
<add :list="fmData" @AddClose="AddClose" />
</el-dialog> -->
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo"
:page-sizes="[10, 20, 50]" :page-size="pageSize" layout="sizes, prev, pager, next, total" :total="total">
</el-pagination>
</div>
</div>
<div class="g-main" style="padding: 30px;">
<div>
<el-table :data="tableData" border>
<el-table-column label="序号" width="80" header-align="center" align="center" type="index"></el-table-column>
<el-table-column prop="name" header-align="center" align="center" label="名称">
</el-table-column>
<el-table-column prop="url" align="center" width="80" label="图片">
<template slot-scope="scope">
<el-image v-if="scope.row.url && scope.row.type == 'image'" style="width: 40px; height: 40px"
:src="scope.row.url" :preview-src-list="[scope.row.url]">
</el-image>
<span v-else></span>
</template>
</el-table-column>
<el-table-column prop="url" align="center" width="80" label="视频">
<template slot-scope="scope">
<!-- <el-image v-if="scope.row.url && scope.row.type == 'voice'" style="width: 40px; height: 40px"
:src="scope.row.url" :preview-src-list="[scope.row.url]">
</el-image> -->
<!-- <img class="img-voice"
v-if="scope.row.url && scope.row.type == 'video'"
src="../../../../assets/img/icon-voice.png" />
<span v-else></span> -->
<i v-if="scope.row.url && scope.row.type == 'video'" @click="handleShowVoice(scope.row.url)" class="el-icon-video-play" style="font-size: 40px;"></i>
</template>
</el-table-column>
<el-table-column prop="type" header-align="center" align="center" label="类型">
<template slot-scope="scope">
<span v-if="scope.row.type=='image'">图片</span>
<span v-if="scope.row.type=='voice'">语音</span>
<span v-if="scope.row.type=='video'">视频</span>
</template>
</el-table-column>
</el-table>
</div>
</template>
<el-dialog :title="'播放视频'" :visible.sync="showVoice" width="40%" top="5vh" append-to-body class="dialog-h"
:close-on-click-modal="false">
<div class="dialog-h-content scroll-h">
<div style="display: flex; justify-content: center; margin: 50px">
<audio controls>
<source :src="selVoiceUrl" type="video/mp4" />
</audio>
</div>
</div>
<div class="resi-btns">
<el-button size="small" @click="showVoice = false">取消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { requestPost,requestGet } from "@/js/dai/request";
import { requestPost,requestGet } from "@/js/dai/request";
export default {
name: "see",
data() {
return {
selVoiceUrl: "",
showVoice: false,
showadd:false,
srcList:[],
searchData:[],
labelPosition: 'right',
tableData: [],
@ -112,6 +92,12 @@
}
},
methods: {
//
handleShowVoice(url) {
this.selVoiceUrl = url;
this.showVoice = true;
},
handleDetail(row){
console.log(row,"row");
this.add=true
@ -139,22 +125,17 @@
},
//
async getTableData() {
// const url = "http://yapi.elinkservice.cn/mock/245/gov/project/project/project-list";
const url = "/voluntary/activitySignIn/list";
const url = `/voluntary/activitySignIn/getAttrBySignId/1826208948341354497`;
let params = {
pageNo: this.pageNo,
whether:this.formData.whether,
name:this.formData.name,
pageSize:this.pageSize,
mobile:this.formData.mobile,
activityId:this.list.id,
// activityId:"1826111922849996802",
}
requestGet(url, params).then((res) => {
if (res.code == 0) {
this.total = res.data.total || 0;
this.tableData = res.data.list;
console.log(this.tableData, "this.tableData");
this.tableData = res.data;
console.log(this.tableData.url);
} else {
this.$message.error(res.msg);
}

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

@ -91,7 +91,7 @@
</el-pagination>
</div>
<el-dialog :visible.sync="add" :close-on-click-modal="false" :close-on-press-escape="false" title="新增"
width="1200px" top="10vh" class="dialog-h" @closed="AddClose" v-if="add">
width="1000px" top="10vh" class="dialog-h" @closed="AddClose" v-if="add">
<add :list="fmData" @AddClose="AddClose" />
</el-dialog>
<el-dialog :visible.sync="showselect" :close-on-click-modal="false" :close-on-press-escape="false" title="修改"
@ -102,7 +102,7 @@
width="1000px" top="10vh" class="dialog-h" @closed="selectClose">
<realselect v-if="showdeltail" :list="fmData" @selectClose="selectClose" />
</el-dialog>
<el-dialog :modal="false" :visible.sync="HandlePointsshow" :close-on-click-modal="false" :close-on-press-escape="false"
<el-dialog :visible.sync="HandlePointsshow" :close-on-click-modal="false" :close-on-press-escape="false"
title="打卡积分" width="1000px" top="10vh" class="dialog-h" @closed="diaClose">
<Points v-if="HandlePointsshow" :list="fmData" />
</el-dialog>

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

@ -2,129 +2,193 @@
<div>
<div class="dialog-h-content scroll-h"
style="display: flex; flex-direction: row; justify-content:space-between; padding: 20px;">
<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" 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" 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" 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" >
<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="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" style="width: 150px;">
</el-date-picker> <span style="margin: 0 10px"></span><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" style="width: 150px;"
@change="actcontrolTime">
</el-date-picker>
</el-form-item>
<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" label="描述文字"
type="number"></el-input-number>
<el-checkbox style="margin-top: 20px;" v-model="checked">不限名额</el-checkbox>
</div>
</el-form-item>
<el-form-item label="活动类型" prop="type" required>
<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="linkman" required>
<el-input v-model="formData.linkman" placeholder="请输入" style="width: 300px;"></el-input>
</el-form-item>
<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: 50%;">
<el-form ref="ref_form" :inline="true" :model="formData" class="form" label-width="115px">
<div>
<el-form-item label="活动积分" prop="integral">
<el-form ref="ref_form" :inline="true" :model="formData" class="form" label-width="120px" :rules="rules">
<el-row>
<el-col :span="12"> <el-form-item label="主办方" prop="agencyId" required>
<el-cascader class="list_item_width_1" ref="myCascader" clearable style="width: 280px;"
v-model.trim="formData.agencyId" :options="orgOptions" :props="orgOptionProps"
@change="handleChangeAgency"></el-cascader>
</el-form-item>
</el-col>
<el-col :span="12"> <el-form-item label="活动类型" prop="type" required>
<el-select v-model.trim="formData.type" placeholder="请选择" clearable style="width: 280px">
<el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="活动名额" prop="points" required>
<div style="display: flex; justify-items:center; align-items: center;">
<el-input-number :disabled="formData.notQuota == '0'" v-model.trim="formData.quota" :min="0"
label="描述文字" type="number"></el-input-number>
<el-checkbox style="margin-left: 20px;" v-model="checked">不限名额</el-checkbox>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="活动标题" prop="title" required>
<el-input placeholder="请输入活动标题" v-model="formData.title" style="width: 280px; "
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="活动积分" prop="integral" >
<el-input-number v-model="formData.points" :min="1" :max="10" label="描述文字"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报名截止时间" prop="deadline" required>
<el-date-picker v-model="formData.deadline" type="datetime" placeholder="选择日期时间" style="width: 280px;"
value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
<!-- <el-form-item label="所属项目" prop="typeId" required>
<el-select class="item_width_1" v-model.trim="formData.typeId" placeholder="请选择" clearable>
<el-option v-for="item in typeList" :key="item.nametypeName" :label="item.typeName"
:value="item.id">
</el-option>
</el-select>
</el-form-item> -->
<el-form-item label="报名条件" prop="conditions" style="display: block">
<el-input type="textarea" placeholder="请输入活动标题,不超过50子" v-model="formData.conditions" maxlength="200"
show-word-limit style="width: 300px;">
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<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" style="width:195px">
</el-date-picker> <span style="margin: 0 10px"></span> <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"
style="width:195px" @change="actcontrolTime">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<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:150px">
</el-date-picker>
format="yyyy-MM-dd HH:mm:ss" placeholder="开始时间" style="width:195px">
</el-date-picker> <span style="margin: 0 10px"></span>
<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:150px" @change="controlTime ">
format="yyyy-MM-dd HH:mm:ss" placeholder="结束时间" style="width:195px" @change="controlTime ">
</el-date-picker>
</el-form-item>
<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>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="活动名额" prop="points" required>
<div style="display: flex; justify-items:center; align-items: center;">
<el-input-number :disabled="formData.notQuota == '0'" v-model.trim="formData.quota" :min="0"
label="描述文字" type="number"></el-input-number>
<el-checkbox style="margin-left: 20px;" v-model="checked">不限名额</el-checkbox>
</div>
</el-form-item>
</el-col> -->
<!-- <el-col :span="12">
<el-form-item label="活动积分" prop="integral" >
<el-input-number v-model="formData.points" :min="1" :max="10" label="描述文字"></el-input-number>
</el-form-item>
</el-col> -->
<el-form-item v-if="formType!=='records'" label="上线" style="display: block" prop="peopleCount">
<el-col :span="24">
<el-form-item label="活动详情" prop="content" style="display: block" required>
<div style="width: 756px;">
<Tinymce class="tinymce_view " v-model.trim="formData.content" :height="150" placeholder="请输入活动内容" />
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="报名条件" prop="conditions" >
<el-input type="textarea" placeholder="请输入活动标题,不超过50子" v-model="formData.conditions" maxlength="200"
show-word-limit style="width: 756px;">
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<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>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- <el-col :span="12"> -->
<el-form-item v-if="formType !== 'records'" label="上线" style="display: block" prop="peopleCount">
<el-switch v-model="formData.online" :active-value='1' :inactive-value='0'
@change="handleSwitchChange"></el-switch>
</el-form-item>
</div>
<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>
<div id="app_activity" class="div_map"></div>
</el-form-item>
<div v-if="formData.sponsors" style="display: flex;">
<!-- </el-col> -->
<!-- <el-form-item label="活动积分" prop="integral" >
<el-input-number v-model="formData.points" :min="1" :max="10" label="描述文字"></el-input-number>
</el-form-item> -->
<!-- <el-col :span="12"> -->
<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" style="width: 50px;height: 50px;"></i> </el-upload>
</div>
</el-form-item>
<!-- </el-col> -->
<!-- <el-col :span="24"> -->
<!-- </el-col> -->
<!-- <el-col :span="12"> -->
<div v-if="formData.sponsors" style="display: flex;">
<div style="">
<div v-for="(item, index) in formData.sponsors" :label="index" :key="item.name" :prop=index>
<el-form-item label="赞助单位" prop="sponsors" style="margin-bottom:20px" label-width="110px">
<el-input v-model="item.name" placeholder="请输入" style="width: 300px;"></el-input>
<i class="el-icon-remove-outline" @click.prevent="removeDomain(item)" style="font-size: 20px; margin-left: 20px;"></i>
<el-form-item label="赞助单位" prop="sponsors" style="margin-bottom:20px">
<el-input v-model="item.name" placeholder="请输入" style="width: 280px;"></el-input>
<i class="el-icon-remove-outline" @click="removeDomain(item)"
style="font-size: 20px; margin-left: 20px;"></i>
</el-form-item>
<el-form-item label="联系电话" prop="sponsors">
<el-input v-model="item.phone" placeholder="请输入" style="width: 300px;"></el-input>
<el-input v-model="item.phone" placeholder="请输入" style="width: 280px;"></el-input>
</el-form-item>
</div>
</div>
<i class="el-icon-circle-plus" @click="addDomain" style="font-size: 20px; margin-top:7px;"></i>
</div>
<!-- </el-col> -->
</el-col>
</el-row>
<!-- <el-form-item label="所属项目" prop="typeId" required>
<el-select class="item_width_1" v-model.trim="formData.typeId" placeholder="请选择" clearable>
<el-option v-for="item in typeList" :key="item.nametypeName" :label="item.typeName"
:value="item.id">
</el-option>
</el-select>
</el-form-item> -->
<i class="el-icon-circle-plus" @click="addDomain" style="font-size: 20px; margin-top:7px;" ></i> </div>
</el-form>
<!-- <i class="el-icon-circle-plus" @click="addDomain" style="font-size: 20px;"></i> -->
</el-form>
</div>
</div>
<div class="div_btn1">
<el-button size="small" @click="handleCancle"> </el-button>

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

@ -72,14 +72,17 @@
<el-table-column prop="ActivityCount" header-align="center" align="center" label="核销时间">
</el-table-column>
<el-table-column prop="ActivityCount" header-align="center" align="center" label="状态">
<el-table-column prop="rcvTime" header-align="center" align="center" label="状态">
<template slot-scope="scope">
<span v-if="scope.row.rcvTime == null">未核销</span>
<span v-else>已核销</span>
</template>
</el-table-column>
<el-table-column prop="ActivityCount" header-align="center" align="center" label="核销">
<template slot-scope="scope">
<el-button v-if="scope.row.rcvTime == null" type="text" @click="handleWrite(scope.row)">核销</el-button>
</template>
</el-table-column>
<!-- <el-table-column label="操作" fixed="right" width="250" header-align="center" align="center"> -->
<!-- <template slot-scope="scope"> -->
<!-- <el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row)">查看</el-button> -->
<!--
</template> -->
<!-- </el-table-column> -->
</el-table>
<div>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
@ -128,6 +131,29 @@ export default {
}
},
methods: {
//
handleWrite(row){
let url="/voluntary/points/admin/receiveAward";
console.log(row,"awardId");
let params={
redeemRecordId:row.awardId,
}
console.log(params,"params");
requestPost(url,params).then(res=>{
console.log(res);
this.getTableData()
})
},
//
handleSizeChange(val) {
console.log(`每页 ${val}`);
this.pageSize = val;
window.localStorage.setItem("pageSize", val);
this.getTableData(
)
},
handleSizeChange(val) {
console.log(`每页 ${val}`);
this.pageSize = val;

Loading…
Cancel
Save