Browse Source

志愿组织

feature
是小王呀\24601 12 months ago
parent
commit
5e48f2a596
  1. 4
      src/views/modules/shequzhili/event/eventList.vue
  2. 2
      src/views/modules/volunteer/Dynamicmanagement/index.vue
  3. 166
      src/views/modules/volunteer/VoluntaryOrganization/MemberManagement.vue
  4. 302
      src/views/modules/volunteer/VoluntaryOrganization/add.vue
  5. 396
      src/views/modules/volunteer/VoluntaryOrganization/edit.vue
  6. 38
      src/views/modules/volunteer/VoluntaryOrganization/index.vue
  7. 13
      src/views/modules/volunteer/VoluntaryOrganization/process.vue

4
src/views/modules/shequzhili/event/eventList.vue

@ -545,12 +545,14 @@ export default {
let url = '/governance/icEvent/downloadTemplate'; let url = '/governance/icEvent/downloadTemplate';
let params = {}; let params = {};
await this.$http({ await this.$http({
method: 'POST', method: 'GET',
url, url,
responseType: 'blob', responseType: 'blob',
data: params data: params
}) })
.then(res => { .then(res => {
console.log(res,"res");
if (res.headers['content-disposition']) { if (res.headers['content-disposition']) {
let fileName = window.decodeURI(res.headers['content-disposition'].split(';')[1].split('=')[1]); let fileName = window.decodeURI(res.headers['content-disposition'].split(';')[1].split('=')[1]);
let blob = new Blob([res.data], { let blob = new Blob([res.data], {

2
src/views/modules/volunteer/Dynamicmanagement/index.vue

@ -3,7 +3,7 @@
<div class="m-search"> <div class="m-search">
<el-form :inline="true" ref="ref_searchform" :label-width="'100px'"> <el-form :inline="true" ref="ref_searchform" :label-width="'100px'">
<div> <div>
<el-form-item label="标题" :label-width="'50px'"> <el-form-item label="标题" >
<el-input v-model.trim="formData.OrganizationName" size="small" class="item_width_1" clearable <el-input v-model.trim="formData.OrganizationName" size="small" class="item_width_1" clearable
placeholder="请输入"> placeholder="请输入">
</el-input> </el-input>

166
src/views/modules/volunteer/VoluntaryOrganization/MemberManagement.vue

@ -7,11 +7,11 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="加入时间" label-width="100px"> <el-form-item label="加入时间" label-width="100px">
<el-date-picker v-model="formData.createdTimeFrom" type="datetime" placeholder="开始时间" <el-date-picker v-model="formData.startTime" 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">
</el-date-picker> </el-date-picker>
<span style="margin: 0 10px;"></span> <span style="margin: 0 10px;"></span>
<el-date-picker v-model="formData.createdTimeTo" type="datetime" placeholder="结束时间" <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" @change="actcontrolTime"> format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" @change="actcontrolTime">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -23,19 +23,19 @@
<div > <div >
<el-table :data="tableData" border height="250" > <el-table :data="tableData" border height="250" >
<el-table-column label="序号" width="80" header-align="center" align="center" type="index"></el-table-column> <el-table-column label="序号" width="80" header-align="center" align="center" type="index"></el-table-column>
<el-table-column prop="pointsClassName" header-align="center" align="center" label="加入时间"> <el-table-column prop="createdTime" header-align="center" align="center" label="加入时间">
</el-table-column> </el-table-column>
<el-table-column prop="createdTime" header-align="center" align="center" label="所属社区"> <el-table-column prop="agencyName" header-align="center" align="center" label="所属社区">
</el-table-column> </el-table-column>
. <el-table-column prop="operationName" header-align="center" align="center" label="姓名"> . <el-table-column prop="name" header-align="center" align="center" label="姓名">
</el-table-column> </el-table-column>
<el-table-column prop="pointsDelta" header-align="center" align="center" label="身份证号"> <el-table-column prop="idCard" header-align="center" align="center" label="身份证号">
</el-table-column> </el-table-column>
<el-table-column prop="pointsDelta" header-align="center" align="center" label="手机号"> <el-table-column prop="mobile" header-align="center" align="center" label="手机号">
</el-table-column> </el-table-column>
<el-table-column prop="pointsDelta" header-align="center" align="center" label="活动次数"> <el-table-column prop="actNum" header-align="center" align="center" label="活动次数">
</el-table-column> </el-table-column>
<el-table-column prop="pointsDelta" header-align="center" align="center" label="服务时"> <el-table-column prop="leftPoints" header-align="center" align="center" label="服务时">
</el-table-column> </el-table-column>
</el-table> </el-table>
<div> <div>
@ -61,34 +61,13 @@
data() { data() {
return { return {
formData: { formData: {
createdTimeTo:"", name: "",
createdTimeTo:"", mobile: "",
pointsClass:"", volunteerOrgId: "",
optionsStatus: [ startTime: "",
{ endTime: "",
code:1,
name:"活动积分"
},
{
code:2,
name:"平台积分"
},
{
code:3,
name:"操作积分"
},
],
},
labelPosition: 'right',
tableData: [],
integralnum: 1,
radio:3,
textarea: '',
options: [],
behaviorName: '',
description:"",
pointsDelta:"",
Positive: '', Positive: '',
},
pageSize: 10, pageSize: 10,
pageNo: 1, pageNo: 1,
total: 0, total: 0,
@ -110,12 +89,46 @@
}, },
methods: { methods: {
//
async getlist() {
const url = "/voluntary/volunteerInfo/page";
let params={
id:this.list.id,
name:this.formData.name,
mobile:this.formData.mobile,
// description:this.description,
pointsClass:this.formData.pointsClass,
pageNo:this.pageNo,
pageSize:this.pageSize,
// pointsDelta:this.Positive+this.integralnum,
// primaryPoints:this.tableData.points
volunteerOrgId:this.formData.volunteerOrgId,
startTime:this.formData.startTime,
endTime:this.formData.endTime
}
console.log(params,"params");
const { data, code, msg } = await requestPost(url,params);
if (code === 0) {
this.tableData=data.list
this.total=data.total
console.log("列表请求成功!!!!!!!!!!!!!!");
// console.log("");
// this.$message({
// message: "",
// type: "success",
// });
// this.$emit('summDetailClose')
} else {
}
},
// //
actcontrolTime(){ actcontrolTime(){
console.log("dislfj"); console.log("dislfj");
if(this.formData.createdTimeFrom>this.formData.createdTimeTo){ if(this.formData.startTime>this.formData.endTime){
this.$message.error('活动结束时间不能在活动开始时间之前'); this.$message.error('活动结束时间不能在活动开始时间之前');
this.formData.createdTimeTo='' this.formData.endTime=''
return return
} }
}, },
@ -143,81 +156,22 @@
}, },
// // //
async getpoint1s() { // async getpoint1s() {
const url = "/voluntary/points/adjustVolunteerPoints/reasonsList"; // const url = "/voluntary/points/adjustVolunteerPoints/reasonsList";
let params={
}
await requestGet(url,params).then((res)=>{
if (res.code === 0) {
console.log("列表请求成功!!!!!!!!!!!!!!");
this.optionsStatus = res.data
console.log(this.optionsStatus);
} else {
}
})
},
//
// async getTableData() {
// const url = "/voluntary/points/adjustVolunteerPoints/commit";
// let params={ // let params={
// volunteerId:this.list.id,
// reason:this.behaviorName,
// description:this.description,
// pointsDelta:this.Positive+this.integralnum,
// primaryPoints:this.tableData.points
// // volunteerId:this.list.id,
// // mobile:this.formData.phone,
// // name:this.formData.name
// } // }
// console.log(params,"params"); // await requestGet(url,params).then((res)=>{
// if (res.code === 0) {
// const { data, code, msg } = await requestPost(url,params);
// if (code === 0) {
// console.log(""); // console.log("");
// this.$message({ // this.optionsStatus = res.data
// message: "", // console.log(this.optionsStatus);
// type: "success",
// });
// this.$emit('summDetailClose')
// } else { // } else {
// } // }
// })
// }, // },
async getlist() {
const url = "/voluntary/points/listPointsChangeRecord";
let params={
volunteerId:this.list.id,
createdTimeFrom:this.formData.createdTimeFrom,
createdTimeTo:this.formData.createdTimeTo,
// description:this.description,
pointsClass:this.formData.pointsClass,
pageNo:this.pageNo,
pageSize:this.pageSize,
// pointsDelta:this.Positive+this.integralnum,
// primaryPoints:this.tableData.points
// volunteerId:this.list.id,
// mobile:this.formData.phone,
// name:this.formData.name
}
console.log(params,"params");
const { data, code, msg } = await requestGet(url,params);
if (code === 0) {
this.tableData=data.list
this.total=data.total
console.log("列表请求成功!!!!!!!!!!!!!!");
// console.log("");
// this.$message({
// message: "",
// type: "success",
// });
// this.$emit('summDetailClose')
} else {
}
},
handleSubmit(){ handleSubmit(){
this.$emit('MemberManagementClose') this.$emit('MemberManagementClose')
}, },

302
src/views/modules/volunteer/VoluntaryOrganization/add.vue

@ -21,7 +21,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="服务类型" label-width="150px" prop="serviceTypeList"> <el-form-item label="服务类型" label-width="150px" prop="serviceTypeList">
<el-select multiple-limit='4' class="u-item-width-normal" v-model.trim="formData.serviceTypeList" placeholder="请选择" clearable multiple> <el-select multiple-limit='4' class="u-item-width-normal" v-model.trim="formData.serviceTypeList" placeholder="请选择" clearable multiple>
<el-option v-for="item in ServicetypeList" :key="item.Servicetypeust" :label="item.typeName" :value="item.id" > <el-option v-for="item in ServicetypeListName" :key="item.value" :label="item.label" :value="item.value" >
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -29,7 +29,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="组织类型" label-width="150px" prop="Organizationaltype"> <el-form-item label="组织类型" label-width="150px" prop="Organizationaltype">
<el-select class="u-item-width-normal" v-model.trim="formData.Organizationaltype" placeholder="请选择" clearable > <el-select class="u-item-width-normal" v-model.trim="formData.Organizationaltype" placeholder="请选择" clearable >
<el-option v-for="item in OrganizationaltypeList" :key="item.typeName" :label="item.typeName" :value="item.id"> <el-option v-for="item in OrganizationaltypeList" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -88,7 +88,7 @@
</el-form-item> </el-form-item>
<el-form-item label="品牌展示图" label-width="150px" prop="brandImg"> <el-form-item label="品牌展示图" label-width="150px" prop="brandImg">
<template> <template>
<upload-image :defaultFileList="formData.brandImg" :limit="1" @change="onChangeFileList" <upload-image :defaultFileList="formData.brandImg" :limit="1" @change="onChangeFileList1"
@file-removed="removedImg"></upload-image> @file-removed="removedImg"></upload-image>
</template> </template>
</el-form-item> </el-form-item>
@ -122,21 +122,12 @@ var geocoder // 新建一个正逆地址解析类
let loading // let loading //
export default { export default {
data() { data() {
return { return {
activityImgs: [],//
fileList:[], fileList:[],
fileList1:[],
searchValue:"", searchValue:"",
ServicetypeList:[ OrganizationaltypeList:[],
{ label: "敬老爱老", value: 1 }, ServicetypeListName:[],
{ label: "助残帮困", value: 2 },
{ label: "扶贫帮困", value: 3 },
{ label: "环保绿化", value: 4 },
{ label: "文化教育", value: 5 },
{ label: "扶贫帮困", value: 6 },
{ label: "其他", value: 7 },
],
Organizationaltype:[ Organizationaltype:[
{ label: "社区", value: 1 }, { label: "社区", value: 1 },
{ label: "企业", value: 2 }, { label: "企业", value: 2 },
@ -144,7 +135,7 @@ export default {
], ],
formData: formData:
{ {
status:"",// status:"pass",//
numberNum:"",// numberNum:"",//
userId:"",//id userId:"",//id
agencyId:"",//id agencyId:"",//id
@ -162,7 +153,6 @@ export default {
agencyName:"",// agencyName:"",//
serviceTypeList:[],// serviceTypeList:[],//
address: "",// address: "",//
activityImgs: [],//
longitude: this.$store.state.user.longitude, // longitude: this.$store.state.user.longitude, //
latitude: this.$store.state.user.latitude,// latitude: this.$store.state.user.latitude,//
}, },
@ -176,9 +166,21 @@ export default {
components: { Tinymce, UploadImage }, components: { Tinymce, UploadImage },
mounted() { mounted() {
this.volunteerservicetype()
this.volunteertype()
this.formData.agencyId=this.$store.state.user.agencyId
this.formData.agencyName=this.$store.state.user.agencyName this.formData.agencyName=this.$store.state.user.agencyName
let { latitude, longitude } = this.$store.state.user;
if (!latitude || latitude == "" || latitude == "0") {
latitude = 39.9088810666821;
longitude = 116.39743841556731;
}
this.formData.latitude = latitude;
this.formData.longitude = longitude;
this.activityType() this.activityType()
this.listServerOrg() this.listServerOrg()
}, },
methods: { methods: {
@ -195,69 +197,69 @@ export default {
return div.textContent || div.innerText || ''; return div.textContent || div.innerText || '';
}, },
// // //
handleImgSuccess(res, file, fileList) { // handleImgSuccess(res, file, fileList) {
if (res.code === 0 && res.msg === 'success') { // if (res.code === 0 && res.msg === 'success') {
let format = file.name.split('.').pop(); // let format = file.name.split('.').pop();
let srcType = file.raw.type; // let srcType = file.raw.type;
let type = 'file'; // let type = 'file';
if (srcType.indexOf('image') != -1) { // if (srcType.indexOf('image') != -1) {
type = 'image'; // type = 'image';
} else if (srcType.indexOf('video') != -1) { // } else if (srcType.indexOf('video') != -1) {
type = 'video'; // type = 'video';
} // }
// this.formData.activityImgs.push({ // // this.formData.activityImgs.push({
// format, // // format,
// name: file.name, // // name: file.name,
// size: file.size, // // size: file.size,
// type, // // type,
// url: res.data.url // // url: res.data.url
// }); // // });
// console.log('this.formData.activityImgs',res.data.url) // // console.log('this.formData.activityImgs',res.data.url)
this.formData.activityImgs.push(res.data.url); // this.formData.activityImgs.push(res.data.url);
} else { // } else {
this.$message.error(res.msg); // this.$message.error(res.msg);
} // }
}, // },
// // //
handleImgRemove(file) { // handleImgRemove(file) {
console.log('handleImgRemove', file); // console.log('handleImgRemove', file);
if (file.response) { // if (file.response) {
let index = this.formData.activityImgs.findIndex(item => item.url == file.response.data.url); // let index = this.formData.activityImgs.findIndex(item => item.url == file.response.data.url);
this.formData.activityImgs.splice(index, 1); // this.formData.activityImgs.splice(index, 1);
} else if (file.url) { // } else if (file.url) {
let index = this.formData.activityImgs.findIndex(item => item.url == file.url); // let index = this.formData.activityImgs.findIndex(item => item.url == file.url);
this.formData.activityImgs.splice(index, 1); // this.formData.activityImgs.splice(index, 1);
} // }
}, // },
// //
handleImgPreview(file) { // handleImgPreview(file) {
console.log(file); // console.log(file);
window.open(file.url || file.response.data.url); // window.open(file.url || file.response.data.url);
}, // },
// // //
handleImgExceed() { // handleImgExceed() {
this.$message({ // this.$message({
type: 'warning', // type: 'warning',
message: '文件数量最多不超过三个' // message: ''
}); // });
}, // },
// //
beforeImgUpload(file) { // beforeImgUpload(file) {
const isLt1M = file.size / 1024 / 1024 < 10; // const isLt1M = file.size / 1024 / 1024 < 10;
const srcType = file.type; // const srcType = file.type;
const format = file.name.split('.').pop(); // const format = file.name.split('.').pop();
if (!isLt1M) { // if (!isLt1M) {
this.$message.error('上传文件大小不能超过 10MB!'); // this.$message.error(' 10MB!');
return false; // return false;
} // }
if (srcType.indexOf('image') == -1) { // if (srcType.indexOf('image') == -1) {
this.$message.error('仅限图片格式'); // this.$message.error('');
return false; // return false;
} // }
return true; // return true;
}, // },
async activityType() { async activityType() {
const url = "/actual/base/activityType/page" const url = "/actual/base/activityType/page"
@ -319,9 +321,21 @@ export default {
fileUrl: item.response.data.url fileUrl: item.response.data.url
})) : []; // efileList })) : []; // efileList
if (e.length > 0) { if (e.length > 0) {
this.formData.coverPic = e[0].response.data.url; this.formData.qualification = e[0].response.data.url;
} else { } else {
this.formData.coverPic = ''; this.formData.qualification = '';
}
},
onChangeFileList1(e) {
console.log(e, 'sssssb');
this.fileList1 = e.length > 0 ? e.map(item => ({
fileType: '0',
fileUrl: item.response.data.url
})) : []; // efileList
if (e.length > 0) {
this.formData.brandImg = e[0].response.data.url;
} else {
this.formData.brandImg = '';
} }
}, },
@ -370,44 +384,44 @@ export default {
} }
}, },
async initForm(type, activityId) { // async initForm(type, activityId) {
this.startLoading() // this.startLoading()
this.formType = type // this.formType = type
if (type === 'edit') { // if (type === 'edit') {
if (activityId.activityImgs || activityId.sumUp) { // if (activityId.activityImgs || activityId.sumUp) {
this.records = true // this.records = true
} else { // } else {
this.records = false // this.records = false
} // }
this.formData = activityId // this.formData = activityId
this.timeRange = [this.formData.startTime, this.formData.endTime] // this.timeRange = [this.formData.startTime, this.formData.endTime]
console.log(activityId,"activityId"); // console.log(activityId,"activityId");
if (activityId.coverPic) { // if (activityId.coverPic) {
let ob = { // let ob = {
fileType: '0', // fileType: '0',
fileUrl: activityId.coverPic // fileUrl: activityId.coverPic
}; // };
this.fileList = [ob]; // this.fileList = [ob];
this.formData.coverPic = ob.fileUrl; // this.formData.coverPic = ob.fileUrl;
if (this.formData.online == 1) { // if (this.formData.online == 1) {
this.online = true // this.online = true
} // }
} // }
} else if (type === 'records') { // } else if (type === 'records') {
this.records = true // this.records = true
} else if (type === 'summary') { // } else if (type === 'summary') {
this.formData = activityId // this.formData = activityId
this.formData.activityImgs = [] // this.formData.activityImgs = []
console.log("this.formData", this.formData) // console.log("this.formData", this.formData)
this.records = true // this.records = true
this.summary = false // this.summary = false
} else { // } else {
this.records = false // this.records = false
} // }
this.endLoading() // this.endLoading()
}, // },
async getDemandOptions() { async getDemandOptions() {
this.$http this.$http
@ -469,8 +483,39 @@ export default {
} }
}, },
//
async volunteertype () {
const url = "/sys/dict/data/dictlist"
let params = {
dictType: 'volunteer_org_type'
}
console.log("vol123234");
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.OrganizationaltypeList = data;
} else {
this.$message.error(msg)
}
},
//
async volunteerservicetype () {
const url = "/sys/dict/data/dictlist"
let params = {
dictType: 'volunteer_org_service_type'
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.ServicetypeListName = data;
} else {
this.$message.error(msg)
}
},
// //
async loadFormData() { async loadFormData() {
const url = '/actual/base/icpartyactivity/detail' const url = '/actual/base/icpartyactivity/detail'
@ -548,37 +593,22 @@ export default {
this.addActivity() this.addActivity()
}, },
async addActivity() { async addActivity() {
if (this.formType === 'edit' || this.formType === 'summary') { let url = '/voluntary/volunteerOrg/saveOrUpdate'
let url = '/actual/base/communityActivity/update'
const { data, code, msg } = await requestPost(url, this.formData) const { data, code, msg } = await requestPost(url, this.formData)
if (code === 0) { if (code === 0) {
this.$message({ this.$message({
type: 'success', type: 'success',
message: '操作成功' message: '操作成功'
}) })
this.resetData() // this.resetData()
this.$emit('dialogOk') this.$emit('showAddClose')
this.btnDisable = false
} else {
this.btnDisable = false
this.$message.error(msg)
}
} else {
let url = '/actual/base/communityActivity/save'
const { data, code, msg } = await requestPost(url, this.formData)
if (code === 0) {
this.$message({
type: 'success',
message: '操作成功'
})
this.resetData()
this.$emit('dialogOk')
this.btnDisable = false this.btnDisable = false
} else { } else {
this.btnDisable = false this.btnDisable = false
this.$message.error(msg) this.$message.error(msg)
} }
}
}, },

396
src/views/modules/volunteer/VoluntaryOrganization/edit.vue

@ -20,15 +20,15 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="服务类型" label-width="150px" prop="serviceTypeList" > <el-form-item label="服务类型" label-width="150px" prop="serviceTypeList" >
<el-select multiple-limit='4' class="u-item-width-normal" v-model.trim="formData.serviceTypeList" placeholder="请选择" clearable multiple> <el-select multiple-limit='4' class="u-item-width-normal" v-model.trim="formData.serviceTypeList" placeholder="请选择" clearable multiple>
<el-option v-for="item in ServicetypeList" :key="item.value" :label="item.label" :value="item.value" > <el-option v-for="item in ServicetypeListName" :key="item.value" :label="item.label" :value="item.value" >
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="组织类型" label-width="150px" prop="Organizationaltype" > <el-form-item label="组织类型" label-width="150px" prop="orgType" >
<el-select class="u-item-width-normal" v-model.trim="formData.Organizationaltype" placeholder="请选择" clearable > <el-select class="u-item-width-normal" v-model.trim="formData.orgType" placeholder="请选择" clearable >
<el-option v-for="item in Organizationaltype" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="item in OrganizationaltypeList" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -67,7 +67,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="组织封面图" label-width="150px" prop="fileList"> <el-form-item label="组织封面图" label-width="150px" prop="fileList">
<template> <template>
<upload-image :defaultFileList="fileList" :limit="1" @change="onChangeFileList" <upload-image :defaultFileList="fileList" :limit="1" @change="onChangeFileList" :file-list="formData.fileList"
@file-removed="removedImg"></upload-image> @file-removed="removedImg"></upload-image>
</template> </template>
</el-form-item> </el-form-item>
@ -124,19 +124,11 @@
data() { data() {
return { return {
activityImgs: [],//
fileList:[], fileList:[],
fileList1:[],
searchValue:"", searchValue:"",
ServicetypeList:[ OrganizationaltypeList:[],
{ label: "敬老爱老", value: 1 }, ServicetypeListName:[],
{ label: "助残帮困", value: 2 },
{ label: "扶贫帮困", value: 3 },
{ label: "环保绿化", value: 4 },
{ label: "文化教育", value: 5 },
{ label: "扶贫帮困", value: 6 },
{ label: "其他", value: 7 },
],
Organizationaltype:[ Organizationaltype:[
{ label: "社区", value: 1 }, { label: "社区", value: 1 },
{ label: "企业", value: 2 }, { label: "企业", value: 2 },
@ -144,39 +136,27 @@
], ],
formData: formData:
{ {
VolunteerPic:"",// status:"pass",//
Volunteerbrand:"",// numberNum:"",//
Organizational:"",// userId:"",//id
fileList: [],// agencyId:"",//id
AdministratorIDCard:"",// orgType:"",
Administratorphone:"",// brandImg:"",//
AdministratorName:"",// brand:"",//
introduction:"",//
qualification: "",//
idCard:"",//
mobile:"",//
operator:"",//
Organizationaltype:"",// Organizationaltype:"",//
Servicetype:"",// // serviceTypeList:"",//
OrganizationName:"",// orgName:"",//
agencyName:"",// agencyName:"",//
Servicetype:[], serviceTypeList:[],//
id: "",
typeId: "",
activityName: "",//
status: 0,//
assistingParty: "",//
startTime: "",//
endTime: "",//
coverPic: "",//
content: "",//
address: "",// address: "",//
online: 0,//
cutOffTime: "",//
points: 0,//
participants: 0,//
sendMessage: 0,//
sumUp: "",//
activityImgs: [],//
longitude: this.$store.state.user.longitude, // longitude: this.$store.state.user.longitude, //
latitude: this.$store.state.user.latitude,// latitude: this.$store.state.user.latitude,//
}, },
corganizerList: [], corganizerList: [],
uploadUrl: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadqrcodeV2', uploadUrl: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadqrcodeV2',
customerId: localStorage.getItem('customerId'), customerId: localStorage.getItem('customerId'),
@ -188,9 +168,21 @@
components: { Tinymce, UploadImage }, components: { Tinymce, UploadImage },
mounted() { mounted() {
console.log(this.VolunteerList,"this.VolunteerLis"); console.log(this.VolunteerList,"this.VolunteerLis");
this.formData=this.VolunteerList let { latitude, longitude } = this.$store.state.user;
if (!latitude || latitude == "" || latitude == "0") {
latitude = 39.9088810666821;
longitude = 116.39743841556731;
}
this.formData.latitude = latitude;
this.formData.longitude = longitude;
this.volunteerDetail()
this.volunteerservicetype()
this.volunteertype()
this.formData.agencyId=this.$store.state.user.agencyId
this.formData.agencyName=this.$store.state.user.agencyName
this.activityType() this.activityType()
this.listServerOrg() this.listServerOrg()
}, },
methods: { methods: {
@ -207,69 +199,69 @@
return div.textContent || div.innerText || ''; return div.textContent || div.innerText || '';
}, },
// // //
handleImgSuccess(res, file, fileList) { // handleImgSuccess(res, file, fileList) {
if (res.code === 0 && res.msg === 'success') { // if (res.code === 0 && res.msg === 'success') {
let format = file.name.split('.').pop(); // let format = file.name.split('.').pop();
let srcType = file.raw.type; // let srcType = file.raw.type;
let type = 'file'; // let type = 'file';
if (srcType.indexOf('image') != -1) { // if (srcType.indexOf('image') != -1) {
type = 'image'; // type = 'image';
} else if (srcType.indexOf('video') != -1) { // } else if (srcType.indexOf('video') != -1) {
type = 'video'; // type = 'video';
} // }
// this.formData.activityImgs.push({ // // this.formData.activityImgs.push({
// format, // // format,
// name: file.name, // // name: file.name,
// size: file.size, // // size: file.size,
// type, // // type,
// url: res.data.url // // url: res.data.url
// }); // // });
// console.log('this.formData.activityImgs',res.data.url) // // console.log('this.formData.activityImgs',res.data.url)
this.formData.activityImgs.push(res.data.url); // this.formData.activityImgs.push(res.data.url);
} else { // } else {
this.$message.error(res.msg); // this.$message.error(res.msg);
} // }
}, // },
// // //
handleImgRemove(file) { // handleImgRemove(file) {
console.log('handleImgRemove', file); // console.log('handleImgRemove', file);
if (file.response) { // if (file.response) {
let index = this.formData.activityImgs.findIndex(item => item.url == file.response.data.url); // let index = this.formData.activityImgs.findIndex(item => item.url == file.response.data.url);
this.formData.activityImgs.splice(index, 1); // this.formData.activityImgs.splice(index, 1);
} else if (file.url) { // } else if (file.url) {
let index = this.formData.activityImgs.findIndex(item => item.url == file.url); // let index = this.formData.activityImgs.findIndex(item => item.url == file.url);
this.formData.activityImgs.splice(index, 1); // this.formData.activityImgs.splice(index, 1);
} // }
}, // },
// //
handleImgPreview(file) { // handleImgPreview(file) {
console.log(file); // console.log(file);
window.open(file.url || file.response.data.url); // window.open(file.url || file.response.data.url);
}, // },
// // //
handleImgExceed() { // handleImgExceed() {
this.$message({ // this.$message({
type: 'warning', // type: 'warning',
message: '文件数量最多不超过三个' // message: ''
}); // });
}, // },
// //
beforeImgUpload(file) { // beforeImgUpload(file) {
const isLt1M = file.size / 1024 / 1024 < 10; // const isLt1M = file.size / 1024 / 1024 < 10;
const srcType = file.type; // const srcType = file.type;
const format = file.name.split('.').pop(); // const format = file.name.split('.').pop();
if (!isLt1M) { // if (!isLt1M) {
this.$message.error('上传文件大小不能超过 10MB!'); // this.$message.error(' 10MB!');
return false; // return false;
} // }
if (srcType.indexOf('image') == -1) { // if (srcType.indexOf('image') == -1) {
this.$message.error('仅限图片格式'); // this.$message.error('');
return false; // return false;
} // }
return true; // return true;
}, // },
async activityType() { async activityType() {
const url = "/actual/base/activityType/page" const url = "/actual/base/activityType/page"
@ -331,9 +323,21 @@
fileUrl: item.response.data.url fileUrl: item.response.data.url
})) : []; // efileList })) : []; // efileList
if (e.length > 0) { if (e.length > 0) {
this.formData.coverPic = e[0].response.data.url; this.formData.qualification = e[0].response.data.url;
} else { } else {
this.formData.coverPic = ''; this.formData.qualification = '';
}
},
onChangeFileList1(e) {
console.log(e, 'sssssb');
this.fileList1 = e.length > 0 ? e.map(item => ({
fileType: '0',
fileUrl: item.response.data.url
})) : []; // efileList
if (e.length > 0) {
this.formData.brandImg = e[0].response.data.url;
} else {
this.formData.brandImg = '';
} }
}, },
@ -382,44 +386,44 @@
} }
}, },
async initForm(type, activityId) { // async initForm(type, activityId) {
this.startLoading() // this.startLoading()
this.formType = type // this.formType = type
if (type === 'edit') { // if (type === 'edit') {
if (activityId.activityImgs || activityId.sumUp) { // if (activityId.activityImgs || activityId.sumUp) {
this.records = true // this.records = true
} else { // } else {
this.records = false // this.records = false
} // }
this.formData = activityId // this.formData = activityId
this.timeRange = [this.formData.startTime, this.formData.endTime] // this.timeRange = [this.formData.startTime, this.formData.endTime]
console.log(activityId,"activityId"); // console.log(activityId,"activityId");
if (activityId.coverPic) { // if (activityId.coverPic) {
let ob = { // let ob = {
fileType: '0', // fileType: '0',
fileUrl: activityId.coverPic // fileUrl: activityId.coverPic
}; // };
this.fileList = [ob]; // this.fileList = [ob];
this.formData.coverPic = ob.fileUrl; // this.formData.coverPic = ob.fileUrl;
if (this.formData.online == 1) { // if (this.formData.online == 1) {
this.online = true // this.online = true
} // }
} // }
} else if (type === 'records') { // } else if (type === 'records') {
this.records = true // this.records = true
} else if (type === 'summary') { // } else if (type === 'summary') {
this.formData = activityId // this.formData = activityId
this.formData.activityImgs = [] // this.formData.activityImgs = []
console.log("this.formData", this.formData) // console.log("this.formData", this.formData)
this.records = true // this.records = true
this.summary = false // this.summary = false
} else { // } else {
this.records = false // this.records = false
} // }
this.endLoading() // this.endLoading()
}, // },
async getDemandOptions() { async getDemandOptions() {
this.$http this.$http
@ -481,8 +485,58 @@
} }
}, },
//
async volunteerDetail () {
const url = "/voluntary/volunteerOrg/getDetail"
let params = {
id: this.VolunteerList.id
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.formData = data[0];
this.searchValue= this.formData.address
this.formData.fileList=[{url:data[0].qualification}]
console.log(this.formData,"this.formData");
} else {
this.$message.error(msg)
}
},
//
async volunteertype () {
const url = "/sys/dict/data/dictlist"
let params = {
dictType: 'volunteer_org_type'
}
console.log("vol123234");
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.OrganizationaltypeList = data;
} else {
this.$message.error(msg)
}
},
//
async volunteerservicetype () {
const url = "/sys/dict/data/dictlist"
let params = {
dictType: 'volunteer_org_service_type'
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.ServicetypeListName = data;
} else {
this.$message.error(msg)
}
},
// //
async loadFormData() { async loadFormData() {
const url = '/actual/base/icpartyactivity/detail' const url = '/actual/base/icpartyactivity/detail'
@ -508,6 +562,8 @@
}, },
async handleComfirm() { async handleComfirm() {
console.log(this.formData," this.formData");
if (!this.formData.agencyName) { if (!this.formData.agencyName) {
this.$message.error('请选择所属组织'); this.$message.error('请选择所属组织');
return; return;
@ -515,7 +571,7 @@
if (!this.formData.Organizational) { if (!this.formData.introduction) {
this.$message.error('请输入组织介绍'); this.$message.error('请输入组织介绍');
return; return;
} }
@ -525,17 +581,17 @@
return; return;
} }
if (!this.formData.AdministratorIDCard) { if (!this.formData.idCard) {
this.$message.error('请输入身份证信息'); this.$message.error('请输入身份证信息');
return; return;
} }
if (!this.formData.Administratorphone) { if (!this.formData.mobile) {
this.$message.error('请输入管理员电话'); this.$message.error('请输入管理员电话');
return; return;
} }
if (!this.formData.AdministratorName) { if (!this.formData.operator) {
this.$message.error('请输入管理员姓名'); this.$message.error('请输入管理员姓名');
return; return;
} }
@ -545,58 +601,42 @@
return; return;
} }
if (!this.formData.Servicetype) { if (!this.formData.serviceTypeList) {
this.$message.error('请输入服务类型'); this.$message.error('请输入服务类型');
return; return;
} }
if (!this.formData.OrganizationName) { if (!this.formData.orgName) {
this.$message.error('请输入组织名称'); this.$message.error('请输入组织名称');
return; return;
} }
console.log(this.formData,"this.formData"); console.log(this.formData,"this.formData");
// this.addActivity() this.addActivity()
this.$emit('showEditClose')
}, },
async addActivity() { async addActivity() {
if (this.formType === 'edit' || this.formType === 'summary') { let url = '/voluntary/volunteerOrg/saveOrUpdate'
let url = '/actual/base/communityActivity/update'
const { data, code, msg } = await requestPost(url, this.formData) const { data, code, msg } = await requestPost(url, this.formData)
if (code === 0) { if (code === 0) {
this.$message({ this.$message({
type: 'success', type: 'success',
message: '操作成功' message: '操作成功'
}) })
this.resetData() // this.resetData()
this.$emit('dialogOk') this.$emit('showAddClose')
this.btnDisable = false this.btnDisable = false
} else { } else {
this.btnDisable = false this.btnDisable = false
this.$message.error(msg) this.$message.error(msg)
} }
} else {
let url = '/actual/base/communityActivity/save'
const { data, code, msg } = await requestPost(url, this.formData)
if (code === 0) {
this.$message({
type: 'success',
message: '操作成功'
})
this.resetData()
this.$emit('dialogOk')
this.btnDisable = false
} else {
this.btnDisable = false
this.$message.error(msg)
}
}
}, },
handleCancle() { handleCancle() {
console.log("sdlkfjklsdf "); console.log("sdlkfjklsdf ");
this.$emit('showEditClose') this.$emit('showAddClose')
}, },
@ -748,30 +788,30 @@
dataRule() { dataRule() {
return { return {
OrganizationName: [ orgName: [
{ required: true, message: '组织名称不能为空', trigger: 'blur' } { required: true, message: '组织名称不能为空', trigger: 'blur' }
], ],
Servicetype: [ serviceTypeList: [
{ required: true, message: '请选择服务类型', trigger: 'blur' } { required: true, message: '请选择服务类型', trigger: 'blur' }
], ],
Organizationaltype: [ Organizationaltype: [
{ required: true, message: '请选择组织类型', trigger: 'blur' } { required: true, message: '请选择组织类型', trigger: 'blur' }
], ],
AdministratorName: [ operator: [
{ required: true, message: '请输入管理员姓名', trigger: 'blur' } { required: true, message: '请输入管理员姓名', trigger: 'blur' }
], ],
AdministratorIDCard: [ idCard: [
{ required: true, message: '身份证号不能为空不能为空', trigger: 'blur' }, { required: true, message: '身份证号不能为空不能为空', trigger: 'blur' },
{ pattern: /^(?:[1-9]\d{5}(18|19|20)?\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)|[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3})$/, message: '请输入正确的身份证号', trigger: 'blur' } { pattern: /^(?:[1-9]\d{5}(18|19|20)?\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)|[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3})$/, message: '请输入正确的身份证号', trigger: 'blur' }
], ],
Administratorphone: [ mobile: [
{ required: true, message: '管理员电话不能为空不能为空', trigger: 'blur' }, { required: true, message: '管理员电话不能为空不能为空', trigger: 'blur' },
{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号码', trigger: 'blur' } { pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号码', trigger: 'blur' }
], ],
fileList: [ fileList: [
{ required: true, message: '请上传组织封面图', trigger: 'blur' } { required: true, message: '请上传组织封面图', trigger: 'blur' }
], ],
Organizational: [ introduction: [
{ required: true, message: '请填写组织介绍', trigger: 'blur' }, { required: true, message: '请填写组织介绍', trigger: 'blur' },
{ min:50, message: '请输入50字以上的介绍', trigger: 'blur'} { min:50, message: '请输入50字以上的介绍', trigger: 'blur'}
], ],

38
src/views/modules/volunteer/VoluntaryOrganization/index.vue

@ -78,7 +78,7 @@
@click="handleshowMember(scope.row)">成员管理</el-button> @click="handleshowMember(scope.row)">成员管理</el-button>
<el-button type="text" style="color:#1C6AFD;" size="small" <el-button type="text" style="color:#1C6AFD;" size="small"
@click="handleDel(scope.row)">删除</el-button> @click="handleDel(scope.row)">删除</el-button>
<el-button type="text" style="color:#1C6AFD;" size="small" <el-button v-if="scope.row.status == 'processing'" type="text" style="color:#1C6AFD;" size="small"
@click="handleprocessl(scope.row)">审核</el-button> @click="handleprocessl(scope.row)">审核</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -153,6 +153,7 @@ export default {
tableData: [ tableData: [
], ],
importLoading:false,
showInfo:false, showInfo:false,
}; };
@ -184,8 +185,11 @@ export default {
this.showprocess=false this.showprocess=false
}, },
// //
handleshowMember(){ handleshowMember(row){
console.log (row,this.fmData,"row");
this.showMember=true this.showMember=true
this.fmData=row
}, },
// //
MemberManagementClose(){ MemberManagementClose(){
@ -210,6 +214,7 @@ export default {
console.log("sdlkfjklsdf1"); console.log("sdlkfjklsdf1");
this.showAdd=false this.showAdd=false
this.getTableData()
}, },
// //
showInfoClose(){ showInfoClose(){
@ -236,7 +241,10 @@ export default {
}, },
// //
async uploadHttpRequest(file) { async uploadHttpRequest(file) {
log("file", file);
this.importLoading = true; this.importLoading = true;
console.log(this.importLoading,"this.importLoading");
this.importBtnTitle = '正在上传中...'; this.importBtnTitle = '正在上传中...';
this.$message({ this.$message({
showClose: true, showClose: true,
@ -245,20 +253,25 @@ export default {
duration: 3000 duration: 3000
}); });
let than = this; let than = this;
document.getElementById('clickA').addEventListener('click', function () { console.log(than,"than");
than.$router.replace('/main/importRecord-index');
}); // document.getElementById('clickA').addEventListener('click', function () {
// than.$router.replace('/main/importRecord-index');
// });
const formData = new FormData(); //FormDataappend('key', value) const formData = new FormData(); //FormDataappend('key', value)
formData.append('file', file.file); // formData.append('file', file.file); //
formData.append('code', ''); // formData.append('code', ''); //
let url = '/governance/icEvent/importEvent' console.log(formData,"formData");
if (this.importType == 2) {
url = '/governance/icEvent/importAwo' let url = '/voluntary/volunteerOrg/import'
} // if (this.importType == 2) {
// url = '/governance/icEvent/importAwo'
// }
console.log(url) console.log(url)
await this.$http await this.$http
.post(url, formData) .post(url, formData)
.then(res => { .then(res => {
log("res", res);
if (res.data.code == 0 && res.data.msg == 'success') { if (res.data.code == 0 && res.data.msg == 'success') {
const data = res.data.data; const data = res.data.data;
this.dataList = [ this.dataList = [
@ -300,6 +313,7 @@ export default {
} }
}, },
beforeExcelUpload(file) { beforeExcelUpload(file) {
console.log(file,"file");
const isType = file.type === 'application/vnd.ms-excel'; const isType = file.type === 'application/vnd.ms-excel';
const isTypeComputer = file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; const isTypeComputer = file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
const fileType = isType || isTypeComputer; const fileType = isType || isTypeComputer;
@ -354,15 +368,17 @@ export default {
this.getTableData() this.getTableData()
}, },
async handleExportModule() { async handleExportModule() {
let url = "/heart/iccommunityselforganization/import-template-download"; let url = "/voluntary/volunteerOrg/downloadImportTemplate";
let params = {}; let params = {};
await this.$http({ await this.$http({
method: "POST", method: "GET",
url, url,
responseType: "blob", responseType: "blob",
data: params, data: params,
}) })
.then((res) => { .then((res) => {
console.log(res,"resskfk");
if (res.headers["content-disposition"]) { if (res.headers["content-disposition"]) {
let fileName = window.decodeURI( let fileName = window.decodeURI(
res.headers["content-disposition"].split(";")[1].split("=")[1] res.headers["content-disposition"].split(";")[1].split("=")[1]

13
src/views/modules/volunteer/VoluntaryOrganization/process.vue

@ -6,7 +6,7 @@
<div> {{ tableData.orgName }}</div> <div> {{ tableData.orgName }}</div>
</el-form-item> </el-form-item>
<el-form-item label="服务类型"> <el-form-item label="服务类型">
{{ tableData.serviceTypeList }} {{ tableData.serviceTypeName }}
</el-form-item> </el-form-item>
<el-form-item label="组织类型"> <el-form-item label="组织类型">
{{ tableData.Organizationaltype}} {{ tableData.Organizationaltype}}
@ -37,7 +37,7 @@
{{ tableData.address}} {{ tableData.address}}
</el-form-item> </el-form-item>
<el-form-item label="申请时间"> <el-form-item label="申请时间">
{{ tableData.redeemerOrgName}} {{tableData.updatedTime}}
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -86,7 +86,7 @@ export default {
console.log(this.VolunteerList,"list"); console.log(this.VolunteerList,"list");
this.tableData=this.VolunteerList this.tableData=this.VolunteerList
// this.awardId=this.list.id // this.awardId=this.list.id
// this.getTableData() this.getTableData()
}, },
methods: { methods: {
// //
@ -125,15 +125,14 @@ export default {
}, },
getTableData() { getTableData() {
console.log(this.formData); console.log(this.formData);
const url = "/voluntary/pointsAward/admin/detail"; const url = "/voluntary/volunteerOrg/editDetail";
let params = { let params = {
id:this.awardId id:this.VolunteerList.id
} }
requestGet(url, params).then((res) =>{ requestPost(url, params).then((res) =>{
console.log(res,"res"); console.log(res,"res");
if(res.code===0){ if(res.code===0){
console.log("列表请求成功!!!!!!!!!!!!!!"); console.log("列表请求成功!!!!!!!!!!!!!!");
console.log(res.data, "data");
this.tableData = res.data this.tableData = res.data
console.log(this.tableData, "this.tableData"); console.log(this.tableData, "this.tableData");
} }

Loading…
Cancel
Save