|
|
@ -2,117 +2,162 @@ |
|
|
|
<div class="g-add"> |
|
|
|
<div class="g-add-page"> |
|
|
|
<div class="g-left"> |
|
|
|
<el-form ref="ref_form1" |
|
|
|
<el-form |
|
|
|
ref="ref_form1" |
|
|
|
:inline="true" |
|
|
|
:model="formData" |
|
|
|
:rules="dataRule" |
|
|
|
class="form"> |
|
|
|
<el-form-item label="所属网格 " |
|
|
|
class="form" |
|
|
|
> |
|
|
|
<el-form-item |
|
|
|
label="所属网格 " |
|
|
|
prop="gridId" |
|
|
|
label-width="150px" |
|
|
|
style="display: block"> |
|
|
|
<el-select v-model.trim="formData.gridId" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-select |
|
|
|
v-model.trim="formData.gridId" |
|
|
|
placeholder="请选择" |
|
|
|
clearable |
|
|
|
class="cell-width-1"> |
|
|
|
<el-option v-for="item in gridList" |
|
|
|
class="cell-width-1" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in gridList" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="报事人" |
|
|
|
<el-form-item |
|
|
|
label="报事人" |
|
|
|
prop="name" |
|
|
|
label-width="150px" |
|
|
|
style="display: block"> |
|
|
|
<el-input class="cell-width-1" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="cell-width-1" |
|
|
|
maxlength="10" |
|
|
|
placeholder="请输入报事人姓名" |
|
|
|
v-model="formData.name"> |
|
|
|
v-model="formData.name" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
<div> |
|
|
|
<el-button style="margin-top: 10px" |
|
|
|
<el-button |
|
|
|
style="margin-top: 10px" |
|
|
|
type="primary" |
|
|
|
size="mini" |
|
|
|
@click="handleShowPersonList">居民信息中选择</el-button> |
|
|
|
@click="handleShowPersonList" |
|
|
|
>居民信息中选择</el-button |
|
|
|
> |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="手机号" |
|
|
|
<el-form-item |
|
|
|
label="手机号" |
|
|
|
prop="mobile" |
|
|
|
label-width="150px" |
|
|
|
style="display: block"> |
|
|
|
<el-input class="cell-width-1" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="cell-width-1" |
|
|
|
maxlength="30" |
|
|
|
placeholder="请输入手机号 " |
|
|
|
v-model="formData.mobile"> |
|
|
|
v-model="formData.mobile" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="身份证号" |
|
|
|
<el-form-item |
|
|
|
label="身份证号" |
|
|
|
prop="idCard" |
|
|
|
label-width="150px" |
|
|
|
style="display: block"> |
|
|
|
<el-input class="cell-width-1" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="cell-width-1" |
|
|
|
maxlength="30" |
|
|
|
placeholder="请输入身份证号" |
|
|
|
v-model="formData.idCard"></el-input> |
|
|
|
v-model="formData.idCard" |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="反应渠道" |
|
|
|
<el-form-item |
|
|
|
label="反应渠道" |
|
|
|
label-width="150px" |
|
|
|
prop="sourceType"> |
|
|
|
<el-select v-model="formData.sourceType" |
|
|
|
prop="sourceType" |
|
|
|
> |
|
|
|
<el-select |
|
|
|
v-model="formData.sourceType" |
|
|
|
placeholder="请选择" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
class="cell-width-1"> |
|
|
|
<el-option v-for="item in qudaoArray" |
|
|
|
class="cell-width-1" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in qudaoArray" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="发生时间" |
|
|
|
<el-form-item |
|
|
|
label="发生时间" |
|
|
|
prop="happenTime" |
|
|
|
label-width="150px" |
|
|
|
style="display: block"> |
|
|
|
<el-date-picker v-model="formData.happenTime" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-date-picker |
|
|
|
v-model="formData.happenTime" |
|
|
|
class="cell-width-1" |
|
|
|
type="datetime" |
|
|
|
placeholder="发生时间" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss"> |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" |
|
|
|
> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="事件内容" |
|
|
|
<el-form-item |
|
|
|
label="事件内容" |
|
|
|
prop="eventContent" |
|
|
|
label-width="150px" |
|
|
|
style="display: block"> |
|
|
|
<el-input class="cell-width-2" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="cell-width-2" |
|
|
|
type="textarea" |
|
|
|
maxlength="500" |
|
|
|
show-word-limit |
|
|
|
:rows="5" |
|
|
|
placeholder="请输入事件内容,不超过500字" |
|
|
|
v-model="formData.eventContent"></el-input> |
|
|
|
v-model="formData.eventContent" |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
</div> |
|
|
|
<div class="g-right"> |
|
|
|
<el-form ref="ref_form2" |
|
|
|
<el-form |
|
|
|
ref="ref_form2" |
|
|
|
:inline="true" |
|
|
|
:model="formData" |
|
|
|
:rules="dataRule" |
|
|
|
class="form"> |
|
|
|
<el-form-item label="图片" |
|
|
|
class="form" |
|
|
|
> |
|
|
|
<el-form-item |
|
|
|
label="图片" |
|
|
|
label-width="150px" |
|
|
|
style="display: block"> |
|
|
|
<el-upload :headers="$getElUploadHeaders()" |
|
|
|
:class="['avatar-uploader', { hide: hideUploadBtn }]" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-upload |
|
|
|
:headers="$getElUploadHeaders()" |
|
|
|
:class="[ |
|
|
|
'avatar-uploader', |
|
|
|
{ hide: hideUploadBtn }, |
|
|
|
]" |
|
|
|
ref="uploadPic" |
|
|
|
:action="uploadUlr" |
|
|
|
list-type="picture-card" |
|
|
@ -121,46 +166,55 @@ |
|
|
|
:file-list="replayImgList" |
|
|
|
:on-change="handleEditChange" |
|
|
|
:on-success="handleSuccess" |
|
|
|
:limit="3"> |
|
|
|
:limit="3" |
|
|
|
> |
|
|
|
<span class="font-14">选择图片</span> |
|
|
|
<div slot="tip" |
|
|
|
class="upload_tip"> |
|
|
|
<div slot="tip" class="upload_tip"> |
|
|
|
最多上传3张图片,图片支持jpg、jpeg、bmp、git或png格式 |
|
|
|
</div> |
|
|
|
</el-upload> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="地图位置" |
|
|
|
<el-form-item |
|
|
|
label="地图位置" |
|
|
|
prop="longitude" |
|
|
|
label-width="150px" |
|
|
|
style="display: block"> |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<div style="width: 500px"> |
|
|
|
<el-select v-model="searchValue" |
|
|
|
<el-select |
|
|
|
v-model="searchValue" |
|
|
|
filterable |
|
|
|
style="width: 500px" |
|
|
|
remote |
|
|
|
:reserve-keyword="true" |
|
|
|
placeholder="请输入关键词" |
|
|
|
:remote-method="remoteMethod" |
|
|
|
:loading="loading"> |
|
|
|
<el-option v-for="(item,index) in searchOptions" |
|
|
|
:loading="loading" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="(item, index) in searchOptions" |
|
|
|
@click.native="handleClickKey(index)" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
<div id="app_event" |
|
|
|
class="div_map"></div> |
|
|
|
<div id="app_event" class="div_map"></div> |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="详细地址" |
|
|
|
<el-form-item |
|
|
|
label="详细地址" |
|
|
|
prop="address" |
|
|
|
label-width="150px" |
|
|
|
style="display: block"> |
|
|
|
<el-input class="cell-width-1" |
|
|
|
v-model="formData.address"> |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="cell-width-1" |
|
|
|
v-model="formData.address" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
@ -168,7 +222,8 @@ |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- 新增弹出框 --> |
|
|
|
<el-dialog :visible.sync="personTableShow" |
|
|
|
<el-dialog |
|
|
|
:visible.sync="personTableShow" |
|
|
|
:close-on-click-modal="false" |
|
|
|
:close-on-press-escape="false" |
|
|
|
:destroy-on-close="true" |
|
|
@ -176,46 +231,61 @@ |
|
|
|
width="550px" |
|
|
|
top="5vh" |
|
|
|
class="dialog-h" |
|
|
|
@closed="diaClose"> |
|
|
|
@closed="diaClose" |
|
|
|
> |
|
|
|
<div style="padding: 10px 30px"> |
|
|
|
<el-form :inline="false" |
|
|
|
<el-form |
|
|
|
:inline="false" |
|
|
|
ref="ref_formSearch" |
|
|
|
:label-width="'90px'"> |
|
|
|
<el-form-item label="所属网格" |
|
|
|
label-width="150px"> |
|
|
|
<el-select class="cell-width-1" |
|
|
|
:label-width="'90px'" |
|
|
|
> |
|
|
|
<el-form-item label="所属网格" label-width="150px"> |
|
|
|
<el-select |
|
|
|
class="cell-width-1" |
|
|
|
v-model.trim="selGridId" |
|
|
|
placeholder="请选择" |
|
|
|
clearable> |
|
|
|
<el-option v-for="item in gridList" |
|
|
|
clearable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in gridList" |
|
|
|
@click.native="handleChangeGrid" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="居民" |
|
|
|
<el-form-item |
|
|
|
label="居民" |
|
|
|
label-width="150px" |
|
|
|
prop="selPersonIndex"> |
|
|
|
<el-select v-model="selPersonIndex" |
|
|
|
prop="selPersonIndex" |
|
|
|
> |
|
|
|
<el-select |
|
|
|
v-model="selPersonIndex" |
|
|
|
class="cell-width-1" |
|
|
|
filterable |
|
|
|
placeholder="请选择" |
|
|
|
clearable> |
|
|
|
<el-option v-for="(item, index) in demandUserList" |
|
|
|
clearable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="(item, index) in demandUserList" |
|
|
|
:key="item.demandUserId" |
|
|
|
:label="item.label" |
|
|
|
:value="index"> |
|
|
|
:value="index" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<div class="div-btn"> |
|
|
|
<el-button style="margin-left: 20px" |
|
|
|
<el-button |
|
|
|
style="margin-left: 20px" |
|
|
|
type="primary" |
|
|
|
size="small" |
|
|
|
@click="handleComfirmSelPerson">确定</el-button> |
|
|
|
@click="handleComfirmSelPerson" |
|
|
|
>确定</el-button |
|
|
|
> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</el-dialog> |
|
|
@ -236,9 +306,8 @@ var markers; |
|
|
|
var infoWindowList; |
|
|
|
var geocoder; // 新建一个正逆地址解析类 |
|
|
|
|
|
|
|
function iniFmData () { |
|
|
|
function iniFmData() { |
|
|
|
return { |
|
|
|
|
|
|
|
gridId: "", //所属网格 |
|
|
|
reportUserId: "", // 报事人ID |
|
|
|
name: "", // 报事人姓名 |
|
|
@ -259,11 +328,11 @@ function iniFmData () { |
|
|
|
} |
|
|
|
|
|
|
|
export default { |
|
|
|
data () { |
|
|
|
data() { |
|
|
|
return { |
|
|
|
formType: "add", //表单操作类型 add新增,edit编辑,detail详情 |
|
|
|
searchOptions: [], |
|
|
|
searchValue: '', |
|
|
|
searchValue: "", |
|
|
|
resultList: [], |
|
|
|
loading: false, |
|
|
|
|
|
|
@ -271,22 +340,22 @@ export default { |
|
|
|
gridList: [], //所属网格list--场所区域 |
|
|
|
|
|
|
|
qudaoArray: [ |
|
|
|
{ |
|
|
|
value: "1", |
|
|
|
label: "多媒体反应", |
|
|
|
}, |
|
|
|
{ |
|
|
|
value: "2", |
|
|
|
label: "社区电话", |
|
|
|
}, |
|
|
|
{ |
|
|
|
value: "3", |
|
|
|
label: "12345", |
|
|
|
}, |
|
|
|
{ |
|
|
|
value: "4", |
|
|
|
label: "网络员手持终端", |
|
|
|
}, |
|
|
|
// { |
|
|
|
// value: "1", |
|
|
|
// label: "多媒体反应", |
|
|
|
// }, |
|
|
|
// { |
|
|
|
// value: "2", |
|
|
|
// label: "社区电话", |
|
|
|
// }, |
|
|
|
// { |
|
|
|
// value: "3", |
|
|
|
// label: "12345", |
|
|
|
// }, |
|
|
|
// { |
|
|
|
// value: "4", |
|
|
|
// label: "网络员手持终端", |
|
|
|
// }, |
|
|
|
], |
|
|
|
|
|
|
|
formData: iniFmData(), |
|
|
@ -297,7 +366,8 @@ export default { |
|
|
|
|
|
|
|
//图片相关 oss/file/uploadvariedfile |
|
|
|
dialogImageUrl: "oss/file/uploadvariedfile", |
|
|
|
uploadUlr: window.SITE_CONFIG["apiURL"] + "/oss/file/uploadvariedfile", |
|
|
|
uploadUlr: |
|
|
|
window.SITE_CONFIG["apiURL"] + "/oss/file/uploadvariedfile", |
|
|
|
// upload_url: '', // 上传URL |
|
|
|
upload_name: "", // 图片或视频名称 |
|
|
|
replayImgList: [], |
|
|
@ -319,7 +389,7 @@ export default { |
|
|
|
}, |
|
|
|
components: {}, |
|
|
|
computed: { |
|
|
|
dataRule () { |
|
|
|
dataRule() { |
|
|
|
let checkIdCard = (rule, value, callback) => { |
|
|
|
if (value === "") { |
|
|
|
callback(new Error("请输入身份证")); |
|
|
@ -333,30 +403,64 @@ export default { |
|
|
|
|
|
|
|
return { |
|
|
|
gridId: [ |
|
|
|
{ required: true, message: "所属网格不能为空", trigger: "blur" }, |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "所属网格不能为空", |
|
|
|
trigger: "blur", |
|
|
|
}, |
|
|
|
], |
|
|
|
name: [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "报事人不能为空", |
|
|
|
trigger: "blur", |
|
|
|
}, |
|
|
|
], |
|
|
|
name: [{ required: true, message: "报事人不能为空", trigger: "blur" }], |
|
|
|
mobile: [ |
|
|
|
{ required: true, message: "手机号不能为空", trigger: "blur" }, |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "手机号不能为空", |
|
|
|
trigger: "blur", |
|
|
|
}, |
|
|
|
], |
|
|
|
// idCard: [ |
|
|
|
// { required: true, message: "身份证号不能为空", trigger: "blur" }, |
|
|
|
// { required: true, validator: checkIdCard, trigger: "blur" }, |
|
|
|
// ], |
|
|
|
sourceType: [ |
|
|
|
{ required: true, message: "反映渠道不能为空", trigger: "blur" }, |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "反映渠道不能为空", |
|
|
|
trigger: "blur", |
|
|
|
}, |
|
|
|
], |
|
|
|
eventContent: [ |
|
|
|
{ required: true, message: "事件内容不能为空", trigger: "blur" }, |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "事件内容不能为空", |
|
|
|
trigger: "blur", |
|
|
|
}, |
|
|
|
], |
|
|
|
happenTime: [ |
|
|
|
{ required: true, message: "发生时间不能为空", trigger: "blur" }, |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "发生时间不能为空", |
|
|
|
trigger: "blur", |
|
|
|
}, |
|
|
|
], |
|
|
|
address: [ |
|
|
|
{ required: true, message: "事件地址不能为空", trigger: "blur" }, |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "事件地址不能为空", |
|
|
|
trigger: "blur", |
|
|
|
}, |
|
|
|
], |
|
|
|
longitude: [ |
|
|
|
{ required: true, message: "坐标位置不能为空", trigger: "blur" }, |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "坐标位置不能为空", |
|
|
|
trigger: "blur", |
|
|
|
}, |
|
|
|
], |
|
|
|
}; |
|
|
|
}, |
|
|
@ -378,7 +482,7 @@ export default { |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
async mounted () { |
|
|
|
async mounted() { |
|
|
|
const { user } = this.$store.state; |
|
|
|
this.agencyId = user.agencyId; |
|
|
|
|
|
|
@ -391,16 +495,15 @@ export default { |
|
|
|
this.formData.latitude = latitude; |
|
|
|
this.formData.longitude = longitude; |
|
|
|
|
|
|
|
|
|
|
|
this.initMap(this.formData.latitude, this.formData.longitude); |
|
|
|
|
|
|
|
|
|
|
|
this.loadGrid(); |
|
|
|
this.getCategoryList(); |
|
|
|
this.getQudaoOptions(); |
|
|
|
}, |
|
|
|
|
|
|
|
methods: { |
|
|
|
async handleShowPersonList () { |
|
|
|
async handleShowPersonList() { |
|
|
|
if (this.formData.gridId) { |
|
|
|
await this.handleChangeGrid(); |
|
|
|
this.personTableShow = true; |
|
|
@ -408,10 +511,10 @@ export default { |
|
|
|
this.$message.info("请先选择网格"); |
|
|
|
} |
|
|
|
}, |
|
|
|
diaClose () { |
|
|
|
diaClose() { |
|
|
|
this.personTableShow = false; |
|
|
|
}, |
|
|
|
handleComfirmSelPerson () { |
|
|
|
handleComfirmSelPerson() { |
|
|
|
if (this.selPersonIndex === 0 || this.selPersonIndex) { |
|
|
|
let selPerson = this.demandUserList[this.selPersonIndex]; |
|
|
|
this.formData.name = selPerson.demandUserName; |
|
|
@ -425,7 +528,7 @@ export default { |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
async handleChangeGrid () { |
|
|
|
async handleChangeGrid() { |
|
|
|
const url = "/epmetuser/icresiuser/demandusers"; |
|
|
|
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/epidemicPrevention/page" |
|
|
|
let params = { |
|
|
@ -444,7 +547,7 @@ export default { |
|
|
|
this.tableLoading = false; |
|
|
|
}, |
|
|
|
|
|
|
|
async loadGrid () { |
|
|
|
async loadGrid() { |
|
|
|
const url = "/gov/org/customergrid/gridoption"; |
|
|
|
|
|
|
|
let params = { |
|
|
@ -460,7 +563,7 @@ export default { |
|
|
|
this.$message.error(msg); |
|
|
|
} |
|
|
|
}, |
|
|
|
async getCategoryList () { |
|
|
|
async getCategoryList() { |
|
|
|
const url = "/gov/issue/issueprojectcategorydict/list"; |
|
|
|
|
|
|
|
let params = {}; |
|
|
@ -481,8 +584,22 @@ export default { |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
async getQudaoOptions() { |
|
|
|
const url = "/sys/dict/data/dictlist"; |
|
|
|
|
|
|
|
const { data, code, msg } = await requestPost(url, { |
|
|
|
dictType: "ic_event_source_type", |
|
|
|
}); |
|
|
|
|
|
|
|
if (code === 0) { |
|
|
|
this.qudaoArray = data; |
|
|
|
} else { |
|
|
|
this.$message.error(msg); |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
//重构树,去除网格 |
|
|
|
filterTree (arr) { |
|
|
|
filterTree(arr) { |
|
|
|
let childs = arr; |
|
|
|
for (let i = childs.length; i--; i > 0) { |
|
|
|
if (childs[i].subCategory) { |
|
|
@ -496,12 +613,12 @@ export default { |
|
|
|
return arr; |
|
|
|
}, |
|
|
|
|
|
|
|
handleChangeAgency (value) { |
|
|
|
handleChangeAgency(value) { |
|
|
|
// this.agencyName = this.$refs["myCascader"].getCheckedNodes()[0].label |
|
|
|
// this.orgId = this.selCategoryArray.length > 0 ? this.selCategoryArray[this.selCategoryArray.length - 1] : '' |
|
|
|
}, |
|
|
|
|
|
|
|
async getEventInfo () { |
|
|
|
async getEventInfo() { |
|
|
|
this.okflag = false; |
|
|
|
this.$refs["ref_form1"].validate((valid, messageObj) => { |
|
|
|
if (!valid) { |
|
|
@ -513,7 +630,11 @@ export default { |
|
|
|
app.util.validateRule(messageObj); |
|
|
|
return false; |
|
|
|
} else { |
|
|
|
if (!formVltHelper.userOrMobile(this.formData.mobile)) { |
|
|
|
if ( |
|
|
|
!formVltHelper.userOrMobile( |
|
|
|
this.formData.mobile |
|
|
|
) |
|
|
|
) { |
|
|
|
this.$message({ |
|
|
|
type: "error", |
|
|
|
message: "手机号格式有误", |
|
|
@ -539,7 +660,7 @@ export default { |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
removePic (file, fileList) { |
|
|
|
removePic(file, fileList) { |
|
|
|
this.formData.imageList.splice( |
|
|
|
this.formData.imageList.findIndex((item) => item === file.url), |
|
|
|
1 |
|
|
@ -551,20 +672,19 @@ export default { |
|
|
|
this.hideUploadBtn = fileList.length >= 3; |
|
|
|
}, |
|
|
|
// 最多上传3张图,超过时隐藏上传按钮 |
|
|
|
handleEditChange (file, fileList) { |
|
|
|
handleEditChange(file, fileList) { |
|
|
|
this.hideUploadBtn = fileList.length >= 3; |
|
|
|
}, |
|
|
|
exceedPic () { |
|
|
|
exceedPic() { |
|
|
|
this.$message.warning("最多上传3张预览图片"); |
|
|
|
}, |
|
|
|
handleSuccess (response, file, fileList) { |
|
|
|
handleSuccess(response, file, fileList) { |
|
|
|
this.replayImgList.push(file); |
|
|
|
this.formData.imageList.push(response.data.url); |
|
|
|
}, |
|
|
|
|
|
|
|
// 地图初始化函数,本例取名为init,开发者可根据实际情况定义 |
|
|
|
initMap (latitude, longitude) { |
|
|
|
|
|
|
|
initMap(latitude, longitude) { |
|
|
|
map = new daiMap( |
|
|
|
document.getElementById("app_event"), |
|
|
|
{ latitude, longitude }, |
|
|
@ -582,11 +702,9 @@ export default { |
|
|
|
|
|
|
|
map.setCenter(latitude, longitude); |
|
|
|
map.setMarker(latitude, longitude); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
async handleMoveCenter () { |
|
|
|
async handleMoveCenter() { |
|
|
|
//修改地图中心点 |
|
|
|
const { lat, lng } = map.getCenter(); |
|
|
|
this.formData.latitude = lat; |
|
|
@ -595,63 +713,66 @@ export default { |
|
|
|
|
|
|
|
let { msg, data } = await map.getAddress(lat, lng); |
|
|
|
if (msg == "success") { |
|
|
|
this.formData.address = data.address |
|
|
|
this.searchValue = data.address |
|
|
|
this.searchOptions = [] |
|
|
|
|
|
|
|
this.formData.address = data.address; |
|
|
|
this.searchValue = data.address; |
|
|
|
this.searchOptions = []; |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
async remoteMethod (query) { |
|
|
|
|
|
|
|
if (query !== '') { |
|
|
|
async remoteMethod(query) { |
|
|
|
if (query !== "") { |
|
|
|
this.loading = true; |
|
|
|
|
|
|
|
const { msg, data } = await map.searchNearby(query); |
|
|
|
this.loading = false; |
|
|
|
this.resultList = [] |
|
|
|
|
|
|
|
if (msg == "success" && data.resultList && data.resultList.length > 0) { |
|
|
|
this.resultList = []; |
|
|
|
|
|
|
|
if ( |
|
|
|
msg == "success" && |
|
|
|
data.resultList && |
|
|
|
data.resultList.length > 0 |
|
|
|
) { |
|
|
|
if (data.resultList && data.resultList.length > 0) { |
|
|
|
this.resultList = data.resultList |
|
|
|
this.searchOptions = this.resultList.map(item => { |
|
|
|
return { value: `${item.hotPointID}`, label: `${item.address + item.name}` }; |
|
|
|
|
|
|
|
this.resultList = data.resultList; |
|
|
|
this.searchOptions = this.resultList.map((item) => { |
|
|
|
return { |
|
|
|
value: `${item.hotPointID}`, |
|
|
|
label: `${item.address + item.name}`, |
|
|
|
}; |
|
|
|
}); |
|
|
|
} |
|
|
|
} else { |
|
|
|
this.searchOptions = [ |
|
|
|
{ |
|
|
|
value: '0', |
|
|
|
label: '未检索到结果' |
|
|
|
} |
|
|
|
] |
|
|
|
value: "0", |
|
|
|
label: "未检索到结果", |
|
|
|
}, |
|
|
|
]; |
|
|
|
} |
|
|
|
} else { |
|
|
|
this.searchOptions = []; |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
handleClickKey (index) { |
|
|
|
let selPosition = this.resultList[index] |
|
|
|
let lonlat = selPosition.lonlat.split(" ") |
|
|
|
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.formData.address = selPosition.address + selPosition.name; |
|
|
|
}, |
|
|
|
|
|
|
|
resetData () { |
|
|
|
resetData() { |
|
|
|
this.formData = iniFmData(); |
|
|
|
this.replayImgList = []; |
|
|
|
this.searchValue = '' |
|
|
|
this.searchOptions = [] |
|
|
|
this.resultList = [] |
|
|
|
this.searchValue = ""; |
|
|
|
this.searchOptions = []; |
|
|
|
this.resultList = []; |
|
|
|
}, |
|
|
|
// 开启加载动画 |
|
|
|
startLoading () { |
|
|
|
startLoading() { |
|
|
|
loading = Loading.service({ |
|
|
|
lock: true, // 是否锁定 |
|
|
|
text: "正在加载……", // 加载中需要显示的文字 |
|
|
@ -659,7 +780,7 @@ export default { |
|
|
|
}); |
|
|
|
}, |
|
|
|
// 结束加载动画 |
|
|
|
endLoading () { |
|
|
|
endLoading() { |
|
|
|
// clearTimeout(timer); |
|
|
|
if (loading) { |
|
|
|
loading.close(); |
|
|
|