|
|
@ -7,60 +7,60 @@ |
|
|
|
<el-row> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-form-item label="所属组织" prop="agencyName" label-width="100px"> |
|
|
|
<el-input v-model.trim="formData.agencyName" size="small" clearable placeholder="请输入活动名称" |
|
|
|
<el-input v-model.trim="formData.agencyName" size="small" clearable placeholder="请输入组织名称" |
|
|
|
:disabled="true" class="u-item-width-normal"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-form-item label="类型" prop="typeName" label-width="100px"> |
|
|
|
<el-cascader class="u-item-width-normal" v-model="formData.typeName" :options="options" |
|
|
|
@change="handleChange" :disabled="showdisabled"></el-cascader> |
|
|
|
<el-form-item label="类型" prop="type" label-width="100px"> |
|
|
|
<el-select :disabled="showdisabled" v-model="formData.type" placeholder="请选择" clearable class="u-item-width-normal"> |
|
|
|
<el-option :disabled="showdisabled" class="u-item-width-normal" v-for="item in formData.optionstype" :key="item.value" :label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-form-item label="名称" label-width="100px" prop="Name"> |
|
|
|
<el-input v-model.trim="formData.Name" size="small" clearable placeholder="请输入活动名称" |
|
|
|
<el-form-item label="名称" label-width="100px" prop="name"> |
|
|
|
<el-input v-model.trim="formData.name" size="small" clearable placeholder="请输入名称" |
|
|
|
:disabled="showdisabled" class="u-item-width-normal"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-form-item label="联系人" prop="operator" label-width="100px"> |
|
|
|
<el-input v-model.trim="formData.operator" size="small" clearable placeholder="请输入管理员姓名" |
|
|
|
<el-form-item label="联系人" prop="linkman" label-width="100px"> |
|
|
|
<el-input v-model.trim="formData.linkman" size="small" clearable placeholder="请输入姓名" |
|
|
|
:disabled="showdisabled" class="u-item-width-normal"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-form-item label="联系电话" prop="mobile" label-width="100px"> |
|
|
|
<el-input v-model.trim="formData.mobile" size="small" clearable placeholder="请输入手机号" |
|
|
|
<el-form-item label="联系电话" prop="linkPhone" label-width="100px"> |
|
|
|
<el-input v-model.trim="formData.linkPhone" size="small" clearable placeholder="请输入手机号" |
|
|
|
:disabled="showdisabled" class="u-item-width-normal"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-form-item label="图片" label-width="100px" prop="coverImg"> |
|
|
|
<el-form-item label="办公时间" prop="workTime" label-width="100px"> |
|
|
|
<el-input v-model.trim="formData.workTime" size="small" clearable placeholder="请输入办公时间" |
|
|
|
:disabled="showdisabled" class="u-item-width-normal"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-form-item label="图片" label-width="100px" prop="attrs"> |
|
|
|
<template> |
|
|
|
<upload-image :defaultFileList="fileList" :limit="1" @change="onChangeFileList" |
|
|
|
<upload-image :defaultFileList="fileList" :limit="3" @change="onChangeFileList" |
|
|
|
v-if="!showdisabled" @file-removed="removedImg"></upload-image> |
|
|
|
<div v-else> |
|
|
|
<img :src="formData.coverImg" alt="" style="width: 100px; height: 100px;"> |
|
|
|
<img v-for="(item, index) in this.formData.attrs" :key="index" :src="item.url" style="width: 100px; height: 100px;"> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<!-- <el-col :span="12"> |
|
|
|
<el-form-item label="组织类型" label-width="100px" prop="orgType"> |
|
|
|
<el-select class="u-item-width-normal" v-model.trim="formData.orgType" placeholder="请选择" |
|
|
|
clearable> |
|
|
|
<el-option v-for="item in OrganizationaltypeList" :key="item.value" :label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> --> |
|
|
|
|
|
|
|
<el-col :span="24"> |
|
|
|
<el-form-item label="阵地简介" prop="description" label-width="100px" style="display: block"> |
|
|
|
<el-form-item label="阵地简介" prop="content" label-width="100px" style="display: block"> |
|
|
|
<div class="item_width_1"> |
|
|
|
<el-input :disabled="showdisabled" type="textarea" autosize placeholder="请填写组织介绍" |
|
|
|
v-model.trim="formData.description" :autosize="{ minRows:4., maxRows: 10}"> |
|
|
|
<el-input :disabled="showdisabled" type="textarea" autosize placeholder="请填写阵地介绍" |
|
|
|
v-model.trim="formData.content" :autosize="{ minRows:4., maxRows: 10}"> |
|
|
|
</el-input> |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
@ -68,7 +68,7 @@ |
|
|
|
<el-col :span="24"> |
|
|
|
<el-form-item label="位置" prop="address" label-width="100px" style="display: block"> |
|
|
|
<div style="width: 634px"> |
|
|
|
<el-select v-model.trim="searchValue" filterable style="width: 634px" remote |
|
|
|
<el-select v-model.trim="this.formData.address" filterable style="width: 634px" remote |
|
|
|
:reserve-keyword="true" :disabled="showdisabled" placeholder="请输入关键词" |
|
|
|
:remote-method="remoteMethod"> |
|
|
|
<el-option v-for="(item, index) in searchOptions" |
|
|
@ -82,32 +82,11 @@ |
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
|
|
<!-- <el-form-item label="组织介绍" prop="introduction" label-width="100px" style="display: block"> |
|
|
|
<div class="item_width_1"> |
|
|
|
<el-input type="textarea" autosize placeholder="请填写组织介绍" |
|
|
|
v-model.trim="formData.introduction" :autosize="{ minRows:4., maxRows: 10}"> |
|
|
|
</el-input> |
|
|
|
</div> |
|
|
|
</el-form-item> --> |
|
|
|
<!-- |
|
|
|
<el-form-item label="志愿品牌" prop="brand" label-width="100px" style="display: block"> |
|
|
|
<div class="item_width_1"> |
|
|
|
<el-input type="textarea" autosize placeholder="请输入内容" v-model.trim="formData.brand" |
|
|
|
:autosize="{ minRows:4., maxRows: 10}"> |
|
|
|
</el-input> |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="品牌展示图" label-width="100px" prop="brandImg"> |
|
|
|
<template> |
|
|
|
<upload-image :defaultFileList="formData.brandImg" :limit="1" @change="onChangeFileList1" |
|
|
|
@file-removed="removedImg"></upload-image> |
|
|
|
</template> |
|
|
|
</el-form-item> --> |
|
|
|
</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" |
|
|
|
<el-button size="small" v-if="formType != 'detail'" type="primary" |
|
|
|
@click="handleComfirm">确 |
|
|
|
定</el-button> |
|
|
|
|
|
|
@ -118,7 +97,7 @@ |
|
|
|
<script> |
|
|
|
import { mapGetters } from 'vuex' |
|
|
|
// import { Loading } from 'element-ui' // 引入Loading服务 |
|
|
|
import { requestPost } from '@/js/dai/request' |
|
|
|
import { requestPost,requestGet } from '@/js/dai/request' |
|
|
|
import Tinymce from '@c/tinymce2/index.vue' |
|
|
|
import daiMap from "@/utils/dai-map"; |
|
|
|
import util from '@js/util.js'; |
|
|
@ -135,41 +114,28 @@ |
|
|
|
export default { |
|
|
|
data() { |
|
|
|
return { |
|
|
|
showdisabled:false, |
|
|
|
searchOptions:[], |
|
|
|
fileList:[], |
|
|
|
searchValue:"", |
|
|
|
Organizationaltype:[ |
|
|
|
{ label: "社区", value: 1 }, |
|
|
|
{ label: "企业", value: 2 }, |
|
|
|
{ label: "学校", value: 3 }, |
|
|
|
], |
|
|
|
tableDate:{}, |
|
|
|
formData: |
|
|
|
{ |
|
|
|
sponsors: [{ name: ""}],//标签 |
|
|
|
typeName:"",//类型名称 |
|
|
|
status:"pass",//审核状态 |
|
|
|
numberNum:"",//组织成员数量 |
|
|
|
userId:"",//志愿者id |
|
|
|
agencyId:"",//组织id |
|
|
|
orgType:"", |
|
|
|
brandImg:"",//品牌图片 |
|
|
|
brand:"",//志愿品牌 |
|
|
|
introduction:"",//组织介绍 |
|
|
|
qualification: "",//封面图片 |
|
|
|
idCard:"",//身份证信息 |
|
|
|
mobile:"",//管理员电话 |
|
|
|
operator:"",//管理员姓名 |
|
|
|
Organizationaltype:"",//组织类型 |
|
|
|
// serviceTypeList:"",//服务类型 |
|
|
|
orgName:"",//组织名称 |
|
|
|
agencyName:"",//所属组织 |
|
|
|
serviceTypeList:[],//服务类型 |
|
|
|
formData: |
|
|
|
{ |
|
|
|
agencyName:"", |
|
|
|
agencyId: "", |
|
|
|
linkman: "", |
|
|
|
linkPhone: "", |
|
|
|
content: "", |
|
|
|
workTime: "", |
|
|
|
attrs: [], |
|
|
|
type: "", |
|
|
|
name: "", |
|
|
|
optionstype: [ |
|
|
|
{ value: 0, label: "实践站" }, |
|
|
|
{ value: 1, label: "实践点" }, |
|
|
|
{ value: 2, label: "其它" }, |
|
|
|
|
|
|
|
], |
|
|
|
address: "",//地址 |
|
|
|
longitude: this.$store.state.user.longitude, //经度 |
|
|
|
latitude: this.$store.state.user.latitude,//纬度 |
|
|
|
}, |
|
|
|
showdisabled:false, |
|
|
|
uploadUrl: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadqrcodeV2', |
|
|
|
customerId: localStorage.getItem('customerId'), |
|
|
|
|
|
|
@ -199,26 +165,32 @@ |
|
|
|
console.log(type, unitId,"i就理解哦i"); |
|
|
|
if(type=="info"){ |
|
|
|
this.showdisabled=true |
|
|
|
this.getTableDetail(unitId) |
|
|
|
} |
|
|
|
// await this.getDemandOptions() |
|
|
|
// console.log(this.demandOptions); |
|
|
|
// let { latitude, longitude } = this.$store.state.user; |
|
|
|
|
|
|
|
// this.formType = type; |
|
|
|
// if (unitId) { |
|
|
|
// this.unitId = unitId; |
|
|
|
// this.formData.id = unitId; |
|
|
|
// await this.loadFormData(); |
|
|
|
// } else { |
|
|
|
// this.formData.latitude = latitude; |
|
|
|
// this.formData.longitude = longitude; |
|
|
|
// } |
|
|
|
|
|
|
|
// // if (!map) { |
|
|
|
// this.initMap(this.formData.latitude, this.formData.longitude); |
|
|
|
// // } |
|
|
|
|
|
|
|
// this.endLoading(); |
|
|
|
if (type=="edit") { |
|
|
|
this.getTableDetail(unitId) |
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
//获取详情 |
|
|
|
getTableDetail(id) { |
|
|
|
console.log(id,"dskljfksdljf"); |
|
|
|
let url = `/voluntary/position/edit/${id}`; |
|
|
|
console.log(url,"url"); |
|
|
|
requestGet(url).then((res) => { |
|
|
|
console.log(res); |
|
|
|
if (res.code == 0) { |
|
|
|
this.formData = res.data |
|
|
|
this.fileList=[{fileUrl:res.data.attrs[0].url}] |
|
|
|
console.log(this.formData,"this.formData"); |
|
|
|
|
|
|
|
} else { |
|
|
|
this.$message.error(res.msg) |
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
//添加标签 |
|
|
|
addDomain() { |
|
|
@ -253,85 +225,7 @@ |
|
|
|
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, |
|
|
|
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); |
|
|
@ -343,26 +237,23 @@ |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
handleOnlineRegistration(value) { |
|
|
|
// |
|
|
|
if (value) { |
|
|
|
this.online = true; |
|
|
|
this.formData.online = 1; |
|
|
|
} else { |
|
|
|
this.online = false; |
|
|
|
this.formData.cutOffTime = '' |
|
|
|
this.formData.online = 0; |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
onChangeFileList(e) { |
|
|
|
console.log(e, 'sssssb'); |
|
|
|
this.fileList = e.length > 0 ? e.map(item => ({ |
|
|
|
fileType: '0', |
|
|
|
fileUrl: item.response.data.url |
|
|
|
type:'image', |
|
|
|
fileType: '0', |
|
|
|
name:item.response.data.fileName, |
|
|
|
fileUrl: item.response.data.url, |
|
|
|
format: item.response.data.fileName.split('.').pop(), |
|
|
|
url: item.response.data.url |
|
|
|
})) : []; // 当e为空时清空fileList |
|
|
|
if (e.length > 0) { |
|
|
|
this.formData.coverPic = e[0].response.data.url; |
|
|
|
console.log(this.fileList,"this.fileList"); |
|
|
|
this.formData.attrs=this.fileList; |
|
|
|
console.log(this.formData.attrs,"this.fileList"); |
|
|
|
|
|
|
|
} else { |
|
|
|
this.formData.coverPic = ''; |
|
|
|
} |
|
|
@ -371,30 +262,7 @@ |
|
|
|
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.qualification = e[0].response.data.url; |
|
|
|
// } else { |
|
|
|
// this.formData.qualification = ''; |
|
|
|
// } |
|
|
|
// }, |
|
|
|
onChangeFileList1(e) { |
|
|
|
console.log(e, 'sssssb'); |
|
|
|
this.fileList1 = e.length > 0 ? e.map(item => ({ |
|
|
|
fileType: '0', |
|
|
|
fileUrl: item.response.data.url |
|
|
|
})) : []; // 当e为空时清空fileList |
|
|
|
if (e.length > 0) { |
|
|
|
this.formData.brandImg = e[0].response.data.url; |
|
|
|
} else { |
|
|
|
this.formData.brandImg = ''; |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
onChangeImgs(e, rowIndex = 0) { |
|
|
|
console.log('onChangeFileList', e) |
|
|
@ -409,184 +277,32 @@ |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
// 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 handleComfirm() { |
|
|
|
console.log(this.formData," this.formData"); |
|
|
|
|
|
|
|
if (!this.formData.agencyName) { |
|
|
|
this.$message.error('请选择所属组织'); |
|
|
|
// if (this.formData.type!==1&&!this.formData.type!=2&&!this.formData.type!=0) { |
|
|
|
// this.$message.error('请选择类型'); |
|
|
|
// return; |
|
|
|
// } |
|
|
|
|
|
|
|
|
|
|
|
if (!this.formData.linkPhone) { |
|
|
|
this.$message.error('请输入电话'); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!this.formData.introduction) { |
|
|
|
this.$message.error('请输入组织介绍'); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (this.fileList.length === 0) { |
|
|
|
this.$message.error('请上传封面图片'); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (!this.formData.idCard) { |
|
|
|
this.$message.error('请输入身份证信息'); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (!this.formData.mobile) { |
|
|
|
this.$message.error('请输入管理员电话'); |
|
|
|
if (!this.formData.linkman) { |
|
|
|
this.$message.error('请输入姓名'); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (!this.formData.operator) { |
|
|
|
this.$message.error('请输入管理员姓名'); |
|
|
|
if (!this.formData.address) { |
|
|
|
this.$message.error('请选择位置'); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (!this.formData.orgType) { |
|
|
|
this.$message.error('请输入组织类型'); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (!this.formData.serviceTypeList) { |
|
|
|
this.$message.error('请输入服务类型'); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (!this.formData.orgName) { |
|
|
|
this.$message.error('请输入组织名称'); |
|
|
|
if (!this.formData.workTime) { |
|
|
|
this.$message.error('请输入办公时间'); |
|
|
|
return; |
|
|
|
} |
|
|
|
console.log(this.formData,"this.formData"); |
|
|
@ -594,7 +310,9 @@ |
|
|
|
}, |
|
|
|
//增加 |
|
|
|
async addActivity() { |
|
|
|
let url = '/voluntary/volunteerOrg/saveOrUpdate' |
|
|
|
let url = '/voluntary/position/saveOrUpdate' |
|
|
|
console.log(); |
|
|
|
|
|
|
|
const { data, code, msg } = await requestPost(url, this.formData) |
|
|
|
if (code === 0) { |
|
|
|
this.$message({ |
|
|
@ -603,9 +321,8 @@ |
|
|
|
}) |
|
|
|
// this.resetData() |
|
|
|
this.$emit('showAddClose') |
|
|
|
this.btnDisable = false |
|
|
|
|
|
|
|
} else { |
|
|
|
this.btnDisable = false |
|
|
|
this.$message.error(msg) |
|
|
|
} |
|
|
|
|
|
|
@ -658,7 +375,7 @@ |
|
|
|
let { msg, data } = await map.getAddress(lat, lng); |
|
|
|
if (msg == "success") { |
|
|
|
this.formData.address = data.address; |
|
|
|
this.searchValue=data.address |
|
|
|
// this.searchValue=data.address |
|
|
|
console.log(this.formData.address," this.formData.address "); |
|
|
|
|
|
|
|
this.searchValue = data.address |
|
|
@ -715,34 +432,32 @@ |
|
|
|
computed: { |
|
|
|
dataRule() { |
|
|
|
return { |
|
|
|
typeName: [ |
|
|
|
{ required: true, message: '请选择组织类型', trigger: 'blur' } |
|
|
|
type: [ |
|
|
|
{ required: true, message: '请选择类型', trigger: 'blur' } |
|
|
|
], |
|
|
|
Name: [ |
|
|
|
{ required: true, message: '请填写名称', trigger: 'blur' } |
|
|
|
name: [ |
|
|
|
{ required: true, message: '请选择名称', trigger: 'blur' } |
|
|
|
], |
|
|
|
searchValue: [ |
|
|
|
{ required: true, message: '请选择地址', trigger: 'blur' }, |
|
|
|
linkman: [ |
|
|
|
{ required: true, message: '请输入联系人', trigger: 'blur' }, |
|
|
|
|
|
|
|
], |
|
|
|
mobile: [ |
|
|
|
{ required: true, message: '管理员电话不能为空不能为空', trigger: 'blur' }, |
|
|
|
linkPhone: [ |
|
|
|
{ required: true, message: '请填写电话', trigger: 'blur' }, |
|
|
|
{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号码', trigger: 'blur' } |
|
|
|
], |
|
|
|
operator: [ |
|
|
|
{ required: true, message: '请填写联系人', trigger: 'blur' } |
|
|
|
content: [ |
|
|
|
{ required: true, message: '请输入阵地介绍', trigger: 'blur' } |
|
|
|
], |
|
|
|
description: [ |
|
|
|
{ required: true, message: '请填写阵地介绍', trigger: 'blur' }, |
|
|
|
], |
|
|
|
fileList: [ |
|
|
|
|
|
|
|
attrs: [ |
|
|
|
{ required: true, message: '请选择封面图片', trigger: 'blur' } |
|
|
|
], |
|
|
|
address: [ |
|
|
|
{ required: true, message: '请选择位置', trigger: 'blur' } |
|
|
|
], |
|
|
|
coverImg: [ |
|
|
|
{ required: true, message: '请选择照片', trigger: 'blur' } |
|
|
|
workTime: [ |
|
|
|
{ required: true, message: '请输入办公时间', trigger: 'blur' } |
|
|
|
] |
|
|
|
} |
|
|
|
}, |
|
|
|