Browse Source

商品对接

feature
是小王呀\24601 4 months ago
parent
commit
c47bc2abab
  1. 4
      src/views/modules/promotionNews/trainingManagement/ctps/dynamics-add.vue
  2. 161
      src/views/modules/volunteerWelfare/volunteerWelfare/cpts/service-info.vue
  3. 213
      src/views/modules/volunteerWelfare/volunteerWelfare/cpts/service-record.vue
  4. 18
      src/views/modules/volunteerWelfare/volunteerWelfare/cpts/service-team.vue
  5. 249
      src/views/modules/volunteerWelfare/volunteerWelfare/index.vue
  6. 215
      src/views/modules/volunteerWelfare/welfareProductManagement/cpts/record.vue
  7. 63
      src/views/modules/volunteerWelfare/welfareProductManagement/index.vue

4
src/views/modules/promotionNews/trainingManagement/ctps/dynamics-add.vue

@ -187,8 +187,8 @@
}
this.$emit('closeAdd')
}else{
let url = '/voluntary/train/editById/'+this.formData.id
const { data, code, internalMsg } = await requestGet(url, this.formData)
let url = '/voluntary/train/saveOrUpdate'
const { data, code, internalMsg } = await requestPost(url, this.formData)
if (code === 0) {
this.$message({
type: 'success',

161
src/views/modules/volunteerWelfare/volunteerWelfare/cpts/service-info.vue

@ -1,111 +1,74 @@
<template>
<div style="height: 650px; margin: 20px">
<div style=" margin: 0 0 0 20px">
<div class="dialog-h-content scroll-h">
<el-form ref="ref_form" :inline="true" :model="formData" class="form">
<el-form ref="ref_form" :inline="true" :model="formData" class="form">
<div>
<el-row>
<el-col :span="16">
<el-col :span="12">
<el-form-item label="志愿者姓名" prop="volunteerOrgId" label-width="130px">
<div>{{this.formData.name }}</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="志愿者昵称" prop="name" label-width="130px">
<div>{{this.formData.name }}</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="手机号" prop="mobile" label-width="130px">
<div>{{this.formData.mobile }}</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号" prop="idCard" label-width="130px">
<div>{{this.formData.idCard }}</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="性别" prop="gender" label-width="130px">
<div>{{this.formData.gender?'男':'女' }}</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="年龄" prop="age" label-width="130px">
<div>{{this.formData.age? this.formData.age:"--" }}</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属组织" prop="agencyName" label-width="130px">
<div>{{this.formData.agencyName }}</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属服务团" prop="orgName" label-width="130px">
<div>{{this.formData.orgName }}</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="所属组织" prop="volunteerOrgId" label-width="130px">
<div>{{formData.agencyName }}</div>
</el-form-item>
</el-col>
<el-col :span="8" style="text-align: center;">
<el-form-item label="" prop="headImgUrl" label-width="130px">
<img style="width: 180px;height: 180px;" v-if="formData.headImgUrl"
:src="formData.headImgUrl">
<el-col :span="24">
<el-form-item label="商家名称" prop="name" label-width="130px">
<div>{{formData.name }}</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="服务时长(小时)" prop="serviceTime" label-width="130px">
<div>{{this.formData.serviceTime }}</div>
<el-col :span="24">
<el-form-item class="label-wrap" label="统一社会信用代码证号" prop="creditCode" label-width="130px">
<div>{{formData.creditCode }}</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="积分" prop="points" label-width="130px">
<div>{{this.formData.points }}</div>
<el-col :span="24">
<el-form-item label="负责人姓名" prop="legalPersonName" label-width="130px">
<div>{{formData.legalPersonName }}</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="注册时间" prop="createdTime" label-width="130px">
<div>{{this.formData.createdTime }}</div>
<el-col :span="24">
<el-form-item label="负责人手机号" prop="mobile" label-width="130px">
<div>{{formData.mobile }}</div>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="结对老人" prop="familyPrimaryContactPhone" label-width="130px">
<div v-for="(item,index) in formData.pairedOpInfos">
<el-button type="text" style="color:#1C6AFD;" size="small"
@click="handleTheElderly(item)">{{item.name}} [查看]</el-button>
</div>
<el-col :span="24">
<el-form-item label="负责人身份证号" prop="idCard" label-width="130px">
<div>{{formData.idCard? this.formData.idCard:"--" }}</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="服务记录" prop="serviceNum" label-width="130px">
<el-col :span="24">
<el-form-item label="营业执照照片" prop="agencyName" label-width="130px">
<template slot-scope="scope">
<el-button type="text" style="color:#1C6AFD;" size="small"
@click="handleRecord(formData)">{{formData.serviceNum}} [查看]</el-button>
<el-image style="width: 200px; height: 200px" :src="formData.businessLicense"
:preview-src-list="[formData.businessLicense]">
</el-image>
</template>
<div>{{formData.serviceTimeTotal }}</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="兴趣特长" prop="identityName" label-width="130px">
<div>{{formData.identityName }}</div>
<el-form-item label="审核" prop="agencyName" label-width="130px">
<template slot-scope="scope">
<div>{{ formData.status === "" ? "待审核" : formData.status === "pass" ? "已通过" : "未通过" }}</div>
</template>
</el-form-item>
</el-col>
<el-col :span="24" v-if="formData.status==='notPass'">
<el-form-item label="审核不通过原因" prop="agencyName" label-width="130px">
<template slot-scope="scope">
<div>{{ formData.remark }}</div>
</template>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="注册时间" prop="orgName" label-width="130px">
<div>{{formData.createdTime }}</div>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<el-dialog :visible.sync="serviceRecord" v-if="serviceRecord" :close-on-click-modal="false"
:close-on-press-escape="false" title="服务记录" width="1050px" top="5vh" class="dialog-h"
:modal="false">
<service-record v-if="serviceRecord" ref="ref_vol"></service-record>
</el-dialog>
<el-dialog :visible.sync="TheElderlyShow" v-if="TheElderlyShow" :close-on-click-modal="false"
:close-on-press-escape="false" title="老人信息" width="1050px" top="5vh" class="dialog-h"
:modal="false">
<info-old v-if="TheElderlyShow" ref="ref_Eld"></info-old>
</el-dialog>
</div>
</template>
@ -162,36 +125,17 @@
//
//
async getVoluntaryInfo(row) {
const url = "/voluntary/volunteerInfo/page"
console.log(row,"sdfl;jsd");
const param={
id:row.volunteerId,
name:row.volunteerName
}
const { data, code, msg } = await requestPost(url,param)
const url = "/voluntary/merchant/"+row.id
const { data, code, msg } = await requestPost(url)
if (code === 0) {
// this.tableData = data.list
this.formData = data.list[0]
console.log(this.elderlyInfo, "sdfkljdsfjkl;");
this.formData = data
this.formData.agencyName=row.agencyName
} else {
this.$message.error(msg)
}
},
async handleTheElderly(row){
console.log(row,"sdfjslk;d");
this.TheElderlyShow=true
this.$nextTick(()=>{
this.$refs.ref_Eld.initForm(row.id)
})
},
handleRecord(row){
console.log(row,"sdfjslk;d");
this.serviceRecord=true
this.$nextTick(()=>{
this.$refs.ref_vol.initForm( row)
})
},
async initForm(row) {
this.startLoading()
console.log(row,"dsclkjdslk");
@ -296,4 +240,9 @@
font-size: 15px;
font-weight: 600;
}
.label-wrap ::v-deep(.el-form-item__label) {
white-space: normal;
line-height: 1.2;
text-align: right
}
</style>

213
src/views/modules/volunteerWelfare/volunteerWelfare/cpts/service-record.vue

@ -1,213 +0,0 @@
<template>
<div style="padding: 20px 20px 0 20px ; height: 650px;">
<div class="dialog-h-content scroll-h">
<el-table class="table" :data="tableData" border height="550px"
style="width: 100%;margin-top:16px" >
<el-table-column type="selection" fixed="left" align="center" width="50"></el-table-column>
<el-table-column prop="orgNamePath" header-align="center" align="center" label="所属组织">
</el-table-column>
<el-table-column prop="volunteerOrgName" header-align="center" align="center" label="所属服务团">
</el-table-column>
<el-table-column prop="oldPeopleName" header-align="center" align="center" label="老人姓名">
</el-table-column>
<el-table-column prop="oldPeopleIdCard" header-align="center" align="center" label="老人身份证号">
</el-table-column>
<el-table-column prop="categoryLabels" header-align="center" align="center" label="服务项目">
<template slot-scope="scope">
<div>{{ scope.row.categoryLabels.join(",") }}</div>
</template>
</el-table-column>
<el-table-column prop="serviceTime" header-align="center" align="center" label="服务时长(小时)">
</el-table-column>
<el-table-column prop="pointNum" header-align="center" align="center" label="积分">
</el-table-column>
<el-table-column prop="signInTime" header-align="center" align="center" label="到岗打卡时间">
</el-table-column>
<el-table-column prop="signOutTime" header-align="center" align="center" label="离岗打卡时间">
</el-table-column>
</el-table>
<div>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo"
:page-sizes="[20, 50, 100, 200]" :page-size="parseInt(pageSize)" layout="sizes, prev, pager, next, total"
:total="total">
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import { Loading } from 'element-ui' // Loading
import { requestPost } from '@/js/dai/request'
import Tinymce from '@c/tinymce2/index.vue'
import daiMap from "@/utils/dai-map";
import util from '@js/util.js';
// import UploadImage from './upload-image.vue'
import UploadImage from '@/views/modules/plugins/rent/upload-image.vue'
var map
var search
var markers
var infoWindowList
var geocoder //
let loading //
export default {
data() {
return {
tableData:[],
formType:"add",
formData: {
},
}
},
components: {Tinymce, UploadImage },
mounted() {
},
methods: {
async initForm(row) {
this.startLoading()
this.formData=row
console.log(row,"dsf;lkfsdkl");
this.getElderlyInfo()
this.endLoading()
},
async getElderlyInfo () {
this.formData.agencyId="7b6f9a9f9f38d5f9fa7ce94a93d6eb28"
const url = "/voluntary/op/service/pc/serviceRecs"
let params = {
volunteerName:this.formData.name,
volunteerMobile:this.formData.mobile
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.tableData = data.list
} else {
this.$message.error(msg)
}
},
handleSizeChange (val) {
this.pageSize = val
this.pageNo = 1
this.getElderlyInfo()
},
handleCurrentChange (val) {
this.pageNo = val
// this.loadTable()
this.getElderlyInfo()
},
//
startLoading() {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' //
})
},
//
endLoading() {
// clearTimeout(timer);
if (loading) {
loading.close()
}
}
},
computed: {
},
props: {
},
destroyed () {
map = null
}
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/visual/communityManageForm.scss";
</style>
<style lang="scss" scoped>
.no-border-card {
border: none !important;
box-shadow: none !important;
}
.info-label {
width: 120px;
padding: 10px;
border: 1px solid #ebeef5;
white-space: nowrap; /* 防止换行 */
}
.item_width_1 {
width: 634px;
/deep/.tox .tox-dialog {
z-index: 20000;
}
}
.u-item-width-normal{
width: 222px;
}
.tinymce_view {
::v-deep .tox .tox-dialog {
z-index: 2000000000;
}
}
.div_map {
position: relative;
}
.div_searchmap {
z-index: 5000;
position: absolute;
top: 5px;
left: 5px;
}
.tinymce_view {
height: 400px;
overflow: auto;
}
.text_p {
margin: 0;
padding: 0 10px;
border: 1px solid #d9d9d9;
border-radius: 5px;
>p {
margin: 0;
}
}
.label-wrap ::v-deep(.el-form-item__label) {
white-space: normal;
line-height: 1.2;
text-align: right
}
.newqsa {
border-left: 4px solid #2683DB;
height: 100%;
// width: 4px;
padding-left: 8px;
margin-bottom: 10px;
}
.newqsa_text{
font-size: 15px;
font-weight: 600;
}
</style>

18
src/views/modules/volunteerWelfare/volunteerWelfare/cpts/service-team.vue

@ -2,12 +2,12 @@
<div class="" style=" padding: 20px;">
<el-form :model="formData" ref="ref_searchform" :label-width="'120px'">
<div>
<el-form-item label="审核结果" prop="approve">
<el-radio v-model="formData.approve" :label=1>通过</el-radio>
<el-radio v-model="formData.approve" :label=2>驳回</el-radio>
<el-form-item label="审核结果" prop="status">
<el-radio v-model="formData.status" label="pass">通过</el-radio>
<el-radio v-model="formData.status" label="notPass">驳回</el-radio>
</el-form-item>
<el-form-item label="不通过原因" prop="approveRemark" v-if="formData.approve===2">
<el-input v-model.trim="formData.approveRemark" size="small" class="item_width_1" clearable placeholder="请输入">
<el-form-item label="不通过原因" prop="remark" v-if="formData.status==='notPass'">
<el-input v-model.trim="formData.remark" size="small" class="item_width_1" clearable placeholder="请输入">
</el-input>
</el-form-item>
</div>
@ -37,9 +37,11 @@
data() {
return {
toExamine:0,
id:"",
formData:{
id:"",
status:"",
remark:""
}
}
@ -62,7 +64,7 @@
this.HandleExamine()
},
async HandleExamine() {
let url = '/voluntary/volunteerInfo/approveById'
let url = '/voluntary/merchant/audit'
console.log(this.formData,"sdfkjsdfjkl");
const { data, code, internalMsg } = await requestPost(url, this.formData)
if (code === 0) {

249
src/views/modules/volunteerWelfare/volunteerWelfare/index.vue

@ -1,120 +1,108 @@
<template>
<div class="g-main">
<div class="m-search">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'120px'">
<div>
<el-form-item label="所属组织" prop="agencyId">
<el-cascader ref="org" v-model.trim="formData.agencyId" :options="organizationList" :show-all-levels="false"
:props="{ checkStrictly: true, multiple: false, emitPath:false }" style="width: 200px" clearable
>
</el-cascader>
</el-form-item>
<el-form-item label="商家名称" prop="name">
<el-input v-model.trim="formData.name" size="small" class="item_width_1" clearable placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="统一社会信用代码证" prop="creditCode">
<el-input v-model.trim="formData.creditCode" size="small" class="item_width_1" clearable placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="负责人姓名" prop="legalPersonName">
<el-input v-model.trim="formData.legalPersonName" size="small" class="item_width_1" clearable placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="负责人手机号" prop="mobile">
<el-input v-model.trim="formData.mobile" size="small" class="item_width_1" clearable placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="负责人身份证号" prop="mobile">
<el-input v-model.trim="formData.mobile" size="small" class="item_width_1" clearable placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="审核状态" prop="status">
<el-select class="item_width_1" v-model.trim="formData.status" size="small" placeholder="请选择"
clearable>
<el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</div>
<div>
<div style="display: flex; justify-content: flex-end;">
<el-button style="margin-left:10px" class="diy-button--blue" size="small"
@click="handleSearch">查询</el-button>
<el-button style="margin-left:10px" class="diy-button--white" size="small"
@click="resetSearch">重置</el-button>
</div>
<div class="g-main">
<div class="m-search">
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'120px'">
<div>
<el-form-item label="所属组织" prop="agencyId">
<el-cascader ref="org" v-model.trim="formData.agencyId" :options="organizationList" :show-all-levels="false"
:props="{ checkStrictly: true, multiple: false, emitPath:false }" style="width: 200px" clearable>
</el-cascader>
</el-form-item>
<el-form-item label="商家名称" prop="name">
<el-input v-model.trim="formData.name" size="small" class="item_width_1" clearable placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="统一社会信用代码证号" prop="creditCode" class="label-wrap">
<el-input v-model.trim="formData.creditCode" size="small" class="item_width_1" clearable
placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="负责人姓名" prop="legalPersonName">
<el-input v-model.trim="formData.legalPersonName" size="small" class="item_width_1" clearable
placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="负责人手机号" prop="mobile">
<el-input v-model.trim="formData.mobile" size="small" class="item_width_1" clearable placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="负责人身份证号" prop="idCard">
<el-input v-model.trim="formData.idCard" size="small" class="item_width_1" clearable placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="审核状态" prop="status">
<el-select class="item_width_1" v-model.trim="formData.status" size="small" placeholder="请选择" clearable>
<el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</div>
<div>
<div style="display: flex; justify-content: flex-end;">
<el-button style="margin-left:10px" class="diy-button--blue" size="small"
@click="handleSearch">查询</el-button>
<el-button style="margin-left:10px" class="diy-button--white" size="small"
@click="resetSearch">重置</el-button>
</div>
</el-form>
</div>
<div class="m-table">
<div class="div_btn">
<div style="display: flex; flex-direction: row;">
<el-button style=" margin-right: 20px;" class="diy-button--add" size="small"
@click="handleInitAdd('','add')">新建档案</el-button>
</div>
</el-form>
</div>
<div class="m-table">
<el-table class="table" :data="tableData" border :height="tableHeight" v-loading="tableLoading"
style="width: 100%;margin-top:16px" @select-all="selectAll" @selection-change="handelSelection">
<el-table-column type="selection" fixed="left" align="center" width="50"></el-table-column>
<el-table-column prop="name" header-align="center" align="center" label="商家名称">
</el-table-column>
<el-table-column prop="agencyName" header-align="center" align="center" label="所属组织">
</el-table-column>
<el-table-column prop="creditCode" header-align="center" align="center" label="统一社会信用代码证号">
</el-table-column>
<el-table-column prop="legalPersonName" 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="businessLicense" header-align="center" align="center" label="营业执照照片">
<template slot-scope="scope">
<el-image style="width: 30px; height: 30px" :src="scope.row.businessLicense" :preview-src-list="[scope.row.businessLicense]">
</el-image>
</template>
</el-table-column>
<el-table-column prop="status" header-align="center" align="center" label="审核">
<template slot-scope="scope">
<div>{{ scope.row.status===""?"待审核":scope.row.status==="pass"?"已通过":"未通过" }}</div>
</template>
</el-table-column>
<el-table-column prop="createdTime" header-align="center" align="center" label="注册时间">
<el-button style="" class="diy-button--add" size="small">导出</el-button>
</div>
<el-table class="table" :data="tableData" border :height="tableHeight" v-loading="tableLoading"
style="width: 100%;margin-top:16px" @select-all="selectAll" @selection-change="handelSelection">
<el-table-column type="selection" fixed="left" align="center" width="50"></el-table-column>
<el-table-column prop="agencyName" header-align="center" align="center" label="所属组织">
</el-table-column>
<el-table-column prop="orgName" 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="name" header-align="center" align="center" label="真实姓名">
</el-table-column>
<el-table-column prop="identityName" 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="serviceNum" header-align="center" align="center" label="服务记录">
</el-table-column>
<el-table-column prop="serviceTime" 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 prop="approve" header-align="center" align="center" label="审核">
<template slot-scope="scope">
<div>{{ scope.row.approve===0?"待审核":scope.row.approve===1?"已通过":"驳回" }}</div>
</template>
</el-table-column>
<el-table-column prop="createdTime" header-align="center" align="center" label="注册时间">
</el-table-column>
<el-table-column label="操作" fixed="right" width="230" 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>
<el-button v-if="scope.row.approve===0" type="text" style="color:#1C6AFD;" size="small"
@click="handleToExamine(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>
</div>
</el-table-column>
<el-table-column label="操作" fixed="right" width="230" 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>
<el-button v-if="scope.row.status===''" type="text" style="color:#1C6AFD;" size="small"
@click="handleToExamine(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>
</div>
<el-dialog :visible.sync="detailShow" v-if="detailShow" :close-on-click-modal="false" :close-on-press-escape="false"
title="详情" width="1050px" top="5vh" class="dialog-h" >
<service-info v-if="detailShow" ref="ref_detail" ></service-info>
</el-dialog>
<el-dialog :visible.sync="toExamineShow" v-if="toExamineShow" :close-on-click-modal="false" :close-on-press-escape="false"
title="审核" width="750px" top="5vh" class="dialog-h">
<service-team :closeExamine="closeExamine" v-if="toExamineShow" ref="ref_examine"
></service-team>
</el-dialog>
</div>
</template>
<el-dialog :visible.sync="detailShow" v-if="detailShow" :close-on-click-modal="false" :close-on-press-escape="false"
title="详情" width="1050px" top="5vh" class="dialog-h">
<service-info v-if="detailShow" ref="ref_detail"></service-info>
</el-dialog>
<el-dialog :visible.sync="toExamineShow" v-if="toExamineShow" :close-on-click-modal="false"
:close-on-press-escape="false" title="审核" width="750px" top="5vh" class="dialog-h">
<service-team :closeExamine="closeExamine" v-if="toExamineShow" ref="ref_examine"></service-team>
</el-dialog>
</div>
</template>
<script>
import serviceInfo from './cpts/service-info.vue'
import serviceTeam from './cpts/service-team.vue'
@ -184,7 +172,7 @@
startTime: "",
endTime: ""
},
tableData: [],
tableData: [{}],
summShow:false,
//form
@ -202,13 +190,8 @@
async mounted () {
//
const { user } = this.$store.state
if (user.commander) {
this.disabled=true
this.formData.volunteerOrgId=user.volunteerOrgId
}
this.formData.agencyId = user.agencyId
this.searchData.searchKey = localStorage.getItem("homeSearchKey") || "";
this.searchData.type = localStorage.getItem("homeSearchType") || "";
this.getFormInfo()
this.getElderlyInfo()
this.getVolunteerOrg()
@ -290,17 +273,13 @@
this.getElderlyInfo()
},
async getElderlyInfo() {
const url = this.searchData.type ? "/voluntary/volunteerInfo/page" : "/voluntary/volunteerInfo/page"
let params = !this.searchData.type ? {
const url = "/voluntary/merchant/page"
let params = {
...this.formData,
pageNo: this.pageNo,
pageSize: this.pageSize
} : {
searchContent: this.searchData.searchKey,
pageNo: this.pageNo,
pageSize: this.pageSize
}
const { data, code, msg } = await requestPost(url, params)
}
const { data, code, msg } = await requestGet(url, params)
if (this.searchData.type) {
localStorage.removeItem("homeSearchKey");
localStorage.removeItem("homeSearchType");
@ -463,7 +442,7 @@
.g-main {
width: 100%;
}
.m-search {
background: #ffffff;
border-radius: 4px;
@ -471,15 +450,15 @@
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1);
margin: 20px 7px 7px;
}
// .item_width_1 {
// width: 260px;
// }
// .item_width_2 {
// width: 495px;
// }
.m-table {
background: #ffffff;
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1);
@ -491,12 +470,12 @@
// margin-top: 20px;
// }
}
.div_btn {
display: flex;
justify-content: space-between;
}
.el-row {
/* margin-bottom: 20px; */
display: flex;
@ -504,5 +483,11 @@
margin-top: 10px;
margin-right: 50px;
}
.label-wrap ::v-deep(.el-form-item__label) {
white-space: normal;
line-height: 1.2;
text-align: right
}
</style>

215
src/views/modules/volunteerWelfare/welfareProductManagement/cpts/record.vue

@ -0,0 +1,215 @@
<template>
<div class="g-main" style="padding: 30px;">
<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><span style="margin: 0 10px"></span><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>
</div>
<div class="flex flex-center1 flex-center2 m-bottom10" style="">
<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>
<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>
<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>
<el-button type="primary" class="m-bottom10" @click="handleSeach">查询</el-button>
</div> -->
</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="redeemerName" header-align="center" align="center" label="姓名">
</el-table-column>
<el-table-column prop="redeemTime" 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="redeemerIdCard" header-align="center" align="center" label="身份证号">
</el-table-column>
<el-table-column prop="redeemerMobile" 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="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>
<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>
</div>
</div>
</div>
</template>
<script>
import { requestPost,requestGet } from "@/js/dai/request";
export default {
data() {
return {
Status:[
{
value: '0',
label: '待使用'
},
{
value: '1',
label: '已使用'
}
],
ExchangeTime:"",
labelPosition: 'right',
tableData: [],
searchData:{
redeemerMobile:"",
redeemerName:"",
redeemTimeTo:"",
redeemTimeFrom:"",
},
pageNo:1,
pageSize:10,
total:0,
awardId:"",
};
},
props:{
list:{
type: Object,
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;
window.localStorage.setItem("pageSize", val);
this.getTableData();
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.pageNo = val;
this.getTableData();
},
handleSeach(){
this.pageNo = 1;
console.log(this.SearchName);
this.getTableData()
},
async getTableData() {
// const url = "http://yapi.elinkservice.cn/mock/245/gov/project/project/project-list";
const url = "/voluntary/points/admin/listRedeemRecords";
let params = {
awardId:this.awardId,
mobile:this.searchData.redeemerMobile,
name:this.searchData.redeemerName,
redeemTimeFrom:this.searchData.redeemTimeFrom,
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("列表请求成功!!!!!!!!!!!!!!");
this.total = data.total || 0;
this.tableData = data.list
console.log(this.tableData,"this.tableData");
} else {
}
},
},
created() {
console.log(this.list,"list");
this.tableData=this.list
this.awardId=this.list.id
console.log(this.awardId,"awardId");
this.getTableData(
)
},
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/volunteet.scss";
</style>

63
src/views/modules/volunteerWelfare/welfareProductManagement/index.vue

@ -9,21 +9,22 @@
>
</el-cascader>
</el-form-item>
<el-form-item label="所属服务团" prop="volunteerOrgId">
<el-select class="item_width_1" :disabled="disabled" v-model.trim="formData.volunteerOrgId" size="small" placeholder="请选择" clearable>
<el-option v-for="item in typeList" :key="item.id" :label="item.orgName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="真实名称" prop="name">
<el-form-item label="所属商家" prop="name">
<el-input v-model.trim="formData.name" size="small" class="item_width_1" clearable placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="身份证号" prop="idCard">
<el-form-item label="商品类别" prop="approve">
<el-select class="item_width_1" v-model.trim="formData.approve" size="small" placeholder="请选择"
clearable>
<el-option v-for="item in goodsList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="商品名称" prop="idCard">
<el-input v-model.trim="formData.idCard" size="small" class="item_width_1" clearable placeholder="请输入关键字">
</el-input>
</el-form-item>
<el-form-item label="手机号" prop="mobile">
<el-form-item label="商家手机号" prop="mobile">
<el-input v-model.trim="formData.mobile" size="small" class="item_width_1" clearable placeholder="请输入关键字">
</el-input>
</el-form-item>
@ -59,39 +60,24 @@
<el-table class="table" :data="tableData" border :height="tableHeight" v-loading="tableLoading"
style="width: 100%;margin-top:16px" @select-all="selectAll" @selection-change="handelSelection">
<el-table-column type="selection" fixed="left" align="center" width="50"></el-table-column>
<el-table-column prop="agencyName" header-align="center" align="center" label="所属组织">
</el-table-column>
<el-table-column prop="orgName" header-align="center" align="center" label="所属服务团">
</el-table-column>
<el-table-column prop="nickName" header-align="center" align="center" label="微信昵称">
<el-table-column prop="agencyName" header-align="center" align="center" label="所有商家">
</el-table-column>
<el-table-column prop="name" header-align="center" align="center" label="真实姓名">
<el-table-column prop="orgName" header-align="center" align="center" label="分类">
</el-table-column>
<el-table-column prop="identityName" header-align="center" align="center" label="兴趣特长">
<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 prop="name" header-align="center" align="center" label="状态">
</el-table-column>
<el-table-column prop="idCard" header-align="center" align="center" label="身份证号">
<el-table-column prop="identityName" header-align="center" align="center" label="上架时间">
</el-table-column>
<el-table-column prop="serviceNum" header-align="center" align="center" label="服务记录">
</el-table-column>
<el-table-column prop="serviceTime" 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 prop="approve" header-align="center" align="center" label="审核">
<template slot-scope="scope">
<div>{{ scope.row.approve===0?"待审核":scope.row.approve===1?"已通过":"驳回" }}</div>
</template>
</el-table-column>
<el-table-column prop="createdTime" header-align="center" align="center" label="注册时间">
<el-table-column prop="mobile" header-align="center" align="center" label="所需积分">
</el-table-column>
<el-table-column label="操作" fixed="right" width="230" 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>
<el-button v-if="scope.row.approve===0" type="text" style="color:#1C6AFD;" size="small"
@click="handleToExamine(scope.row)">审核</el-button>
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row)">兑换记录</el-button>
</template>
</el-table-column>
</el-table>
@ -126,6 +112,7 @@
export default {
data () {
return {
goodsList:[],
disabled:false,
identityList: [{ name: '医疗急救', key: '0' },
{ name: '体育竞技', key: '1' },
@ -212,9 +199,23 @@
this.getFormInfo()
this.getElderlyInfo()
this.getVolunteerOrg()
this.getGoodslist()
},
methods: {
//
async getGoodslist() {
const url = "/sys/dict/data/dictlist";
const params = {
dictType: "goods_category",
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.goodsList = data || [];
} else {
this.$message.error(msg);
}
},
//
async getVolunteerOrg() {
const url = "/voluntary/volunteerOrg/page"

Loading…
Cancel
Save