|
|
@@ -31,7 +31,8 @@
|
|
|
name="picker"
|
|
|
:value="fromData.storeCategoryName"
|
|
|
label="客户类型"
|
|
|
- placeholder="点击选择客户类型">
|
|
|
+ placeholder="点击选择客户类型"
|
|
|
+ :rules="[{ required: true, message: '请选择客户类型' }]">
|
|
|
<template #left-icon>
|
|
|
<span class="van-f-red">*</span>
|
|
|
</template>
|
|
|
@@ -43,7 +44,8 @@
|
|
|
:value="fromData.orgName"
|
|
|
label="销售部"
|
|
|
placeholder="点击选择销售部"
|
|
|
- @click="PickerDept">
|
|
|
+ @click="PickerDept"
|
|
|
+ :rules="[{ required: true, message: '请选择销售部' }]">
|
|
|
<template #left-icon>
|
|
|
<span class="van-f-red">*</span>
|
|
|
</template>
|
|
|
@@ -77,7 +79,8 @@
|
|
|
:value="fromData.provinceName"
|
|
|
label="省(州)"
|
|
|
placeholder="点击选择省(州)"
|
|
|
- @click="showProvincePicker = true">
|
|
|
+ @click="showProvincePicker = true"
|
|
|
+ :rules="[{ required: true, message: '请选择省(州)' }]">
|
|
|
<template #left-icon>
|
|
|
<span class="van-f-red">*</span>
|
|
|
</template>
|
|
|
@@ -89,7 +92,8 @@
|
|
|
:value="fromData.cityName"
|
|
|
label="城市"
|
|
|
placeholder="点击选择城市"
|
|
|
- @click="showCityPicker = true">
|
|
|
+ @click="showCityPicker = true"
|
|
|
+ :rules="[{ required: true, message: '请选择城市' }]">
|
|
|
<template #left-icon>
|
|
|
<span class="van-f-red">*</span>
|
|
|
</template>
|
|
|
@@ -101,7 +105,8 @@
|
|
|
:value="fromData.districtName"
|
|
|
label="区(县)"
|
|
|
placeholder="点击选择区(县)"
|
|
|
- @click="showDistrictPicker = true">
|
|
|
+ @click="showDistrictPicker = true"
|
|
|
+ :rules="[{ required: true, message: '请选择区(县)' }]">
|
|
|
<template #left-icon>
|
|
|
<span class="van-f-red">*</span>
|
|
|
</template>
|
|
|
@@ -113,7 +118,8 @@
|
|
|
:value="fromData.townName"
|
|
|
label="街道"
|
|
|
placeholder="点击选择街道"
|
|
|
- @click="showTownPicker = true">
|
|
|
+ @click="showTownPicker = true"
|
|
|
+ :rules="[{ required: true, message: '请选择街道' }]">
|
|
|
<template #left-icon>
|
|
|
<span class="van-f-red">*</span>
|
|
|
</template>
|
|
|
@@ -125,7 +131,8 @@
|
|
|
rows="1"
|
|
|
autosize
|
|
|
type="textarea"
|
|
|
- @blur="addressFn">
|
|
|
+ @blur="addressFn"
|
|
|
+ :rules="[{ required: true, message: '请选择地址' }]">
|
|
|
<template #left-icon>
|
|
|
<span class="van-f-red">*</span>
|
|
|
</template>
|
|
|
@@ -142,7 +149,7 @@
|
|
|
placeholder="请输入联系电话"
|
|
|
:rules="[
|
|
|
{
|
|
|
- required: false,
|
|
|
+ required: true,
|
|
|
validator: FSQValidatePhone,
|
|
|
message: '请输入联系电话',
|
|
|
},
|
|
|
@@ -151,7 +158,11 @@
|
|
|
<span class="van-f-red">*</span>
|
|
|
</template>
|
|
|
</van-field>
|
|
|
- <van-field v-model="fromData.salesmanName" label="联系人" placeholder="联系人">
|
|
|
+ <van-field
|
|
|
+ v-model="fromData.salesmanName"
|
|
|
+ label="联系人"
|
|
|
+ placeholder="联系人"
|
|
|
+ :rules="[{ required: true, message: '请输入联系人' }]">
|
|
|
<template #left-icon>
|
|
|
<span class="van-f-red">*</span>
|
|
|
</template>
|
|
|
@@ -250,8 +261,9 @@
|
|
|
<script>
|
|
|
import { phoneCheck, streetQuery, getChainsByDeptCode } from '@/api/index';
|
|
|
import { updateStore } from '@/api/FSQStore';
|
|
|
-import { getPosition, getTicketFun } from '@/utils/TXApiFun';
|
|
|
+import { getPosition, getTicketFun, getMapPoi, getkeywordPoi, getGeocoder } from '@/utils/TXApiFun';
|
|
|
import { jsonp } from 'vue-jsonp';
|
|
|
+import { getstreetInfoList } from '@/api/addDesigner';
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
@@ -304,8 +316,6 @@ export default {
|
|
|
activated() {
|
|
|
this.showmap = false;
|
|
|
// this.toastLoading(0, '加载中...', true);
|
|
|
- // 获取地址
|
|
|
- this.getStreetQuery();
|
|
|
// 授权
|
|
|
getTicketFun(['getLocation', 'chooseImage', 'uploadImage']).then(() => {
|
|
|
this.$nextTick(() => {
|
|
|
@@ -315,30 +325,61 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
getLocation() {
|
|
|
- if (localStorage.getItem('loginType') == 'cs') {
|
|
|
- this.fromData.lat = '31.2517820000';
|
|
|
- this.fromData.lon = '120.5593090000';
|
|
|
- this.addVisits();
|
|
|
- } else {
|
|
|
- getPosition()
|
|
|
- .then((res) => {
|
|
|
- let { TXisBD, resData } = res;
|
|
|
- this.mlon = resData.longitude;
|
|
|
- this.mlan = resData.latitude;
|
|
|
- this.location = TXisBD;
|
|
|
- this.fromData.lat = TXisBD.lat;
|
|
|
- this.fromData.lon = TXisBD.lon;
|
|
|
- this.location.lat1 = resData.latitude;
|
|
|
- this.location.lon1 = resData.longitude;
|
|
|
- this.addVisits();
|
|
|
- })
|
|
|
- .catch((error) => {
|
|
|
- // this.beforeAddFn();
|
|
|
- this.$dialog.alert({
|
|
|
- message: error,
|
|
|
- });
|
|
|
+ getPosition()
|
|
|
+ .then((res) => {
|
|
|
+ let { TXisBD, resData } = res;
|
|
|
+ this.mlon = resData.longitude;
|
|
|
+ this.mlan = resData.latitude;
|
|
|
+ this.location = TXisBD;
|
|
|
+ this.fromData.lat = TXisBD.lat;
|
|
|
+ this.fromData.lon = TXisBD.lon;
|
|
|
+ this.location.lat1 = resData.latitude;
|
|
|
+ this.location.lon1 = resData.longitude;
|
|
|
+ this.addVisits();
|
|
|
+ this.initData();
|
|
|
+ })
|
|
|
+ .catch((error) => {
|
|
|
+ // this.beforeAddFn();
|
|
|
+ this.$dialog.alert({
|
|
|
+ message: error,
|
|
|
});
|
|
|
- }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ initData() {
|
|
|
+ getGeocoder({ latitude: this.location.lat1, longitude: this.location.lon1 })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.status == 0 && res.result) {
|
|
|
+ let result = res.result;
|
|
|
+ this.fromData.cityNameOld = result.ad_info.city;
|
|
|
+ this.fromData.districtNameOld = result.ad_info.district;
|
|
|
+ let addresses = result.formatted_addresses; // 描述性地址
|
|
|
+ getstreetInfoList({ districtName: result.ad_info.district }).then((response) => {
|
|
|
+ if (response.code == 200 && response.data) {
|
|
|
+ this.fromData.province = response.data.provinceCode;
|
|
|
+ this.fromData.city = response.data.cityCode;
|
|
|
+ this.fromData.district = response.data.countyCode;
|
|
|
+ this.fromData.provinceName = response.data.provinceName;
|
|
|
+ this.fromData.cityName = response.data.cityName;
|
|
|
+ this.fromData.districtName = response.data.countyName;
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.getStreetQuery();
|
|
|
+ this.getStreetQuery('1');
|
|
|
+ this.getStreetQuery('2');
|
|
|
+ this.getStreetQuery('3');
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (addresses) {
|
|
|
+ this.fromData.addressLine = addresses.recommend;
|
|
|
+ localStorage.setItem('locationRemark', addresses.recommend);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.toastLoading().clear();
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ this.toastLoading().clear();
|
|
|
+ });
|
|
|
},
|
|
|
addVisits() {
|
|
|
var that = this;
|