17 changed files with 2843 additions and 1046 deletions
@ -0,0 +1,640 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
|
||||
|
<div class="dialog-h-content scroll-h"> |
||||
|
|
||||
|
<el-form ref="ref_form" :inline="true" :model="formData" :rules="dataRule" |
||||
|
class="form"> |
||||
|
<el-row> |
||||
|
<el-col :span="12"> |
||||
|
<el-form-item label="所属栏目" label-width="150px" prop="Servicetype"> |
||||
|
<el-select multiple-limit='4' class="u-item-width-normal" v-model.trim="formData.Servicetype" placeholder="请选择" clearable multiple> |
||||
|
<el-option v-for="item in ServicetypeList" :key="item.Servicetypeust" :label="item.typeName" :value="item.id" > |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<el-form-item label="文章标题" prop="sumUp" label-width="150px"> |
||||
|
<el-input v-model.trim="formData.sumUp" size="small" clearable placeholder="请输入活动名称" |
||||
|
class="u-item-width-normal"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="24"> |
||||
|
<el-form-item label="封面图片" label-width="150px" prop="fileList"> |
||||
|
<template> |
||||
|
<upload-image :defaultFileList="fileList" :limit="1" @change="onChangeFileList" |
||||
|
@file-removed="removedImg"></upload-image> |
||||
|
</template> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="24"> |
||||
|
<el-form-item label="活动详情" prop="zhaomu" style="display: block" label-width="150px"> |
||||
|
<div class="item_width_1"> |
||||
|
<Tinymce class="tinymce_view " v-model.trim="formData.zhaomu" :height="150" placeholder="请输入活动内容" /> |
||||
|
</div> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="24"> |
||||
|
<el-form-item label="置顶 |
||||
|
" style="display: block" prop="peopleCount" label-width="150px"> |
||||
|
<el-switch v-model="formData.online" :active-value='1' :inactive-value='0' |
||||
|
@change="handleSwitchChange"></el-switch> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row></el-form> |
||||
|
</div> |
||||
|
<div class="div_btn"> |
||||
|
<el-button size="small" @click="handleCancle">取 消</el-button> |
||||
|
<el-button size="small" v-if="formType != 'detail'" type="primary" :disabled="btnDisable" |
||||
|
@click="handleComfirm">确 定</el-button> |
||||
|
|
||||
|
</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 { |
||||
|
|
||||
|
activityImgs: [],//活动照片 |
||||
|
fileList:[], |
||||
|
searchValue:"", |
||||
|
ServicetypeList:[ |
||||
|
{ label: "敬老爱老", value: 1 }, |
||||
|
{ label: "助残帮困", value: 2 }, |
||||
|
{ label: "扶贫帮困", value: 3 }, |
||||
|
{ label: "环保绿化", value: 4 }, |
||||
|
{ label: "文化教育", value: 5 }, |
||||
|
{ label: "扶贫帮困", value: 6 }, |
||||
|
{ label: "其他", value: 7 }, |
||||
|
], |
||||
|
Organizationaltype:[ |
||||
|
{ label: "社区", value: 1 }, |
||||
|
{ label: "企业", value: 2 }, |
||||
|
{ label: "学校", value: 3 }, |
||||
|
], |
||||
|
formData: |
||||
|
{ |
||||
|
Servicelevel:"",//服务等级 |
||||
|
VolunteerPic:"",//品牌图片 |
||||
|
Volunteerbrand:"",//志愿品牌 |
||||
|
Organizational:"",//组织介绍 |
||||
|
fileList: [],//封面图片 |
||||
|
AdministratorIDCard:"",//身份证信息 |
||||
|
Administratorphone:"",//管理员电话 |
||||
|
AdministratorName:"",//管理员姓名 |
||||
|
Organizationaltype:"",//组织类型 |
||||
|
Servicetype:"",//服务类型 |
||||
|
OrganizationName:"",//组织名称 |
||||
|
agencyName:"",//所属组织 |
||||
|
id: "", |
||||
|
typeId: "", |
||||
|
activityName: "",//活动名称 |
||||
|
status: 0,//状态 |
||||
|
assistingParty: "",//协办方 |
||||
|
startTime: "",//开始时间 |
||||
|
endTime: "",//结束时间 |
||||
|
coverPic: "",//封面图片地址 |
||||
|
content: "",//活动内容 |
||||
|
address: "",//地址 |
||||
|
online: 0,//开关 |
||||
|
cutOffTime: "",//截止时间 |
||||
|
points: 0,//积分 |
||||
|
participants: 0,//活动人数 |
||||
|
sendMessage: 0,//推送数 |
||||
|
sumUp: "",//活动总结 |
||||
|
activityImgs: [],//图片列表 |
||||
|
longitude: this.$store.state.user.longitude, //经度 |
||||
|
latitude: this.$store.state.user.latitude,//纬度 |
||||
|
}, |
||||
|
|
||||
|
corganizerList: [], |
||||
|
uploadUrl: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadqrcodeV2', |
||||
|
customerId: localStorage.getItem('customerId'), |
||||
|
|
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
components: { Tinymce, UploadImage }, |
||||
|
mounted() { |
||||
|
console.log(this.$store.state.user,"this.$store.state.user"); |
||||
|
|
||||
|
this.formData.agencyName=this.$store.state.user.agencyName |
||||
|
if (this.$store.state.user.level=="district") { |
||||
|
this.formData.Servicelevel="区级" |
||||
|
|
||||
|
} |
||||
|
this.activityType() |
||||
|
this.listServerOrg() |
||||
|
}, |
||||
|
|
||||
|
methods: { |
||||
|
//控制活动时间 |
||||
|
actcontrolTime() { |
||||
|
console.log("dislfj"); |
||||
|
if (this.formData.startTime > this.formData.endTime) { |
||||
|
this.$message.error('活动结束时间不能在活动开始时间之前'); |
||||
|
this.formData.endTime = '' |
||||
|
return |
||||
|
} |
||||
|
}, |
||||
|
validateContent() { |
||||
|
// 使用正则表达式去除HTML标签后检查内容 |
||||
|
const textContent = this.stripHtml(this.formData.sumUp); |
||||
|
if (textContent.trim() === '') { |
||||
|
this.formData.sumUp = null; |
||||
|
} |
||||
|
}, |
||||
|
stripHtml(html) { |
||||
|
const div = document.createElement('div'); |
||||
|
div.innerHTML = html; |
||||
|
return div.textContent || div.innerText || ''; |
||||
|
}, |
||||
|
|
||||
|
// 上传成功 |
||||
|
handleImgSuccess(res, file, fileList) { |
||||
|
if (res.code === 0 && res.msg === 'success') { |
||||
|
let format = file.name.split('.').pop(); |
||||
|
let srcType = file.raw.type; |
||||
|
let type = 'file'; |
||||
|
if (srcType.indexOf('image') != -1) { |
||||
|
type = 'image'; |
||||
|
} else if (srcType.indexOf('video') != -1) { |
||||
|
type = 'video'; |
||||
|
} |
||||
|
// this.formData.activityImgs.push({ |
||||
|
// format, |
||||
|
// name: file.name, |
||||
|
// size: file.size, |
||||
|
// type, |
||||
|
// url: res.data.url |
||||
|
// }); |
||||
|
// console.log('this.formData.activityImgs',res.data.url) |
||||
|
this.formData.activityImgs.push(res.data.url); |
||||
|
|
||||
|
} else { |
||||
|
this.$message.error(res.msg); |
||||
|
} |
||||
|
}, |
||||
|
// 删除图片 |
||||
|
handleImgRemove(file) { |
||||
|
console.log('handleImgRemove', file); |
||||
|
if (file.response) { |
||||
|
let index = this.formData.activityImgs.findIndex(item => item.url == file.response.data.url); |
||||
|
this.formData.activityImgs.splice(index, 1); |
||||
|
} else if (file.url) { |
||||
|
let index = this.formData.activityImgs.findIndex(item => item.url == file.url); |
||||
|
this.formData.activityImgs.splice(index, 1); |
||||
|
} |
||||
|
}, |
||||
|
// 图片预览 |
||||
|
handleImgPreview(file) { |
||||
|
console.log(file); |
||||
|
window.open(file.url || file.response.data.url); |
||||
|
}, |
||||
|
// 文件数量超过限制 |
||||
|
handleImgExceed() { |
||||
|
this.$message({ |
||||
|
type: 'warning', |
||||
|
message: '文件数量最多不超过三个' |
||||
|
}); |
||||
|
}, |
||||
|
// 上传前的验证 |
||||
|
beforeImgUpload(file) { |
||||
|
const isLt1M = file.size / 1024 / 1024 < 10; |
||||
|
const srcType = file.type; |
||||
|
const format = file.name.split('.').pop(); |
||||
|
if (!isLt1M) { |
||||
|
this.$message.error('上传文件大小不能超过 10MB!'); |
||||
|
return false; |
||||
|
} |
||||
|
if (srcType.indexOf('image') == -1) { |
||||
|
this.$message.error('仅限图片格式'); |
||||
|
return false; |
||||
|
} |
||||
|
return true; |
||||
|
}, |
||||
|
|
||||
|
async activityType() { |
||||
|
const url = "/actual/base/activityType/page" |
||||
|
let params = { |
||||
|
// agencyId: this.agencyId |
||||
|
pageSize: 20, |
||||
|
pageNo: 1, |
||||
|
typeName: "", |
||||
|
enabled: 1 |
||||
|
} |
||||
|
const { data, code, msg } = await requestPost(url, params) |
||||
|
if (code === 0) { |
||||
|
this.typeList = data.list |
||||
|
} else { |
||||
|
this.$message.error(msg) |
||||
|
} |
||||
|
this.$nextTick(() => { |
||||
|
if (!map) { |
||||
|
this.initMap(this.formData.latitude, this.formData.longitude); |
||||
|
console.log("map", map,this.formData.latitude, this.formData.longitude) |
||||
|
} else { |
||||
|
map.setCenter(this.formData.latitude, this.formData.longitude); |
||||
|
map.setMarker(this.formData.latitude, this.formData.longitude); |
||||
|
console.log("mapmapmap", map) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
handleOnlineRegistration(value) { |
||||
|
// |
||||
|
if (value) { |
||||
|
this.online = true; |
||||
|
this.formData.online = 1; |
||||
|
} else { |
||||
|
this.online = false; |
||||
|
this.formData.cutOffTime = '' |
||||
|
this.formData.online = 0; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
// onChangeFileList(e) { |
||||
|
// if (e.length > 0) { |
||||
|
// let item = e[0]; |
||||
|
// let ob = { |
||||
|
// fileType: '0', |
||||
|
// fileUrl: item.response.data.url |
||||
|
// }; |
||||
|
// this.fileList = [ob]; |
||||
|
// this.formData.coverPic = ob.fileUrl; |
||||
|
// } |
||||
|
// }, |
||||
|
removedImg() { |
||||
|
this.formData.coverPic = '' |
||||
|
}, |
||||
|
onChangeFileList(e) { |
||||
|
console.log(e, 'sssssb'); |
||||
|
this.fileList = e.length > 0 ? e.map(item => ({ |
||||
|
fileType: '0', |
||||
|
fileUrl: item.response.data.url |
||||
|
})) : []; // 当e为空时清空fileList |
||||
|
if (e.length > 0) { |
||||
|
this.formData.coverPic = e[0].response.data.url; |
||||
|
} else { |
||||
|
this.formData.coverPic = ''; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
onChangeImgs(e, rowIndex = 0) { |
||||
|
console.log('onChangeFileList', e) |
||||
|
if (e.length > 0) { |
||||
|
this.activityImgs = [] |
||||
|
e.forEach(item => { |
||||
|
let ob = { |
||||
|
fileType: '0', |
||||
|
fileUrl: item.response.data.url |
||||
|
} |
||||
|
this.activityImgs.push(ob) |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
// onChangeImgs(e) { |
||||
|
// this.activityImgs = []; |
||||
|
// if (e.length > 0) { |
||||
|
// e.forEach(item => { |
||||
|
// let ob = { |
||||
|
// fileType: '0', |
||||
|
// fileUrl: item.response.data.url |
||||
|
// }; |
||||
|
// this.activityImgs.push(ob); |
||||
|
// }); |
||||
|
// console.log('this.activityImgs',this.activityImgs) |
||||
|
// } |
||||
|
// }, |
||||
|
|
||||
|
handleChange(value) {}, |
||||
|
handleTimeChange(time) { |
||||
|
if (time) { |
||||
|
const startTimeArray = util.dateFormatter(time[0], 'time').split('-') |
||||
|
console.log(startTimeArray); |
||||
|
const endTimeArray = util.dateFormatter(time[1], 'time').split('-') |
||||
|
console.log(endTimeArray); |
||||
|
this.formData.startTime = startTimeArray[0] + '-' + startTimeArray[1] + '-' + startTimeArray[2] |
||||
|
this.formData.endTime = endTimeArray[0] + '-' + endTimeArray[1] + '-' + endTimeArray[2] |
||||
|
// this.startTimeShow = startTimeArray[0] + '年' + startTimeArray[1] + '月' + startTimeArray[2] + '日' |
||||
|
// this.endTimeShow = endTimeArray[0] + '年' + endTimeArray[1] + '月' + endTimeArray[2] + '日' |
||||
|
} else { |
||||
|
this.formData.startTime = '' |
||||
|
this.formData.endTime = '' |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
async initForm(type, activityId) { |
||||
|
this.startLoading() |
||||
|
this.formType = type |
||||
|
if (type === 'edit') { |
||||
|
if (activityId.activityImgs || activityId.sumUp) { |
||||
|
this.records = true |
||||
|
} else { |
||||
|
this.records = false |
||||
|
} |
||||
|
this.formData = activityId |
||||
|
this.timeRange = [this.formData.startTime, this.formData.endTime] |
||||
|
console.log(activityId,"activityId"); |
||||
|
|
||||
|
if (activityId.coverPic) { |
||||
|
let ob = { |
||||
|
fileType: '0', |
||||
|
fileUrl: activityId.coverPic |
||||
|
}; |
||||
|
this.fileList = [ob]; |
||||
|
this.formData.coverPic = ob.fileUrl; |
||||
|
if (this.formData.online == 1) { |
||||
|
this.online = true |
||||
|
} |
||||
|
} |
||||
|
} else if (type === 'records') { |
||||
|
this.records = true |
||||
|
} else if (type === 'summary') { |
||||
|
this.formData = activityId |
||||
|
this.formData.activityImgs = [] |
||||
|
console.log("this.formData", this.formData) |
||||
|
this.records = true |
||||
|
this.summary = false |
||||
|
} else { |
||||
|
this.records = false |
||||
|
} |
||||
|
this.endLoading() |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
async getDemandOptions() { |
||||
|
this.$http |
||||
|
.post("/actual/base/serviceitem/listAllCategory") |
||||
|
.then(({ data: res }) => { |
||||
|
if (res.code !== 0) { |
||||
|
return this.$message.error(res.msg); |
||||
|
} else { |
||||
|
console.log(res.data); |
||||
|
this.demandOptions = this.getFlagData( |
||||
|
this.getTreeData(res.data), |
||||
|
"usableFlag" |
||||
|
); |
||||
|
} |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
return this.$message.error("网络错误"); |
||||
|
}); |
||||
|
}, |
||||
|
getFlagData(data, flag) { |
||||
|
if (!Array.isArray(data)) return []; |
||||
|
let arr1 = data.filter((item) => item[flag]); |
||||
|
let arr2 = arr1.map((item) => { |
||||
|
if (item.childCateList) |
||||
|
return { ...item, childCateList: this.getFlagData(item.childCateList, flag) }; |
||||
|
else return item; |
||||
|
}); |
||||
|
return arr2; |
||||
|
}, |
||||
|
getTreeData(data) { |
||||
|
if (!Array.isArray(data)) return []; |
||||
|
let arr = data.map((item) => { |
||||
|
let _item = {}; |
||||
|
if (item.childCateList) { |
||||
|
if (item.childCateList.length === 0) |
||||
|
_item = { ...item, childCateList: undefined }; |
||||
|
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) }; |
||||
|
} else { |
||||
|
_item = { ...item }; |
||||
|
} |
||||
|
return _item; |
||||
|
}); |
||||
|
return arr; |
||||
|
}, |
||||
|
async loadGrid() { |
||||
|
const url = "/gov/org/customergrid/gridoption" |
||||
|
|
||||
|
let params = { |
||||
|
agencyId: this.agencyId |
||||
|
} |
||||
|
|
||||
|
const { data, code, msg } = await requestPost(url, params) |
||||
|
|
||||
|
if (code === 0) { |
||||
|
this.gridList = data |
||||
|
|
||||
|
} else { |
||||
|
this.$message.error(msg) |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
|
||||
|
//加载组织 |
||||
|
async loadFormData() { |
||||
|
const url = '/actual/base/icpartyactivity/detail' |
||||
|
// const url = 'http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/detail' |
||||
|
let params = { |
||||
|
id: this.activityId |
||||
|
} |
||||
|
|
||||
|
const { data, code, msg } = await requestPost(url, params) |
||||
|
|
||||
|
if (code === 0) { |
||||
|
this.formData = data |
||||
|
let style_img = "style='width:50px;height:40px;' " |
||||
|
|
||||
|
if (this.formData.content) { |
||||
|
// this.formData.content = this.formData.content.replace(/<img/g, "<img style='width:200px;height:240px;'") |
||||
|
// let array=this.formData.content.split('<img') |
||||
|
} |
||||
|
|
||||
|
} else { |
||||
|
this.$message.error(msg) |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
async handleComfirm() { |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
if (!this.formData.Administratorphone) { |
||||
|
this.$message.error('请输入活动详情'); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
if (!this.formData.AdministratorName) { |
||||
|
this.$message.error('请上传封面图片'); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
if (!this.formData.Organizationaltype) { |
||||
|
this.$message.error('请输入文章标题'); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
if (!this.formData.Servicetype) { |
||||
|
this.$message.error('请输入所属项目'); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
console.log(this.formData,"this.formData"); |
||||
|
this.addActivity() |
||||
|
}, |
||||
|
async addActivity() { |
||||
|
if (this.formType === 'edit' || this.formType === 'summary') { |
||||
|
let url = '/actual/base/communityActivity/update' |
||||
|
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) |
||||
|
} |
||||
|
} 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() { |
||||
|
console.log("sdlkfjklsdf "); |
||||
|
this.$emit('showAddClose') |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
|
||||
|
// 开启加载动画 |
||||
|
startLoading() { |
||||
|
loading = Loading.service({ |
||||
|
lock: true, // 是否锁定 |
||||
|
text: '正在加载……', // 加载中需要显示的文字 |
||||
|
background: 'rgba(0,0,0,.7)' // 背景颜色 |
||||
|
}) |
||||
|
}, |
||||
|
// 结束加载动画 |
||||
|
endLoading() { |
||||
|
// clearTimeout(timer); |
||||
|
if (loading) { |
||||
|
loading.close() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
dataRule() { |
||||
|
return { |
||||
|
Servicetype: [ |
||||
|
{ required: true, message: '请选择所属栏目', trigger: 'blur' } |
||||
|
], |
||||
|
zhaomu: [ |
||||
|
{ required: true, message: '活动详情不能为空', trigger: 'blur' } |
||||
|
], |
||||
|
sumUp: [ |
||||
|
{ required: true, message: '请填写文章标题', trigger: 'blur' } |
||||
|
], |
||||
|
fileList: [ |
||||
|
{ required: true, message: '请选择活动照片', trigger: 'blur' } |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
}, |
||||
|
props: { |
||||
|
|
||||
|
|
||||
|
|
||||
|
}, |
||||
|
destroyed () { |
||||
|
map = null |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
@import "@/assets/scss/modules/visual/communityManageForm.scss"; |
||||
|
</style> |
||||
|
<style lang="scss" scoped> |
||||
|
.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; |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,640 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
|
||||
|
<div class="dialog-h-content scroll-h"> |
||||
|
|
||||
|
<el-form ref="ref_form" :inline="true" :model="formData" :rules="dataRule" |
||||
|
class="form"> |
||||
|
<el-row> |
||||
|
<el-col :span="12"> |
||||
|
<el-form-item label="所属栏目" label-width="150px" prop="Servicetype"> |
||||
|
<el-select multiple-limit='4' class="u-item-width-normal" v-model.trim="formData.Servicetype" placeholder="请选择" clearable multiple> |
||||
|
<el-option v-for="item in ServicetypeList" :key="item.Servicetypeust" :label="item.typeName" :value="item.id" > |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<el-form-item label="文章标题" prop="sumUp" label-width="150px"> |
||||
|
<el-input v-model.trim="formData.sumUp" size="small" clearable placeholder="请输入活动名称" |
||||
|
class="u-item-width-normal"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="24"> |
||||
|
<el-form-item label="封面图片" label-width="150px" prop="fileList"> |
||||
|
<template> |
||||
|
<upload-image :defaultFileList="fileList" :limit="1" @change="onChangeFileList" |
||||
|
@file-removed="removedImg"></upload-image> |
||||
|
</template> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="24"> |
||||
|
<el-form-item label="活动详情" prop="zhaomu" style="display: block" label-width="150px"> |
||||
|
<div class="item_width_1"> |
||||
|
<Tinymce class="tinymce_view " v-model.trim="formData.zhaomu" :height="150" placeholder="请输入活动内容" /> |
||||
|
</div> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="24"> |
||||
|
<el-form-item label="置顶 |
||||
|
" style="display: block" prop="peopleCount" label-width="150px"> |
||||
|
<el-switch v-model="formData.online" :active-value='1' :inactive-value='0' |
||||
|
@change="handleSwitchChange"></el-switch> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row></el-form> |
||||
|
</div> |
||||
|
<div class="div_btn"> |
||||
|
<el-button size="small" @click="handleCancle">取 消</el-button> |
||||
|
<el-button size="small" v-if="formType != 'detail'" type="primary" :disabled="btnDisable" |
||||
|
@click="handleComfirm">确 定</el-button> |
||||
|
|
||||
|
</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 { |
||||
|
|
||||
|
activityImgs: [],//活动照片 |
||||
|
fileList:[], |
||||
|
searchValue:"", |
||||
|
ServicetypeList:[ |
||||
|
{ label: "敬老爱老", value: 1 }, |
||||
|
{ label: "助残帮困", value: 2 }, |
||||
|
{ label: "扶贫帮困", value: 3 }, |
||||
|
{ label: "环保绿化", value: 4 }, |
||||
|
{ label: "文化教育", value: 5 }, |
||||
|
{ label: "扶贫帮困", value: 6 }, |
||||
|
{ label: "其他", value: 7 }, |
||||
|
], |
||||
|
Organizationaltype:[ |
||||
|
{ label: "社区", value: 1 }, |
||||
|
{ label: "企业", value: 2 }, |
||||
|
{ label: "学校", value: 3 }, |
||||
|
], |
||||
|
formData: |
||||
|
{ |
||||
|
Servicelevel:"",//服务等级 |
||||
|
VolunteerPic:"",//品牌图片 |
||||
|
Volunteerbrand:"",//志愿品牌 |
||||
|
Organizational:"",//组织介绍 |
||||
|
fileList: [],//封面图片 |
||||
|
AdministratorIDCard:"",//身份证信息 |
||||
|
Administratorphone:"",//管理员电话 |
||||
|
AdministratorName:"",//管理员姓名 |
||||
|
Organizationaltype:"",//组织类型 |
||||
|
Servicetype:"",//服务类型 |
||||
|
OrganizationName:"",//组织名称 |
||||
|
agencyName:"",//所属组织 |
||||
|
id: "", |
||||
|
typeId: "", |
||||
|
activityName: "",//活动名称 |
||||
|
status: 0,//状态 |
||||
|
assistingParty: "",//协办方 |
||||
|
startTime: "",//开始时间 |
||||
|
endTime: "",//结束时间 |
||||
|
coverPic: "",//封面图片地址 |
||||
|
content: "",//活动内容 |
||||
|
address: "",//地址 |
||||
|
online: 0,//开关 |
||||
|
cutOffTime: "",//截止时间 |
||||
|
points: 0,//积分 |
||||
|
participants: 0,//活动人数 |
||||
|
sendMessage: 0,//推送数 |
||||
|
sumUp: "",//活动总结 |
||||
|
activityImgs: [],//图片列表 |
||||
|
longitude: this.$store.state.user.longitude, //经度 |
||||
|
latitude: this.$store.state.user.latitude,//纬度 |
||||
|
}, |
||||
|
|
||||
|
corganizerList: [], |
||||
|
uploadUrl: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadqrcodeV2', |
||||
|
customerId: localStorage.getItem('customerId'), |
||||
|
|
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
components: { Tinymce, UploadImage }, |
||||
|
mounted() { |
||||
|
console.log(this.$store.state.user,"this.$store.state.user"); |
||||
|
|
||||
|
this.formData.agencyName=this.$store.state.user.agencyName |
||||
|
if (this.$store.state.user.level=="district") { |
||||
|
this.formData.Servicelevel="区级" |
||||
|
|
||||
|
} |
||||
|
this.activityType() |
||||
|
this.listServerOrg() |
||||
|
}, |
||||
|
|
||||
|
methods: { |
||||
|
//控制活动时间 |
||||
|
actcontrolTime() { |
||||
|
console.log("dislfj"); |
||||
|
if (this.formData.startTime > this.formData.endTime) { |
||||
|
this.$message.error('活动结束时间不能在活动开始时间之前'); |
||||
|
this.formData.endTime = '' |
||||
|
return |
||||
|
} |
||||
|
}, |
||||
|
validateContent() { |
||||
|
// 使用正则表达式去除HTML标签后检查内容 |
||||
|
const textContent = this.stripHtml(this.formData.sumUp); |
||||
|
if (textContent.trim() === '') { |
||||
|
this.formData.sumUp = null; |
||||
|
} |
||||
|
}, |
||||
|
stripHtml(html) { |
||||
|
const div = document.createElement('div'); |
||||
|
div.innerHTML = html; |
||||
|
return div.textContent || div.innerText || ''; |
||||
|
}, |
||||
|
|
||||
|
// 上传成功 |
||||
|
handleImgSuccess(res, file, fileList) { |
||||
|
if (res.code === 0 && res.msg === 'success') { |
||||
|
let format = file.name.split('.').pop(); |
||||
|
let srcType = file.raw.type; |
||||
|
let type = 'file'; |
||||
|
if (srcType.indexOf('image') != -1) { |
||||
|
type = 'image'; |
||||
|
} else if (srcType.indexOf('video') != -1) { |
||||
|
type = 'video'; |
||||
|
} |
||||
|
// this.formData.activityImgs.push({ |
||||
|
// format, |
||||
|
// name: file.name, |
||||
|
// size: file.size, |
||||
|
// type, |
||||
|
// url: res.data.url |
||||
|
// }); |
||||
|
// console.log('this.formData.activityImgs',res.data.url) |
||||
|
this.formData.activityImgs.push(res.data.url); |
||||
|
|
||||
|
} else { |
||||
|
this.$message.error(res.msg); |
||||
|
} |
||||
|
}, |
||||
|
// 删除图片 |
||||
|
handleImgRemove(file) { |
||||
|
console.log('handleImgRemove', file); |
||||
|
if (file.response) { |
||||
|
let index = this.formData.activityImgs.findIndex(item => item.url == file.response.data.url); |
||||
|
this.formData.activityImgs.splice(index, 1); |
||||
|
} else if (file.url) { |
||||
|
let index = this.formData.activityImgs.findIndex(item => item.url == file.url); |
||||
|
this.formData.activityImgs.splice(index, 1); |
||||
|
} |
||||
|
}, |
||||
|
// 图片预览 |
||||
|
handleImgPreview(file) { |
||||
|
console.log(file); |
||||
|
window.open(file.url || file.response.data.url); |
||||
|
}, |
||||
|
// 文件数量超过限制 |
||||
|
handleImgExceed() { |
||||
|
this.$message({ |
||||
|
type: 'warning', |
||||
|
message: '文件数量最多不超过三个' |
||||
|
}); |
||||
|
}, |
||||
|
// 上传前的验证 |
||||
|
beforeImgUpload(file) { |
||||
|
const isLt1M = file.size / 1024 / 1024 < 10; |
||||
|
const srcType = file.type; |
||||
|
const format = file.name.split('.').pop(); |
||||
|
if (!isLt1M) { |
||||
|
this.$message.error('上传文件大小不能超过 10MB!'); |
||||
|
return false; |
||||
|
} |
||||
|
if (srcType.indexOf('image') == -1) { |
||||
|
this.$message.error('仅限图片格式'); |
||||
|
return false; |
||||
|
} |
||||
|
return true; |
||||
|
}, |
||||
|
|
||||
|
async activityType() { |
||||
|
const url = "/actual/base/activityType/page" |
||||
|
let params = { |
||||
|
// agencyId: this.agencyId |
||||
|
pageSize: 20, |
||||
|
pageNo: 1, |
||||
|
typeName: "", |
||||
|
enabled: 1 |
||||
|
} |
||||
|
const { data, code, msg } = await requestPost(url, params) |
||||
|
if (code === 0) { |
||||
|
this.typeList = data.list |
||||
|
} else { |
||||
|
this.$message.error(msg) |
||||
|
} |
||||
|
this.$nextTick(() => { |
||||
|
if (!map) { |
||||
|
this.initMap(this.formData.latitude, this.formData.longitude); |
||||
|
console.log("map", map,this.formData.latitude, this.formData.longitude) |
||||
|
} else { |
||||
|
map.setCenter(this.formData.latitude, this.formData.longitude); |
||||
|
map.setMarker(this.formData.latitude, this.formData.longitude); |
||||
|
console.log("mapmapmap", map) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
handleOnlineRegistration(value) { |
||||
|
// |
||||
|
if (value) { |
||||
|
this.online = true; |
||||
|
this.formData.online = 1; |
||||
|
} else { |
||||
|
this.online = false; |
||||
|
this.formData.cutOffTime = '' |
||||
|
this.formData.online = 0; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
// onChangeFileList(e) { |
||||
|
// if (e.length > 0) { |
||||
|
// let item = e[0]; |
||||
|
// let ob = { |
||||
|
// fileType: '0', |
||||
|
// fileUrl: item.response.data.url |
||||
|
// }; |
||||
|
// this.fileList = [ob]; |
||||
|
// this.formData.coverPic = ob.fileUrl; |
||||
|
// } |
||||
|
// }, |
||||
|
removedImg() { |
||||
|
this.formData.coverPic = '' |
||||
|
}, |
||||
|
onChangeFileList(e) { |
||||
|
console.log(e, 'sssssb'); |
||||
|
this.fileList = e.length > 0 ? e.map(item => ({ |
||||
|
fileType: '0', |
||||
|
fileUrl: item.response.data.url |
||||
|
})) : []; // 当e为空时清空fileList |
||||
|
if (e.length > 0) { |
||||
|
this.formData.coverPic = e[0].response.data.url; |
||||
|
} else { |
||||
|
this.formData.coverPic = ''; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
onChangeImgs(e, rowIndex = 0) { |
||||
|
console.log('onChangeFileList', e) |
||||
|
if (e.length > 0) { |
||||
|
this.activityImgs = [] |
||||
|
e.forEach(item => { |
||||
|
let ob = { |
||||
|
fileType: '0', |
||||
|
fileUrl: item.response.data.url |
||||
|
} |
||||
|
this.activityImgs.push(ob) |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
// onChangeImgs(e) { |
||||
|
// this.activityImgs = []; |
||||
|
// if (e.length > 0) { |
||||
|
// e.forEach(item => { |
||||
|
// let ob = { |
||||
|
// fileType: '0', |
||||
|
// fileUrl: item.response.data.url |
||||
|
// }; |
||||
|
// this.activityImgs.push(ob); |
||||
|
// }); |
||||
|
// console.log('this.activityImgs',this.activityImgs) |
||||
|
// } |
||||
|
// }, |
||||
|
|
||||
|
handleChange(value) {}, |
||||
|
handleTimeChange(time) { |
||||
|
if (time) { |
||||
|
const startTimeArray = util.dateFormatter(time[0], 'time').split('-') |
||||
|
console.log(startTimeArray); |
||||
|
const endTimeArray = util.dateFormatter(time[1], 'time').split('-') |
||||
|
console.log(endTimeArray); |
||||
|
this.formData.startTime = startTimeArray[0] + '-' + startTimeArray[1] + '-' + startTimeArray[2] |
||||
|
this.formData.endTime = endTimeArray[0] + '-' + endTimeArray[1] + '-' + endTimeArray[2] |
||||
|
// this.startTimeShow = startTimeArray[0] + '年' + startTimeArray[1] + '月' + startTimeArray[2] + '日' |
||||
|
// this.endTimeShow = endTimeArray[0] + '年' + endTimeArray[1] + '月' + endTimeArray[2] + '日' |
||||
|
} else { |
||||
|
this.formData.startTime = '' |
||||
|
this.formData.endTime = '' |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
async initForm(type, activityId) { |
||||
|
this.startLoading() |
||||
|
this.formType = type |
||||
|
if (type === 'edit') { |
||||
|
if (activityId.activityImgs || activityId.sumUp) { |
||||
|
this.records = true |
||||
|
} else { |
||||
|
this.records = false |
||||
|
} |
||||
|
this.formData = activityId |
||||
|
this.timeRange = [this.formData.startTime, this.formData.endTime] |
||||
|
console.log(activityId,"activityId"); |
||||
|
|
||||
|
if (activityId.coverPic) { |
||||
|
let ob = { |
||||
|
fileType: '0', |
||||
|
fileUrl: activityId.coverPic |
||||
|
}; |
||||
|
this.fileList = [ob]; |
||||
|
this.formData.coverPic = ob.fileUrl; |
||||
|
if (this.formData.online == 1) { |
||||
|
this.online = true |
||||
|
} |
||||
|
} |
||||
|
} else if (type === 'records') { |
||||
|
this.records = true |
||||
|
} else if (type === 'summary') { |
||||
|
this.formData = activityId |
||||
|
this.formData.activityImgs = [] |
||||
|
console.log("this.formData", this.formData) |
||||
|
this.records = true |
||||
|
this.summary = false |
||||
|
} else { |
||||
|
this.records = false |
||||
|
} |
||||
|
this.endLoading() |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
async getDemandOptions() { |
||||
|
this.$http |
||||
|
.post("/actual/base/serviceitem/listAllCategory") |
||||
|
.then(({ data: res }) => { |
||||
|
if (res.code !== 0) { |
||||
|
return this.$message.error(res.msg); |
||||
|
} else { |
||||
|
console.log(res.data); |
||||
|
this.demandOptions = this.getFlagData( |
||||
|
this.getTreeData(res.data), |
||||
|
"usableFlag" |
||||
|
); |
||||
|
} |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
return this.$message.error("网络错误"); |
||||
|
}); |
||||
|
}, |
||||
|
getFlagData(data, flag) { |
||||
|
if (!Array.isArray(data)) return []; |
||||
|
let arr1 = data.filter((item) => item[flag]); |
||||
|
let arr2 = arr1.map((item) => { |
||||
|
if (item.childCateList) |
||||
|
return { ...item, childCateList: this.getFlagData(item.childCateList, flag) }; |
||||
|
else return item; |
||||
|
}); |
||||
|
return arr2; |
||||
|
}, |
||||
|
getTreeData(data) { |
||||
|
if (!Array.isArray(data)) return []; |
||||
|
let arr = data.map((item) => { |
||||
|
let _item = {}; |
||||
|
if (item.childCateList) { |
||||
|
if (item.childCateList.length === 0) |
||||
|
_item = { ...item, childCateList: undefined }; |
||||
|
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) }; |
||||
|
} else { |
||||
|
_item = { ...item }; |
||||
|
} |
||||
|
return _item; |
||||
|
}); |
||||
|
return arr; |
||||
|
}, |
||||
|
async loadGrid() { |
||||
|
const url = "/gov/org/customergrid/gridoption" |
||||
|
|
||||
|
let params = { |
||||
|
agencyId: this.agencyId |
||||
|
} |
||||
|
|
||||
|
const { data, code, msg } = await requestPost(url, params) |
||||
|
|
||||
|
if (code === 0) { |
||||
|
this.gridList = data |
||||
|
|
||||
|
} else { |
||||
|
this.$message.error(msg) |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
|
||||
|
//加载组织 |
||||
|
async loadFormData() { |
||||
|
const url = '/actual/base/icpartyactivity/detail' |
||||
|
// const url = 'http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/detail' |
||||
|
let params = { |
||||
|
id: this.activityId |
||||
|
} |
||||
|
|
||||
|
const { data, code, msg } = await requestPost(url, params) |
||||
|
|
||||
|
if (code === 0) { |
||||
|
this.formData = data |
||||
|
let style_img = "style='width:50px;height:40px;' " |
||||
|
|
||||
|
if (this.formData.content) { |
||||
|
// this.formData.content = this.formData.content.replace(/<img/g, "<img style='width:200px;height:240px;'") |
||||
|
// let array=this.formData.content.split('<img') |
||||
|
} |
||||
|
|
||||
|
} else { |
||||
|
this.$message.error(msg) |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
async handleComfirm() { |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
if (!this.formData.Administratorphone) { |
||||
|
this.$message.error('请输入活动详情'); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
if (!this.formData.AdministratorName) { |
||||
|
this.$message.error('请上传封面图片'); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
if (!this.formData.Organizationaltype) { |
||||
|
this.$message.error('请输入文章标题'); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
if (!this.formData.Servicetype) { |
||||
|
this.$message.error('请输入所属项目'); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
console.log(this.formData,"this.formData"); |
||||
|
this.addActivity() |
||||
|
}, |
||||
|
async addActivity() { |
||||
|
if (this.formType === 'edit' || this.formType === 'summary') { |
||||
|
let url = '/actual/base/communityActivity/update' |
||||
|
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) |
||||
|
} |
||||
|
} 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('showEditClose') |
||||
|
this.btnDisable = false |
||||
|
} else { |
||||
|
this.btnDisable = false |
||||
|
this.$message.error(msg) |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
}, |
||||
|
|
||||
|
handleCancle() { |
||||
|
console.log("sdlkfjklsdf "); |
||||
|
this.$emit('showEditClose') |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
|
||||
|
// 开启加载动画 |
||||
|
startLoading() { |
||||
|
loading = Loading.service({ |
||||
|
lock: true, // 是否锁定 |
||||
|
text: '正在加载……', // 加载中需要显示的文字 |
||||
|
background: 'rgba(0,0,0,.7)' // 背景颜色 |
||||
|
}) |
||||
|
}, |
||||
|
// 结束加载动画 |
||||
|
endLoading() { |
||||
|
// clearTimeout(timer); |
||||
|
if (loading) { |
||||
|
loading.close() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
dataRule() { |
||||
|
return { |
||||
|
Servicetype: [ |
||||
|
{ required: true, message: '请选择所属栏目', trigger: 'blur' } |
||||
|
], |
||||
|
zhaomu: [ |
||||
|
{ required: true, message: '活动详情不能为空', trigger: 'blur' } |
||||
|
], |
||||
|
sumUp: [ |
||||
|
{ required: true, message: '请填写文章标题', trigger: 'blur' } |
||||
|
], |
||||
|
fileList: [ |
||||
|
{ required: true, message: '请选择活动照片', trigger: 'blur' } |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
}, |
||||
|
props: { |
||||
|
|
||||
|
|
||||
|
|
||||
|
}, |
||||
|
destroyed () { |
||||
|
map = null |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
@import "@/assets/scss/modules/visual/communityManageForm.scss"; |
||||
|
</style> |
||||
|
<style lang="scss" scoped> |
||||
|
.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; |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,92 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
<div style="display: flex;white-space: nowrap; padding: 30px 0 0 0 ;" > |
||||
|
<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> |
||||
|
</div> |
||||
|
<div class="div_btn"> |
||||
|
|
||||
|
<el-button size="small" @click="handleCancle">取 消</el-button> |
||||
|
<el-button size="small" v-if="formType != 'detail'" type="primary" :disabled="btnDisable" |
||||
|
@click="handleComfirm">确 定</el-button> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
<script> |
||||
|
import { requestPost,requestGet } from "@/js/dai/request"; |
||||
|
export default { |
||||
|
name: "see", |
||||
|
data() { |
||||
|
return { |
||||
|
radio:'1', |
||||
|
stockQty:"", |
||||
|
labelPosition: 'right', |
||||
|
tableData: [], |
||||
|
awardId:"" |
||||
|
}; |
||||
|
}, |
||||
|
props:{ |
||||
|
VolunteerList:{ |
||||
|
type: Object, |
||||
|
default: () => {} |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
console.log(this.VolunteerList,"list"); |
||||
|
this.tableData=this.VolunteerList |
||||
|
// this.awardId=this.list.id |
||||
|
// this.getTableData() |
||||
|
}, |
||||
|
methods: { |
||||
|
//取消审查 |
||||
|
handleCancle(){ |
||||
|
this.$emit('handleprocesslClose') |
||||
|
}, |
||||
|
//确认审查 |
||||
|
handleComfirm(){ |
||||
|
this.$emit('handleprocesslClose') |
||||
|
}, |
||||
|
getTableData() { |
||||
|
console.log(this.formData); |
||||
|
const url = "/voluntary/pointsAward/admin/detail"; |
||||
|
let params = { |
||||
|
id:this.awardId |
||||
|
} |
||||
|
requestGet(url, params).then((res) =>{ |
||||
|
console.log(res,"res"); |
||||
|
if(res.code===0){ |
||||
|
console.log("列表请求成功!!!!!!!!!!!!!!"); |
||||
|
console.log(res.data, "data"); |
||||
|
this.tableData = res.data |
||||
|
console.log(this.tableData, "this.tableData"); |
||||
|
} |
||||
|
}) |
||||
|
// const { data, code, msg } = requestGet(url, params) |
||||
|
// console.log(data,"data"); |
||||
|
// if (code === 0) { |
||||
|
// console.log("列表请求成功!!!!!!!!!!!!!!"); |
||||
|
// console.log(data,"data"); |
||||
|
// this.tableData = data |
||||
|
// console.log(this.tableData,"this.tableData"); |
||||
|
|
||||
|
|
||||
|
// } else { |
||||
|
// } |
||||
|
}, |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
</script> |
||||
|
<style lang="scss" scoped> |
||||
|
@import "@/assets/scss/modules/visual/communityManageForm.scss"; |
||||
|
</style> |
||||
@ -1,286 +1,131 @@ |
|||||
<template> |
<template> |
||||
<div class="g-main" style="padding: 30px;"> |
<div> |
||||
<el-form :inline="true" :model="formData" class="demo-form-inline"> |
<div style="display: flex;white-space: nowrap; padding: 30px;" > |
||||
<el-form-item> |
<el-form style="padding-left: 50px;" :label-position="labelPosition" :model="tableData"> |
||||
<el-select v-model="value" placeholder="请选择" class="item_width_1"> |
<el-form-item label="申请单位"> |
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> |
<div> {{ tableData.OrganizationName }}</div> |
||||
</el-option> |
|
||||
</el-select> |
|
||||
</el-form-item> |
</el-form-item> |
||||
<el-form-item label="加入时间" label-width="100px"> |
<el-form-item label="申请名称"> |
||||
<el-date-picker v-model="formData.createdTimeFrom" type="datetime" placeholder="开始时间" |
{{ tableData.Servicetype }} |
||||
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" style="width: 200px;"> |
|
||||
</el-date-picker> |
|
||||
<span style="margin: 0 10px;">至</span> |
|
||||
<el-date-picker v-model="formData.createdTimeTo" type="datetime" placeholder="结束时间" format="yyyy-MM-dd HH:mm:ss" |
|
||||
value-format="yyyy-MM-dd HH:mm:ss" @change="actcontrolTime" style="width: 200px;"> |
|
||||
</el-date-picker> |
|
||||
</el-form-item> |
</el-form-item> |
||||
</el-form> |
<el-form-item label="项目级别"> |
||||
<div style="display: flex; justify-content: flex-end; margin-bottom: 10px;"> |
{{ tableData.Organizationaltype}} |
||||
<el-button type="primary" @click="handleSearch">查询</el-button> |
</el-form-item> |
||||
</div> |
<el-form-item label="项目介绍"> |
||||
<div> |
{{ tableData.AdministratorName}} |
||||
<div> <el-table :data="tableData" border height="250"> |
</el-form-item> |
||||
<el-table-column label="序号" width="80" header-align="center" align="center" type="index"></el-table-column> |
<el-form-item label="项目展示图"> |
||||
<el-table-column prop="pointsClassName" header-align="center" align="center" label="活动时间"> |
{{ tableData.AdministratorName}} |
||||
</el-table-column> |
</el-form-item> |
||||
<el-table-column prop="createdTime" header-align="center" align="center" label="活动标题"> |
<el-form-item label="服务区域"> |
||||
</el-table-column> |
{{ tableData.AdministratorIDCard }} |
||||
. <el-table-column prop="operationName" header-align="center" align="center" label="活动地点"> |
|
||||
</el-table-column> |
</el-form-item> |
||||
<el-table-column prop="pointsDelta" header-align="center" align="center" label="活动详情"> |
<el-form-item label="服务类型"> |
||||
</el-table-column> |
{{ tableData.Administratorphone }} |
||||
<el-table-column prop="pointsDelta" header-align="center" align="center" label="状态"> |
|
||||
</el-table-column> |
</el-form-item> |
||||
</el-table></div> |
<el-form-item label="服务期限"> |
||||
<div v-if="true"> <el-table :data="tableData" border height="250"> |
{{ tableData.agencyName }} |
||||
<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-form-item> |
||||
</el-table-column> |
<el-form-item label="附件"> |
||||
<el-table-column prop="createdTime" header-align="center" align="center" label="服务区域"> |
|
||||
</el-table-column> |
|
||||
<el-table-column prop="operationName" header-align="center" align="center" label="服务地点"> |
|
||||
</el-table-column> |
|
||||
<el-table-column prop="pointsDelta" header-align="center" align="center" label="服务详情"> |
|
||||
</el-table-column> |
|
||||
<el-table-column prop="pointsDelta" header-align="center" align="center" label="附件"> |
|
||||
<template slot-scope="scope"> |
<template slot-scope="scope"> |
||||
<el-button type="text" @click="handleDetail(scope.row)">查看</el-button> |
<span>{{ scope.row.enabled === 1 ? '关闭' : '显示' }}</span> |
||||
</template> |
</template> |
||||
</el-table-column> |
</el-form-item> |
||||
</el-table> </div> |
<el-form-item label="审核"> |
||||
|
|
||||
<div> |
<div style="display: flex; justify-items:center; align-items: center;"> |
||||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo" |
<el-radio v-model="radio" label="1" style="margin-right:20px">通过</el-radio> |
||||
:page-sizes="[10, 20, 50]" :page-size="pageSize" layout="sizes, prev, pager, next, total" :total="total"> |
<div class="flex flex-x flex-center2"> |
||||
</el-pagination> |
<el-radio v-model="radio" label="2" style="margin-right: 10px;">不通过</el-radio> |
||||
</div> |
<el-input v-if="radio == '2'" type="number" v-model="stockQty" style="width: 200px;" |
||||
|
placeholder="请说明原因"></el-input> |
||||
|
|
||||
</div> |
</div> |
||||
<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" /> |
|
||||
</el-dialog> |
|
||||
<!-- <div class="flex flex-center1 flex-center2"> |
|
||||
<el-button type="info" @click="handleremove">取消</el-button> |
|
||||
<el-button type="danger" @click="handleSubmit">确定</el-button> |
|
||||
</div> --> |
|
||||
</div> |
</div> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
</div> |
||||
|
<div class="div_btn"> |
||||
|
|
||||
|
<el-button size="small" @click="handleCancle">取 消</el-button> |
||||
|
<el-button size="small" v-if="formType != 'detail'" type="primary" :disabled="btnDisable" |
||||
|
@click="handleComfirm">确 定</el-button> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
</template> |
</template> |
||||
<script> |
<script> |
||||
import enclosure from "./enclosure.vue" |
import { requestPost,requestGet } from "@/js/dai/request"; |
||||
import { requestPost,requestGet } from "@/js/dai/request"; |
|
||||
export default { |
export default { |
||||
|
|
||||
name: "see", |
name: "see", |
||||
data() { |
data() { |
||||
return { |
return { |
||||
options: [{ |
radio:'1', |
||||
value: '1', |
stockQty:"", |
||||
label: '活动记录' |
|
||||
}, { |
|
||||
value: '2', |
|
||||
label: '服务记录' |
|
||||
}], |
|
||||
value: '', |
|
||||
formData:{ |
|
||||
createdTimeTo:"", |
|
||||
createdTimeTo:"", |
|
||||
pointsClass:"", |
|
||||
optionsStatus: [ |
|
||||
{ |
|
||||
code:1, |
|
||||
name:"活动积分" |
|
||||
}, |
|
||||
{ |
|
||||
code:2, |
|
||||
name:"平台积分" |
|
||||
}, |
|
||||
{ |
|
||||
code:3, |
|
||||
name:"操作积分" |
|
||||
}, |
|
||||
], |
|
||||
}, |
|
||||
labelPosition: 'right', |
labelPosition: 'right', |
||||
tableData: [ |
tableData: [], |
||||
{1: '活动记录', 2: '服务记录'} |
awardId:"" |
||||
], |
|
||||
integralnum: 1, |
|
||||
radio:3, |
|
||||
textarea: '', |
|
||||
behaviorName: '', |
|
||||
description:"", |
|
||||
pointsDelta:"", |
|
||||
Positive:'', |
|
||||
pageSize: 10, |
|
||||
pageNo: 1, |
|
||||
total: 0, |
|
||||
info:false |
|
||||
}; |
}; |
||||
}, |
}, |
||||
props:{ |
props:{ |
||||
list:{ |
VolunteerList:{ |
||||
type: Object, |
type: Object, |
||||
default: () => {} |
default: () => {} |
||||
} |
} |
||||
}, |
}, |
||||
created() { |
created() { |
||||
console.log(this.list,"list"); |
console.log(this.VolunteerList,"list"); |
||||
this.getlist() |
this.tableData=this.VolunteerList |
||||
this.getpoint1s() |
// this.awardId=this.list.id |
||||
|
// this.getTableData() |
||||
}, |
}, |
||||
components:{ |
methods: { |
||||
enclosure |
//取消审查 |
||||
}, |
handleCancle(){ |
||||
computed:{ |
this.$emit('handleprocesslClose') |
||||
|
}, |
||||
}, |
//确认审查 |
||||
methods: { |
handleComfirm(){ |
||||
//打开附件 |
this.$emit('handleprocesslClose') |
||||
handleDetail(row){ |
}, |
||||
console.log(row,"row"); |
getTableData() { |
||||
this.info=true |
console.log(this.formData); |
||||
console.log(this.info,"info"); |
const url = "/voluntary/pointsAward/admin/detail"; |
||||
|
let params = { |
||||
this.fmData=row |
id:this.awardId |
||||
|
|
||||
}, |
|
||||
//控制活动时间 |
|
||||
actcontrolTime(){ |
|
||||
console.log("dislfj"); |
|
||||
if(this.formData.createdTimeFrom>this.formData.createdTimeTo){ |
|
||||
this.$message.error('活动结束时间不能在活动开始时间之前'); |
|
||||
this.formData.createdTimeTo='' |
|
||||
return |
|
||||
} |
|
||||
}, |
|
||||
//查询 |
|
||||
handleSearch(val) { |
|
||||
this.pageNo = 1; |
|
||||
this.getlist(); |
|
||||
}, |
|
||||
handleSizeChange(val) { |
|
||||
console.log(`每页 ${val} 条`); |
|
||||
this.pageSize = val; |
|
||||
window.localStorage.setItem("pageSize", val); |
|
||||
this.getlist(); |
|
||||
}, |
|
||||
handleCurrentChange(val) { |
|
||||
console.log(`当前页: ${val}`); |
|
||||
this.pageNo = val; |
|
||||
this.getlist(); |
|
||||
}, |
|
||||
//选+- |
|
||||
handleRadioChange(val){ |
|
||||
console.log(val); |
|
||||
this.Positive = val === 3 ? '+' : val === 6 ? '-' : ''; |
|
||||
console.log(this.Positive); |
|
||||
|
|
||||
}, |
|
||||
|
|
||||
//获取积分行为 |
|
||||
async getpoint1s() { |
|
||||
const url = "/voluntary/points/adjustVolunteerPoints/reasonsList"; |
|
||||
let params={ |
|
||||
} |
} |
||||
await requestGet(url,params).then((res)=>{ |
requestGet(url, params).then((res) =>{ |
||||
if (res.code === 0) { |
console.log(res,"res"); |
||||
|
if(res.code===0){ |
||||
console.log("列表请求成功!!!!!!!!!!!!!!"); |
console.log("列表请求成功!!!!!!!!!!!!!!"); |
||||
this.optionsStatus = res.data |
console.log(res.data, "data"); |
||||
console.log(this.optionsStatus); |
this.tableData = res.data |
||||
|
console.log(this.tableData, "this.tableData"); |
||||
} else { |
|
||||
} |
} |
||||
}) |
}) |
||||
}, |
// const { data, code, msg } = requestGet(url, params) |
||||
//调整积分 |
// console.log(data,"data"); |
||||
// async getTableData() { |
|
||||
// const url = "/voluntary/points/adjustVolunteerPoints/commit"; |
|
||||
// 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"); |
|
||||
|
|
||||
// const { data, code, msg } = await requestPost(url,params); |
|
||||
// if (code === 0) { |
// if (code === 0) { |
||||
// console.log("列表请求成功!!!!!!!!!!!!!!"); |
// console.log("列表请求成功!!!!!!!!!!!!!!"); |
||||
// this.$message({ |
// console.log(data,"data"); |
||||
// message: "调整成功", |
// this.tableData = data |
||||
// type: "success", |
// console.log(this.tableData,"this.tableData"); |
||||
// }); |
|
||||
// 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(){ |
|
||||
this.$emit('MemberManagementClose') |
|
||||
}, |
|
||||
handleremove(){ |
|
||||
this.$emit('MemberManagementClose') |
|
||||
}, |
|
||||
handleadjustment(value) { |
|
||||
console.log(value,"num"); |
|
||||
}, |
|
||||
} |
|
||||
|
|
||||
} |
} |
||||
|
|
||||
</script> |
</script> |
||||
<style lang="scss" scoped> |
<style lang="scss" scoped> |
||||
@import "@/assets/scss/modules/management/volunteet.scss"; |
@import "@/assets/scss/modules/visual/communityManageForm.scss"; |
||||
.item_width_1 { |
|
||||
width: 200px; |
|
||||
|
|
||||
/deep/.tox .tox-dialog { |
|
||||
z-index: 20000; |
|
||||
} |
|
||||
} |
|
||||
.u-item-width-normal{ |
|
||||
width: 222px; |
|
||||
} |
|
||||
</style> |
</style> |
||||
@ -0,0 +1,286 @@ |
|||||
|
<template> |
||||
|
<div class="g-main" style="padding: 30px;"> |
||||
|
<el-form :inline="true" :model="formData" class="demo-form-inline"> |
||||
|
<el-form-item> |
||||
|
<el-select v-model="value" placeholder="请选择" class="item_width_1"> |
||||
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="加入时间" label-width="100px"> |
||||
|
<el-date-picker v-model="formData.createdTimeFrom" type="datetime" placeholder="开始时间" |
||||
|
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" style="width: 200px;"> |
||||
|
</el-date-picker> |
||||
|
<span style="margin: 0 10px;">至</span> |
||||
|
<el-date-picker v-model="formData.createdTimeTo" type="datetime" placeholder="结束时间" format="yyyy-MM-dd HH:mm:ss" |
||||
|
value-format="yyyy-MM-dd HH:mm:ss" @change="actcontrolTime" style="width: 200px;"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<div style="display: flex; justify-content: flex-end; margin-bottom: 10px;"> |
||||
|
<el-button type="primary" @click="handleSearch">查询</el-button> |
||||
|
</div> |
||||
|
<div> |
||||
|
<div> <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 prop="pointsClassName" header-align="center" align="center" label="活动时间"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="createdTime" header-align="center" align="center" label="活动标题"> |
||||
|
</el-table-column> |
||||
|
. <el-table-column prop="operationName" header-align="center" align="center" label="活动地点"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="pointsDelta" header-align="center" align="center" label="活动详情"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="pointsDelta" header-align="center" align="center" label="状态"> |
||||
|
</el-table-column> |
||||
|
</el-table></div> |
||||
|
<div v-if="true"> <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 prop="pointsClassName" header-align="center" align="center" label="服务时间"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="createdTime" header-align="center" align="center" label="服务区域"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="operationName" header-align="center" align="center" label="服务地点"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="pointsDelta" header-align="center" align="center" label="服务详情"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="pointsDelta" header-align="center" align="center" label="附件"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button type="text" @click="handleDetail(scope.row)">查看</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> </div> |
||||
|
|
||||
|
<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> |
||||
|
<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" /> |
||||
|
</el-dialog> |
||||
|
<!-- <div class="flex flex-center1 flex-center2"> |
||||
|
<el-button type="info" @click="handleremove">取消</el-button> |
||||
|
<el-button type="danger" @click="handleSubmit">确定</el-button> |
||||
|
</div> --> |
||||
|
</div> |
||||
|
|
||||
|
</template> |
||||
|
<script> |
||||
|
import enclosure from "./enclosure.vue" |
||||
|
import { requestPost,requestGet } from "@/js/dai/request"; |
||||
|
export default { |
||||
|
|
||||
|
name: "see", |
||||
|
data() { |
||||
|
return { |
||||
|
options: [{ |
||||
|
value: '1', |
||||
|
label: '活动记录' |
||||
|
}, { |
||||
|
value: '2', |
||||
|
label: '服务记录' |
||||
|
}], |
||||
|
value: '', |
||||
|
formData:{ |
||||
|
createdTimeTo:"", |
||||
|
createdTimeTo:"", |
||||
|
pointsClass:"", |
||||
|
optionsStatus: [ |
||||
|
{ |
||||
|
code:1, |
||||
|
name:"活动积分" |
||||
|
}, |
||||
|
{ |
||||
|
code:2, |
||||
|
name:"平台积分" |
||||
|
}, |
||||
|
{ |
||||
|
code:3, |
||||
|
name:"操作积分" |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
labelPosition: 'right', |
||||
|
tableData: [ |
||||
|
{1: '活动记录', 2: '服务记录'} |
||||
|
], |
||||
|
integralnum: 1, |
||||
|
radio:3, |
||||
|
textarea: '', |
||||
|
behaviorName: '', |
||||
|
description:"", |
||||
|
pointsDelta:"", |
||||
|
Positive:'', |
||||
|
pageSize: 10, |
||||
|
pageNo: 1, |
||||
|
total: 0, |
||||
|
info:false |
||||
|
}; |
||||
|
}, |
||||
|
props:{ |
||||
|
list:{ |
||||
|
type: Object, |
||||
|
default: () => {} |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
console.log(this.list,"list"); |
||||
|
this.getlist() |
||||
|
this.getpoint1s() |
||||
|
|
||||
|
}, |
||||
|
components:{ |
||||
|
enclosure |
||||
|
}, |
||||
|
computed:{ |
||||
|
|
||||
|
}, |
||||
|
methods: { |
||||
|
//打开附件 |
||||
|
handleDetail(row){ |
||||
|
console.log(row,"row"); |
||||
|
this.info=true |
||||
|
console.log(this.info,"info"); |
||||
|
|
||||
|
this.fmData=row |
||||
|
|
||||
|
}, |
||||
|
//控制活动时间 |
||||
|
actcontrolTime(){ |
||||
|
console.log("dislfj"); |
||||
|
if(this.formData.createdTimeFrom>this.formData.createdTimeTo){ |
||||
|
this.$message.error('活动结束时间不能在活动开始时间之前'); |
||||
|
this.formData.createdTimeTo='' |
||||
|
return |
||||
|
} |
||||
|
}, |
||||
|
//查询 |
||||
|
handleSearch(val) { |
||||
|
this.pageNo = 1; |
||||
|
this.getlist(); |
||||
|
}, |
||||
|
handleSizeChange(val) { |
||||
|
console.log(`每页 ${val} 条`); |
||||
|
this.pageSize = val; |
||||
|
window.localStorage.setItem("pageSize", val); |
||||
|
this.getlist(); |
||||
|
}, |
||||
|
handleCurrentChange(val) { |
||||
|
console.log(`当前页: ${val}`); |
||||
|
this.pageNo = val; |
||||
|
this.getlist(); |
||||
|
}, |
||||
|
//选+- |
||||
|
handleRadioChange(val){ |
||||
|
console.log(val); |
||||
|
this.Positive = val === 3 ? '+' : val === 6 ? '-' : ''; |
||||
|
console.log(this.Positive); |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
//获取积分行为 |
||||
|
async getpoint1s() { |
||||
|
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={ |
||||
|
// 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"); |
||||
|
|
||||
|
// const { data, code, msg } = await requestPost(url,params); |
||||
|
// if (code === 0) { |
||||
|
// console.log("列表请求成功!!!!!!!!!!!!!!"); |
||||
|
// this.$message({ |
||||
|
// message: "调整成功", |
||||
|
// type: "success", |
||||
|
// }); |
||||
|
// this.$emit('summDetailClose') |
||||
|
// } 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(){ |
||||
|
this.$emit('MemberManagementClose') |
||||
|
}, |
||||
|
handleremove(){ |
||||
|
this.$emit('MemberManagementClose') |
||||
|
}, |
||||
|
handleadjustment(value) { |
||||
|
console.log(value,"num"); |
||||
|
}, |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
</script> |
||||
|
<style lang="scss" scoped> |
||||
|
@import "@/assets/scss/modules/management/volunteet.scss"; |
||||
|
.item_width_1 { |
||||
|
width: 200px; |
||||
|
|
||||
|
/deep/.tox .tox-dialog { |
||||
|
z-index: 20000; |
||||
|
} |
||||
|
} |
||||
|
.u-item-width-normal{ |
||||
|
width: 222px; |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,100 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
<div style="display: flex;white-space: nowrap; padding: 30px 0 0 0 ;" > |
||||
|
<el-form style="padding-left: 50px;" :label-position="labelPosition" :model="tableData"> |
||||
|
|
||||
|
<el-form-item label="审核"> |
||||
|
|
||||
|
<div style="display: flex; justify-items:center; align-items: center;"> |
||||
|
<el-radio v-model="radio" label="1" style="margin-right:20px">通过</el-radio> |
||||
|
<div class="flex flex-x flex-center2"> |
||||
|
<el-radio v-model="radio" label="2" style="margin-right: 10px;">不通过</el-radio> |
||||
|
<el-input v-if="radio == '2'" type="number" v-model="stockQty" style="width: 200px;" |
||||
|
placeholder="请说明原因"></el-input> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
</div> |
||||
|
<div class="div_btn"> |
||||
|
|
||||
|
<el-button size="small" @click="handleCancle">取 消</el-button> |
||||
|
<el-button size="small" v-if="formType != 'detail'" type="primary" :disabled="btnDisable" |
||||
|
@click="handleComfirm">确 定</el-button> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
<script> |
||||
|
import { requestPost,requestGet } from "@/js/dai/request"; |
||||
|
export default { |
||||
|
name: "see", |
||||
|
data() { |
||||
|
return { |
||||
|
radio:'1', |
||||
|
stockQty:"", |
||||
|
labelPosition: 'right', |
||||
|
tableData: [], |
||||
|
awardId:"" |
||||
|
}; |
||||
|
}, |
||||
|
props:{ |
||||
|
VolunteerList:{ |
||||
|
type: Object, |
||||
|
default: () => {} |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
console.log(this.VolunteerList,"list"); |
||||
|
this.tableData=this.VolunteerList |
||||
|
// this.awardId=this.list.id |
||||
|
// this.getTableData() |
||||
|
}, |
||||
|
methods: { |
||||
|
//取消审查 |
||||
|
handleCancle(){ |
||||
|
this.$emit('handleprocesslClose') |
||||
|
}, |
||||
|
//确认审查 |
||||
|
handleComfirm(){ |
||||
|
this.$emit('handleprocesslClose') |
||||
|
}, |
||||
|
getTableData() { |
||||
|
console.log(this.formData); |
||||
|
const url = "/voluntary/pointsAward/admin/detail"; |
||||
|
let params = { |
||||
|
id:this.awardId |
||||
|
} |
||||
|
requestGet(url, params).then((res) =>{ |
||||
|
console.log(res,"res"); |
||||
|
if(res.code===0){ |
||||
|
console.log("列表请求成功!!!!!!!!!!!!!!"); |
||||
|
console.log(res.data, "data"); |
||||
|
this.tableData = res.data |
||||
|
console.log(this.tableData, "this.tableData"); |
||||
|
} |
||||
|
}) |
||||
|
// const { data, code, msg } = requestGet(url, params) |
||||
|
// console.log(data,"data"); |
||||
|
// if (code === 0) { |
||||
|
// console.log("列表请求成功!!!!!!!!!!!!!!"); |
||||
|
// console.log(data,"data"); |
||||
|
// this.tableData = data |
||||
|
// console.log(this.tableData,"this.tableData"); |
||||
|
|
||||
|
|
||||
|
// } else { |
||||
|
// } |
||||
|
}, |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
</script> |
||||
|
<style lang="scss" scoped> |
||||
|
@import "@/assets/scss/modules/visual/communityManageForm.scss"; |
||||
|
</style> |
||||
Loading…
Reference in new issue