You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
845 lines
30 KiB
845 lines
30 KiB
<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="所属组织" prop="agencyName" label-width="100px">
|
|
<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="type" label-width="100px">
|
|
<!-- <el-cascader @change="handleChangeAgency" :options="options" :disabled="showdisabled" :props="{ checkStrictly: true }"></el-cascader>
|
|
<el-form-item label="类型" prop="type" label-width="100px"> -->
|
|
<el-cascader v-model="this.formData.type" @change="handleChangeAgency" :options="options"
|
|
:disabled="showdisabled" :props="{emitPath: false,
|
|
multiple: false, }"></el-cascader>
|
|
</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="请输入活动名称"
|
|
: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="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="searchValue" label-width="100px" style="display: block">
|
|
<div style="width: 634px">
|
|
<el-select v-model.trim="searchValue" filterable style="width: 634px" remote
|
|
:reserve-keyword="true" :disabled="showdisabled" placeholder="请输入关键词"
|
|
:remote-method="remoteMethod">
|
|
<el-option v-for="(item, index) in searchOptions"
|
|
@click.native="handleClickKey(index)" :key="item.value || index"
|
|
:label="item.label" :value="item.value">
|
|
</el-option>
|
|
</el-select>
|
|
<div id="app_activity" class="div_map"></div>
|
|
</div>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-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="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">
|
|
<div style="display: flex; ">
|
|
<div >
|
|
<div v-for="(item, index) in formData.tags" :label="index" :key="item.name" :prop=index style="display: flex;">
|
|
<el-form-item label="标签" prop="tags" label-width="100px" >
|
|
<el-input :disabled="showdisabled" v-model="formData.tags" placeholder="请输入(最多添加四个)" lass="u-item-width-normal"></el-input>
|
|
</el-form-item>
|
|
<div v-if="index > 0" @click="removeDomain(item)" style="color: blue; font-size: 12px; margin-top: 15px">删除
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div @click="addDomain" style="color: blue; font-size: 12px; margin-top: 15px">添加
|
|
</div>
|
|
<i class="el-icon-circle-plus" @click="addDomain" style="font-size: 20px; margin-top:7px;"></i>
|
|
</div>
|
|
</el-col> -->
|
|
<el-col :span="12">
|
|
<div v-if="formData.tags1" style="display: flex;">
|
|
<div>
|
|
<div v-for="(item, index) in formData.tags1" :key="item.name + index"
|
|
style="display: flex;">
|
|
<el-form-item label="标签" prop="tags1" label-width="100px">
|
|
<el-input :disabled="showdisabled" v-model="item.tab" placeholder="请输入(最多添加四个)"
|
|
class="u-item-width-normal"></el-input>
|
|
</el-form-item>
|
|
<div v-if="index > 0" @click="removeDomain(index)"
|
|
style="color: blue; font-size: 12px; margin-top: 15px">
|
|
删除
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div @click="addDomain" style="color: blue; font-size: 12px; margin-top: 15px">添加</div>
|
|
</div>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="展示图片" label-width="100px" prop="attrs">
|
|
<template>
|
|
<upload-image :defaultFileList="fileList" :limit="1" @change="onChangeFileList"
|
|
v-if="!showdisabled" @file-removed="removedImg"></upload-image>
|
|
<div v-else>
|
|
<img :src="formData.coverImg" alt="" style="width: 100px; height: 100px;">
|
|
</div>
|
|
</template>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="营业时间" label-width="100px" prop="workTime">
|
|
<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="beiremarkzhu">
|
|
<el-input v-model.trim="formData.remark" size="small" clearable placeholder="请输入备注"
|
|
:disabled="showdisabled" class="u-item-width-normal"></el-input>
|
|
</el-form-item>
|
|
</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" type="primary" @click="handleComfirm">确
|
|
定</el-button>
|
|
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { mapGetters } from 'vuex'
|
|
// import { Loading } from 'element-ui' // 引入Loading服务
|
|
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';
|
|
// 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 // 新建一个正逆地址解析类
|
|
|
|
|
|
export default {
|
|
data() {
|
|
return {
|
|
orgOptionProps: {
|
|
value: 'value',
|
|
label: 'label',
|
|
children: 'subAgencyList',
|
|
emitPath: false,
|
|
multiple: false,
|
|
checkStrictly: true
|
|
},
|
|
showdisabled:false,
|
|
searchOptions:[],
|
|
options:[
|
|
{
|
|
|
|
"children": [
|
|
{
|
|
"pv":"1",
|
|
"value": "11",
|
|
"label": "托儿所"
|
|
},
|
|
{
|
|
"pv":"1",
|
|
"value": "12",
|
|
"label": "幼儿园"
|
|
},
|
|
{
|
|
"pv":"1",
|
|
"value": "13",
|
|
"label": "小学"
|
|
},
|
|
{
|
|
"pv":"1",
|
|
"value": "14",
|
|
"label": "中学"
|
|
},
|
|
{
|
|
"pv":"1",
|
|
"value": "15",
|
|
"label": "培训机构"
|
|
},
|
|
{
|
|
"pv":"1",
|
|
"value": "16",
|
|
"label": "其它"
|
|
}
|
|
],
|
|
"value": "1",
|
|
"label": "教育培训"
|
|
},
|
|
{
|
|
"children": [
|
|
{
|
|
"pv":"2",
|
|
"value": "21",
|
|
"label": "门诊"
|
|
},
|
|
{
|
|
"pv":"2",
|
|
"value": "22",
|
|
"label": "社区医院"
|
|
},
|
|
{
|
|
"pv":"2",
|
|
"value": "23",
|
|
"label": "医院"
|
|
},
|
|
{
|
|
"pv":"2",
|
|
"value": "24",
|
|
"label": "其它"
|
|
}
|
|
],
|
|
"value": "2",
|
|
"label": "医疗卫生"
|
|
},
|
|
{
|
|
"children": [
|
|
{
|
|
"pv":"3",
|
|
"value": "31",
|
|
"label": "餐饮"
|
|
},
|
|
{
|
|
"pv":"3",
|
|
"value": "32",
|
|
"label": "超市"
|
|
},
|
|
{
|
|
"pv":"3",
|
|
"value": "33",
|
|
"label": "理发"
|
|
},
|
|
{
|
|
"pv":"3",
|
|
"value": "34",
|
|
"label": "书店"
|
|
},
|
|
{
|
|
"pv":"3",
|
|
"value": "35",
|
|
"label": "便利店"
|
|
},
|
|
{
|
|
"pv":"3",
|
|
"value": "36",
|
|
"label": "市场"
|
|
},
|
|
{
|
|
"pv":"3",
|
|
"value": "37",
|
|
"label": "五金"
|
|
},
|
|
{
|
|
"pv":"3",
|
|
"value": "38",
|
|
"label": "照相"
|
|
},
|
|
{
|
|
"pv":"3",
|
|
"value": "39",
|
|
"label": "综合修理"
|
|
},
|
|
{
|
|
"pv":"3",
|
|
"value": "30",
|
|
"label": "服务站"
|
|
},
|
|
{
|
|
"pv":"3",
|
|
"value": "330",
|
|
"label": "农贸市场"
|
|
},
|
|
{
|
|
"pv":"3",
|
|
"value": "331",
|
|
"label": "其它"
|
|
}
|
|
],
|
|
"value": "3",
|
|
"label": "商业服务"
|
|
},
|
|
{
|
|
"children": [
|
|
{
|
|
"pv":"4",
|
|
"value": "41",
|
|
"label": "电影院"
|
|
},
|
|
{
|
|
"pv":"4",
|
|
"value": "42",
|
|
"label": "歌剧院"
|
|
},
|
|
{
|
|
"pv":"4",
|
|
"value": "43",
|
|
"label": "图书馆"
|
|
},
|
|
{
|
|
"pv":"4",
|
|
"value": "44",
|
|
"label": "游泳馆"
|
|
},
|
|
{
|
|
"pv":"4",
|
|
"value": "45",
|
|
"label": "活动中心"
|
|
},
|
|
{
|
|
"pv":"4",
|
|
"value": "46",
|
|
"label": "体育馆"
|
|
},
|
|
{
|
|
"pv":"4",
|
|
"value": "47",
|
|
"label": "其它"
|
|
}
|
|
],
|
|
"value": "4",
|
|
"label": "文化体育"
|
|
},
|
|
{
|
|
"value": "5",
|
|
"label": "其它"
|
|
}
|
|
],
|
|
fileList:[],
|
|
searchValue:"",
|
|
OrganizationaltypeList:[],
|
|
ServicetypeListName:[],
|
|
Organizationaltype:[
|
|
{ label: "社区", value: 1 },
|
|
{ label: "企业", value: 2 },
|
|
{ label: "学校", value: 3 },
|
|
],
|
|
tableDate:{},
|
|
formData:
|
|
{
|
|
agencyName:"",
|
|
linkman: "",
|
|
linkPhone: "",
|
|
workTime: "",
|
|
type: "",
|
|
tags1: [
|
|
{}
|
|
],
|
|
tags:"",//标签
|
|
agencyId: this.$store.state.user.agencyId,
|
|
address: "",//地址
|
|
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() {
|
|
this.formData.agencyId=this.$store.state.user.agencyId
|
|
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.listServerOrg()
|
|
|
|
},
|
|
|
|
methods: {
|
|
//父组件传的
|
|
async initForm(type, unitId) {
|
|
console.log(type, unitId,"i就理解哦i");
|
|
if(type=="info"){
|
|
this.showdisabled=true
|
|
}
|
|
if (type=="edit") {
|
|
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();
|
|
},
|
|
//获取类型
|
|
handleChangeAgency(val) {
|
|
console.log(val);
|
|
this.formData.type = val
|
|
},
|
|
//获取详情
|
|
getTableDetail(id) {
|
|
console.log(id,"dskljfksdljf");
|
|
let url = `/voluntary/sphereLife/detail/${id}`;
|
|
console.log(url,"url");
|
|
requestGet(url).then((res) => {
|
|
if (res.code == 0) {
|
|
this.formData = res.data
|
|
this.fileList=[{fileUrl:res.data.attrs[0].url}]
|
|
this.searchValue=res.data.address
|
|
this.formData.tags1=res.data.tags.split(',').map(item => ({ tab: item.trim() }));
|
|
} else {
|
|
this.$message.error(res.msg)
|
|
}
|
|
})
|
|
|
|
|
|
},
|
|
//添加标签
|
|
addDomain() {
|
|
|
|
|
|
if (this.formData.tags1.length < 4) {
|
|
this.formData.tags1.push({tab: '' });
|
|
|
|
}else{
|
|
this.$message.error("最多添加4个标签");
|
|
}
|
|
|
|
},
|
|
//删除动态
|
|
removeDomain(item) {
|
|
console.log(item);
|
|
this.formData.tags1.splice(item, 1);
|
|
// var index = this.formData.sponsors.indexOf(item)
|
|
// if (index !== -1) {
|
|
// this.formData.sponsors.splice(index, 1)
|
|
// this.tableDate = {}
|
|
// }
|
|
},
|
|
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 || '';
|
|
},
|
|
|
|
|
|
async activityType() {
|
|
|
|
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) {
|
|
console.log(e, 'sssssb');
|
|
this.fileList = e.length > 0 ? e.map(item => ({
|
|
fileType: '0',
|
|
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) {
|
|
console.log(this.fileList,"this.fileList");
|
|
this.formData.attrs=this.fileList;
|
|
console.log(this.formData.attrs,"this.fileList");
|
|
|
|
} else {
|
|
this.formData.coverPic = '';
|
|
}
|
|
},
|
|
removedImg() {
|
|
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)
|
|
})
|
|
}
|
|
},
|
|
|
|
|
|
|
|
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 handleComfirm() {
|
|
if (this.formData.tags1) {
|
|
let one=this.formData.tags1.map(item => item.tab).join(', ')
|
|
this.formData.tags=one;
|
|
console.log(this.formData,"this.formData");
|
|
}
|
|
|
|
|
|
// console.log(this.formData.tags.map(item => item.tab).join(', ')," this.formData");
|
|
// if (!this.formData.type) {
|
|
// this.$message.error('请选择类型');
|
|
// return;
|
|
// }
|
|
if (!this.formData.name) {
|
|
this.$message.error('请输入组织介绍');
|
|
return;
|
|
}
|
|
|
|
if (this.formData.attrs.length === 0) {
|
|
this.$message.error('请上传封面图片');
|
|
return;
|
|
}
|
|
|
|
if (!this.formData.linkPhone) {
|
|
this.$message.error('请输入联系电话');
|
|
return;
|
|
}
|
|
|
|
if (!this.formData.linkman) {
|
|
this.$message.error('请输入联系人');
|
|
return;
|
|
}
|
|
|
|
// if (this.formData.tabs.length === 0) {
|
|
// this.$message.error('请输入标签');
|
|
// return;
|
|
// }
|
|
|
|
// if (!this.formData.serviceTypeList) {
|
|
// this.$message.error('请输入服务类型');
|
|
// return;
|
|
// }
|
|
console.log(this.formData,"this.formData");
|
|
this.addActivity()
|
|
},
|
|
//增加
|
|
async addActivity() {
|
|
|
|
let url = '/voluntary/sphereLife/saveOrUpdate'
|
|
const { data, code, msg } = await requestPost(url, this.formData)
|
|
if (code === 0) {
|
|
this.$message({
|
|
type: 'success',
|
|
message: '操作成功'
|
|
})
|
|
// this.resetData()
|
|
this.$emit('showAddClose')
|
|
this.btnDisable = false
|
|
} else {
|
|
this.btnDisable = false
|
|
this.$message.error(msg)
|
|
}
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
handleCancle() {
|
|
console.log("sdlkfjklsdf ");
|
|
this.$emit('showAddClose')
|
|
|
|
},
|
|
|
|
// 地图初始化函数,本例取名为init,开发者可根据实际情况定义
|
|
initMap(latitude, longitude) {
|
|
console.log(latitude, longitude,"564564568");
|
|
map = new daiMap(
|
|
document.getElementById("app_activity"),
|
|
{ latitude, longitude },
|
|
{
|
|
zoom: 16.2, // 设置地图缩放级别
|
|
pitch: 43.5, // 设置俯仰角
|
|
rotation: 45, // 设置地图旋转角度
|
|
}
|
|
);
|
|
|
|
// 监听地图平移结束
|
|
/* map.on("dragend", (e) => {
|
|
this.handleMoveCenter(e);
|
|
});*/
|
|
map.on("click", (e) => {
|
|
this.handleMoveCenter(e);
|
|
});
|
|
|
|
map.setCenter(latitude, longitude);
|
|
map.setMarker(latitude, longitude);
|
|
|
|
},
|
|
|
|
|
|
async handleMoveCenter(e) {
|
|
//修改地图中心点
|
|
// const { lat, lng } = map.getCenter();
|
|
const { lat, lng } = e.latLng;
|
|
this.formData.latitude = lat;
|
|
this.formData.longitude = lng;
|
|
map.setMarker(lat, lng);
|
|
|
|
let { msg, data } = await map.getAddress(lat, lng);
|
|
if (msg == "success") {
|
|
this.formData.address = data.address;
|
|
this.searchValue=data.address
|
|
console.log(this.formData.address," this.formData.address ");
|
|
|
|
this.searchValue = data.address
|
|
this.searchOptions = []
|
|
// console.log('data,this.searchValue ', this.searchValue)
|
|
|
|
}
|
|
},
|
|
|
|
async remoteMethod(query) {
|
|
console.log(query, "sfsvsdv");
|
|
if (query !== '') {
|
|
const { msg, data } = await map.searchNearby(query);
|
|
console.log(data,"sdl;kjfklsjfkld");
|
|
|
|
this.resultList = []
|
|
|
|
if (msg == "success" && data.resultList && data.resultList.length > 0) {
|
|
if (data.resultList && data.resultList.length > 0) {
|
|
this.resultList = data.resultList
|
|
console.log(this.resultList, "this.resultList");
|
|
this.searchOptions = this.resultList.map(item => {
|
|
return { value: `${item.id}`, label: `${item.address + item.title}` };
|
|
|
|
});
|
|
|
|
console.log(this.searchOptions, "this.searchOptions");
|
|
}
|
|
} else {
|
|
this.searchOptions = [
|
|
{
|
|
value: '0',
|
|
label: '未检索到结果'
|
|
}
|
|
]
|
|
}
|
|
} else {
|
|
this.searchOptions = [];
|
|
}
|
|
},
|
|
|
|
handleClickKey(index) {
|
|
let selPosition = this.resultList[index]
|
|
let lonlat = selPosition.lonlat.split(" ")
|
|
map.setCenter(lonlat[1], lonlat[0]);
|
|
map.setMarker(lonlat[1], lonlat[0]);
|
|
this.formData.latitude = lonlat[1];
|
|
this.formData.longitude = lonlat[0];
|
|
this.formData.address = selPosition.address + selPosition.name
|
|
this.searchValue = selPosition.address + selPosition.name
|
|
console.log(this.formData.latitude, this.formData.longitude, "this.formData.latitude, this.formData.longitude");
|
|
|
|
},
|
|
|
|
|
|
|
|
},
|
|
computed: {
|
|
dataRule() {
|
|
return {
|
|
typeName: [
|
|
{ required: true, message: '请选择组织类型', trigger: 'blur' }
|
|
],
|
|
name: [
|
|
{ required: true, message: '请填写名称', trigger: 'blur' }
|
|
],
|
|
searchValue: [
|
|
{ required: true, message: '请选择地址', trigger: 'blur' },
|
|
|
|
],
|
|
linkPhone: [
|
|
{ required: true, message: '联系电话不能为空', trigger: 'blur' },
|
|
{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号码', trigger: 'blur' }
|
|
],
|
|
linkman: [
|
|
{ required: true, message: '请填写联系人', trigger: 'blur' }
|
|
],
|
|
tags1: [
|
|
{ required: true, message: '请填写标签信息', trigger: 'blur' },
|
|
],
|
|
attrs: [
|
|
{ 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>
|