flat: 添加天地图、回访等
This commit is contained in:
@@ -3,3 +3,4 @@ VUE_APP_LOGIN_ERROR = http://10.160.7.216:9920/casserver/login
|
|||||||
VUE_APP_REPLACE_STR = {"{oss_file_url}": "http://10.165.0.173:8000", "https://dy12333.org.cn/api/jobslink-api/front/file": "http://10.165.0.173:8000/jobslink-api/front/file"}
|
VUE_APP_REPLACE_STR = {"{oss_file_url}": "http://10.165.0.173:8000", "https://dy12333.org.cn/api/jobslink-api/front/file": "http://10.165.0.173:8000/jobslink-api/front/file"}
|
||||||
VUE_APP_LOGIN_NEXT = http://10.160.7.216:9920/casserver/login?service=http://10.165.0.173/manage/login&stService=http%3A%2F%2F10.165.0.173%2Fmanage%2Flogin
|
VUE_APP_LOGIN_NEXT = http://10.160.7.216:9920/casserver/login?service=http://10.165.0.173/manage/login&stService=http%3A%2F%2F10.165.0.173%2Fmanage%2Flogin
|
||||||
VUE_APP_SUPPER_MAP = http://10.165.0.44:1205/proxy/rest/maps/c02c6f51f3ab4190bffd5e3e54cf5ac4/111013e9067749488d44841208771768
|
VUE_APP_SUPPER_MAP = http://10.165.0.44:1205/proxy/rest/maps/c02c6f51f3ab4190bffd5e3e54cf5ac4/111013e9067749488d44841208771768
|
||||||
|
VUE_APP_TIANDITU_APIKEY = e4266a5e84fe6c10f60c559967f0a03f
|
||||||
|
|||||||
@@ -3,3 +3,4 @@ VUE_APP_LOGIN_ERROR = http://10.160.7.216:9920/casserver/login
|
|||||||
VUE_APP_REPLACE_STR = {"{oss_file_url}": "http://10.165.0.173:8000", "https://dy12333.org.cn/api/jobslink-api/front/file": "http://10.165.0.77:8000/jobslink-api/front/file"}
|
VUE_APP_REPLACE_STR = {"{oss_file_url}": "http://10.165.0.173:8000", "https://dy12333.org.cn/api/jobslink-api/front/file": "http://10.165.0.77:8000/jobslink-api/front/file"}
|
||||||
VUE_APP_LOGIN_NEXT = http://10.160.7.216:9920/casserver/login?service=http://10.165.0.54:8300/manage/login&stService=http%3A%2F%2F10.165.0.54%3A8300%2Fmanage%2Flogin
|
VUE_APP_LOGIN_NEXT = http://10.160.7.216:9920/casserver/login?service=http://10.165.0.54:8300/manage/login&stService=http%3A%2F%2F10.165.0.54%3A8300%2Fmanage%2Flogin
|
||||||
VUE_APP_SUPPER_MAP = http://10.165.0.44:1205/proxy/rest/maps/c02c6f51f3ab4190bffd5e3e54cf5ac4/111013e9067749488d44841208771768
|
VUE_APP_SUPPER_MAP = http://10.165.0.44:1205/proxy/rest/maps/c02c6f51f3ab4190bffd5e3e54cf5ac4/111013e9067749488d44841208771768
|
||||||
|
VUE_APP_TIANDITU_APIKEY = e4266a5e84fe6c10f60c559967f0a03f
|
||||||
|
|||||||
BIN
public/img/point.png
Normal file
BIN
public/img/point.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.5 KiB |
@@ -1,4 +1,5 @@
|
|||||||
import request from "@/router/axios";
|
import request from "@/router/axios";
|
||||||
|
import axios from 'axios';
|
||||||
/*逆地址解析*/
|
/*逆地址解析*/
|
||||||
export const getcoder = (location, key, get_poi) => {
|
export const getcoder = (location, key, get_poi) => {
|
||||||
return request({
|
return request({
|
||||||
@@ -23,3 +24,19 @@ export const querySearch = (keyword, key) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
export const tiandituQuerySearch = (params, baseUrl) => {
|
||||||
|
return axios({
|
||||||
|
method: 'get',
|
||||||
|
url: baseUrl + '/tianditu/v2/search',
|
||||||
|
params: params,
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
|
export const tiandituGeocoder = (params, baseUrl) => {
|
||||||
|
return axios({
|
||||||
|
method: 'get',
|
||||||
|
url: baseUrl + '/tianditu/geocoder',
|
||||||
|
params: params,
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -295,3 +295,19 @@ export const updateGroupServeInfo = (data) => {
|
|||||||
data
|
data
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
export const getPhoneList = (params) => {
|
||||||
|
return request({
|
||||||
|
url: "/api/jobslink-api/serve/phoneList",
|
||||||
|
method: "get",
|
||||||
|
params
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export const phoneUpdate = (params) => {
|
||||||
|
return request({
|
||||||
|
url: "/api/jobslink-api/serve/phoneUpdate",
|
||||||
|
method: "post",
|
||||||
|
params
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|||||||
290
src/components/map/selectLocation3.vue
Normal file
290
src/components/map/selectLocation3.vue
Normal file
@@ -0,0 +1,290 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-content">
|
||||||
|
<el-input
|
||||||
|
v-model="addressLocation"
|
||||||
|
@input="searchValue"
|
||||||
|
v-if="showInput"
|
||||||
|
:placeholder="placeholder || '如:北京市延庆区延庆镇莲花池村前街50夕阳红养老院'"
|
||||||
|
></el-input>
|
||||||
|
<div class="mapDiv" id="mapDiv" style="width: 100%;height: 300px;"></div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {debounce} from '@/util/util';
|
||||||
|
import {tiandituGeocoder} from '@/api/tenant/map'
|
||||||
|
import {baseUrl} from "@/config/env";
|
||||||
|
|
||||||
|
const script = document.createElement('script')
|
||||||
|
script.src = 'http://10.165.0.173/tianditu/api?v=4.0&tk=' + process.env.VUE_APP_TIANDITU_APIKEY
|
||||||
|
script.onload = () => console.warn('-----------天地图加载完成-----------')
|
||||||
|
document.head.appendChild(script)
|
||||||
|
let Tmap = null;
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
options: [],
|
||||||
|
addressLocation: '',
|
||||||
|
baseUrl: '',
|
||||||
|
isInput: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
placeholder: String,
|
||||||
|
latitude: {
|
||||||
|
required: false,
|
||||||
|
// default: 31.126855,
|
||||||
|
},
|
||||||
|
longitude: {
|
||||||
|
required: false,
|
||||||
|
// default: 104.397894,
|
||||||
|
},
|
||||||
|
zoom: {
|
||||||
|
type: Number,
|
||||||
|
required: false,
|
||||||
|
default: 10,
|
||||||
|
},
|
||||||
|
maxZoom: {
|
||||||
|
type: Number,
|
||||||
|
required: false,
|
||||||
|
default: 20,
|
||||||
|
},
|
||||||
|
minZoom: {
|
||||||
|
type: Number,
|
||||||
|
required: false,
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
|
ScaleZoom: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
MapUrl: { // 瓦片地图URL
|
||||||
|
type: String,
|
||||||
|
required: false,
|
||||||
|
default: process.env.VUE_APP_SUPPER_MAP,
|
||||||
|
},
|
||||||
|
flagTip: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
open: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
isCanEdit: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
address: {
|
||||||
|
required: false,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
type: {
|
||||||
|
required: false,
|
||||||
|
default: 'custom',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
showInput() {
|
||||||
|
if (this.type === 'view' || this.type === 'select') {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if (this.type === 'add') {
|
||||||
|
this.addressLocation = ''
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
address() {
|
||||||
|
if (!this.isInput) return;
|
||||||
|
console.log(2, this.type, this.address, this.longitude, this.latitude)
|
||||||
|
if (this.address && this.longitude > 0 && this.latitude > 0) {
|
||||||
|
this.addressLocation = this.address
|
||||||
|
this.createTmap(this.longitude, this.latitude)
|
||||||
|
} else {
|
||||||
|
this.getlocation()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
console.log(1, this.type, this.address, this.longitude, this.latitude)
|
||||||
|
this.baseUrl = window.location.origin.search('localhost') ? 'http://10.165.0.173/' : window.location.origin;
|
||||||
|
T.Protocol.value = this.baseUrl
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
if (this.address && this.longitude > 0 && this.latitude > 0) {
|
||||||
|
this.addressLocation = this.address
|
||||||
|
this.createTmap(this.longitude, this.latitude)
|
||||||
|
} else {
|
||||||
|
this.getlocation()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
geolocation() {
|
||||||
|
},
|
||||||
|
getlocation() {
|
||||||
|
const _this = this
|
||||||
|
// 31.12494749933168, 经度: 104.40371173671055
|
||||||
|
if (navigator.geolocation) {
|
||||||
|
navigator.geolocation.getCurrentPosition(function (position) {
|
||||||
|
let latitude = position.coords.latitude;
|
||||||
|
let longitude = position.coords.longitude;
|
||||||
|
_this.createTmap(longitude, latitude)
|
||||||
|
}, function (error) {
|
||||||
|
_this.createTmap(104.40371173671055, 31.12494749933168)
|
||||||
|
_this.$message.info('无法获取地理位置')
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
_this.$message.info('浏览器不支持地理定位')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
searchValue: debounce(function (val) {
|
||||||
|
if (!this.isInput) {
|
||||||
|
this.isInput = true
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (this.type !== 'view') {
|
||||||
|
this.$emit('input', val)
|
||||||
|
}
|
||||||
|
let params = {
|
||||||
|
ds: {
|
||||||
|
keyWord: val,
|
||||||
|
},
|
||||||
|
tk: process.env.VUE_APP_TIANDITU_APIKEY
|
||||||
|
}
|
||||||
|
const _this = this
|
||||||
|
axios({
|
||||||
|
method: 'get',
|
||||||
|
url: this.baseUrl + '/tianditu/geocoder',
|
||||||
|
params: params,
|
||||||
|
}).then(({data}) => {
|
||||||
|
if (data.status === '0') {
|
||||||
|
const {keyWord, lon, lat, level} = data.location
|
||||||
|
if (!Tmap) {
|
||||||
|
this.createTmap(lon, lat)
|
||||||
|
} else {
|
||||||
|
Tmap.centerAndZoom(new T.LngLat(lon, lat), 15);
|
||||||
|
this.setIcon(lon, lat);
|
||||||
|
this.$emit('addAddress', {
|
||||||
|
address: this.addressLocation,
|
||||||
|
lng: lon,
|
||||||
|
lat: lat
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).catch((err) => {
|
||||||
|
_this.$message.info('无法获取地理位置')
|
||||||
|
})
|
||||||
|
}, 1000),
|
||||||
|
createTmap(lng, lat) {
|
||||||
|
const _this = this
|
||||||
|
this.$nextTick(() => {
|
||||||
|
if (!Tmap) {
|
||||||
|
Tmap = new T.Map('mapDiv', {
|
||||||
|
projection: 'EPSG:4326',
|
||||||
|
minZoom: this.minZoom,
|
||||||
|
maxZoom: this.maxZoom
|
||||||
|
});
|
||||||
|
}
|
||||||
|
Tmap.addEventListener('click', (e) => {
|
||||||
|
_this.nextPoint(e.lnglat)
|
||||||
|
});
|
||||||
|
Tmap.centerAndZoom(new T.LngLat(lng, lat), 15);
|
||||||
|
this.setIcon(lng, lat);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
setIcon(lng, lat) {
|
||||||
|
Tmap.clearOverLays()
|
||||||
|
const icon = new T.Icon({
|
||||||
|
iconUrl: '/img/point.png',
|
||||||
|
iconSize: new T.Point(30, 30),
|
||||||
|
iconAnchor: new T.Point(15, 30)
|
||||||
|
});
|
||||||
|
const marker = new T.Marker(new T.LngLat(lng, lat), {
|
||||||
|
icon
|
||||||
|
});
|
||||||
|
Tmap.addOverLay(marker);
|
||||||
|
},
|
||||||
|
nextPoint(lnglat) {
|
||||||
|
var that = this;
|
||||||
|
let params = {
|
||||||
|
postStr: JSON.stringify({
|
||||||
|
lon: lnglat.lng,
|
||||||
|
lat: lnglat.lat,
|
||||||
|
ver: 1,
|
||||||
|
}),
|
||||||
|
type: 'geocode',
|
||||||
|
tk: process.env.VUE_APP_TIANDITU_APIKEY
|
||||||
|
}
|
||||||
|
axios({
|
||||||
|
method: 'get',
|
||||||
|
url: this.baseUrl + '/tianditu/geocoder',
|
||||||
|
params: params,
|
||||||
|
}).then((res) => {
|
||||||
|
if (res.data.status === '0') {
|
||||||
|
that.setIcon(lnglat.lng, lnglat.lat)
|
||||||
|
const info = that.formatterAdressLocation(res.data.result, 1)
|
||||||
|
this.isInput = false
|
||||||
|
this.$emit('addAddress', {
|
||||||
|
address: info.address,
|
||||||
|
lng: info.location.lon,
|
||||||
|
lat: info.location.lat
|
||||||
|
})
|
||||||
|
this.addressLocation = info.address
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.isInput = true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
formatterAdressLocation(obj, type) {
|
||||||
|
switch (type) {
|
||||||
|
case 1:
|
||||||
|
return {
|
||||||
|
address: obj.formatted_address,
|
||||||
|
name: '',
|
||||||
|
location: obj.location,
|
||||||
|
infomation: obj.addressComponent
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
const [lon, lat] = obj.lonlat.split(',')
|
||||||
|
return {
|
||||||
|
address: obj.address,
|
||||||
|
name: obj.name,
|
||||||
|
location: {
|
||||||
|
lon,
|
||||||
|
lat
|
||||||
|
},
|
||||||
|
infomation: obj
|
||||||
|
}
|
||||||
|
break
|
||||||
|
case 3:
|
||||||
|
return {
|
||||||
|
address: obj.location.keyWord,
|
||||||
|
name: '',
|
||||||
|
location: {
|
||||||
|
lon: obj.location.lon,
|
||||||
|
lat: obj.location.lat,
|
||||||
|
},
|
||||||
|
infomation: obj.location
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.mapDiv {
|
||||||
|
width: 100%;
|
||||||
|
height: fit-content;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -23,7 +23,7 @@ import cityLabelCascader from './components/city-cascader/label'
|
|||||||
import goBack from './components/go-back/main'
|
import goBack from './components/go-back/main'
|
||||||
import tagSelect from './components/tag-select/main'
|
import tagSelect from './components/tag-select/main'
|
||||||
import tooltip from './components/tooltip/index'
|
import tooltip from './components/tooltip/index'
|
||||||
import superMapView from './components/map/selectLocation2';
|
import superMapView from './components/map/selectLocation3';
|
||||||
import i18n from './lang' // Internationalization
|
import i18n from './lang' // Internationalization
|
||||||
import axios from './router/axios';
|
import axios from './router/axios';
|
||||||
import router from './router/router';
|
import router from './router/router';
|
||||||
|
|||||||
@@ -17,19 +17,23 @@ import {Message} from 'element-ui';
|
|||||||
import {Base64} from 'js-base64';
|
import {Base64} from 'js-base64';
|
||||||
import NProgress from 'nprogress';
|
import NProgress from 'nprogress';
|
||||||
|
|
||||||
|
const service = axios.create({
|
||||||
|
// baseURL: 'https://jibaoadmin.qemcap.com/api',
|
||||||
|
timeout: 60000
|
||||||
|
})
|
||||||
const replaceStr = JSON.parse(process.env.VUE_APP_REPLACE_STR)
|
const replaceStr = JSON.parse(process.env.VUE_APP_REPLACE_STR)
|
||||||
//默认超时时间
|
//默认超时时间
|
||||||
axios.defaults.timeout = 60000;
|
service.defaults.timeout = 60000;
|
||||||
//返回其他状态码
|
//返回其他状态码
|
||||||
axios.defaults.validateStatus = function (status) {
|
service.defaults.validateStatus = function (status) {
|
||||||
return status >= 200 && status <= 500;
|
return status >= 200 && status <= 500;
|
||||||
};
|
};
|
||||||
//跨域请求,允许保存cookie
|
//跨域请求,允许保存cookie
|
||||||
axios.defaults.withCredentials = true;
|
service.defaults.withCredentials = true;
|
||||||
// NProgress 配置
|
// NProgress 配置
|
||||||
NProgress.configure({showSpinner: false});
|
NProgress.configure({showSpinner: false});
|
||||||
// http request拦截
|
// http request拦截
|
||||||
axios.interceptors.request.use(config => {
|
service.interceptors.request.use(config => {
|
||||||
//开启 progress bar
|
//开启 progress bar
|
||||||
NProgress.start();
|
NProgress.start();
|
||||||
const meta = (config.meta || {});
|
const meta = (config.meta || {});
|
||||||
@@ -49,7 +53,7 @@ axios.interceptors.request.use(config => {
|
|||||||
return Promise.reject(error)
|
return Promise.reject(error)
|
||||||
});
|
});
|
||||||
// http response 拦截
|
// http response 拦截
|
||||||
axios.interceptors.response.use(
|
service.interceptors.response.use(
|
||||||
res => {
|
res => {
|
||||||
//关闭 progress bar
|
//关闭 progress bar
|
||||||
NProgress.done();
|
NProgress.done();
|
||||||
@@ -116,4 +120,4 @@ function transformReplaceStr(props) {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default axios;
|
export default service;
|
||||||
|
|||||||
@@ -336,6 +336,12 @@ export default {
|
|||||||
this.getLeftUserList('serveCopy')
|
this.getLeftUserList('serveCopy')
|
||||||
console.log('leftpages:', this.leftPages)
|
console.log('leftpages:', this.leftPages)
|
||||||
},
|
},
|
||||||
|
refLeftSearch(userName) {
|
||||||
|
this.leftPages.currentPage = 1
|
||||||
|
this.formInline.userName = userName
|
||||||
|
this.getLeftUserList('serveCopy')
|
||||||
|
console.log('leftpages:', this.leftPages)
|
||||||
|
},
|
||||||
leftCurrentPageChange(current) {
|
leftCurrentPageChange(current) {
|
||||||
this.leftPages.currentPage = current
|
this.leftPages.currentPage = current
|
||||||
this.getLeftUserList()
|
this.getLeftUserList()
|
||||||
|
|||||||
@@ -61,17 +61,29 @@
|
|||||||
<el-button type="primary" size="small" @click="selectPushService">推送服务</el-button>
|
<el-button type="primary" size="small" @click="selectPushService">推送服务</el-button>
|
||||||
</template>
|
</template>
|
||||||
<template slot-scope="{row,index}" slot="menu">
|
<template slot-scope="{row,index}" slot="menu">
|
||||||
|
<!-- <el-button type="text"-->
|
||||||
|
<!-- icon="el-icon-document"-->
|
||||||
|
<!-- size="small"-->
|
||||||
|
<!-- @click="matchWorkStation(row)"-->
|
||||||
|
<!-- >查看匹配岗位-->
|
||||||
|
<!-- </el-button>-->
|
||||||
|
<!-- <el-button type="text"-->
|
||||||
|
<!-- icon="el-icon-document"-->
|
||||||
|
<!-- size="small"-->
|
||||||
|
<!-- @click="matchPolicy(row)"-->
|
||||||
|
<!-- >查看匹配政策-->
|
||||||
|
<!-- </el-button>-->
|
||||||
<el-button type="text"
|
<el-button type="text"
|
||||||
icon="el-icon-document"
|
icon="el-icon-document"
|
||||||
size="small"
|
size="small"
|
||||||
@click="matchWorkStation(row)"
|
@click="phoneDataList(row)"
|
||||||
>查看匹配岗位
|
>回访
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="text"
|
<el-button type="text"
|
||||||
icon="el-icon-document"
|
icon="el-icon-document"
|
||||||
size="small"
|
size="small"
|
||||||
@click="matchPolicy(row)"
|
@click="selectPushUserService(row)"
|
||||||
>查看匹配政策
|
>推送服务
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="text"
|
<el-button type="text"
|
||||||
icon="el-icon-document"
|
icon="el-icon-document"
|
||||||
@@ -204,11 +216,37 @@
|
|||||||
<PushService
|
<PushService
|
||||||
:visible.sync="PushServiceVisible"
|
:visible.sync="PushServiceVisible"
|
||||||
:rowData="selectPushServiceData"
|
:rowData="selectPushServiceData"
|
||||||
|
ref="pushRef"
|
||||||
></PushService>
|
></PushService>
|
||||||
|
|
||||||
<mission-view :visible.sync="viewDrawer" :model="view"></mission-view>
|
<mission-view :visible.sync="viewDrawer" :model="view"></mission-view>
|
||||||
|
|
||||||
<work-view :visible.sync="workViewDrawer" :model="workViewModel"></work-view>
|
<work-view :visible.sync="workViewDrawer" :model="workViewModel"></work-view>
|
||||||
|
|
||||||
|
<el-dialog
|
||||||
|
title="回访"
|
||||||
|
append-to-body
|
||||||
|
:visible.sync="phoneDialogVisible"
|
||||||
|
width="30%"
|
||||||
|
:before-close="handlePhoneClose">
|
||||||
|
<el-form :model="phoneForm" label-position="top" label-width="100px">
|
||||||
|
<el-form-item label="验证手机号">
|
||||||
|
<el-checkbox-group
|
||||||
|
v-model="phoneForm.list"
|
||||||
|
:min="0"
|
||||||
|
:max="1">
|
||||||
|
<el-checkbox v-for="phone in phoneList" :label="phone" :key="phone">{{ phone }}</el-checkbox>
|
||||||
|
</el-checkbox-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="输入手机号">
|
||||||
|
<el-input v-model="phoneForm.phone" :disabled="phoneForm.list.length" autocomplete="off"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="handlePhoneClose">取 消</el-button>
|
||||||
|
<el-button type="primary" @click="handelPhoneConfirm">确 定</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -220,7 +258,7 @@ import {
|
|||||||
getListAllPolicy,
|
getListAllPolicy,
|
||||||
getListAllTalents, getMatchPolicy, getMatchServeList, getMatchWorkStation,
|
getListAllTalents, getMatchPolicy, getMatchServeList, getMatchWorkStation,
|
||||||
getServeListTalents,
|
getServeListTalents,
|
||||||
removeDept, removeServeLog, updateServeLog
|
removeDept, removeServeLog, updateServeLog, getPhoneList, phoneUpdate
|
||||||
} from "@/api/tenant/serve";
|
} from "@/api/tenant/serve";
|
||||||
import {mapGetters} from "vuex";
|
import {mapGetters} from "vuex";
|
||||||
import addGroups from "./Dialog/addGroup";
|
import addGroups from "./Dialog/addGroup";
|
||||||
@@ -268,6 +306,13 @@ export default {
|
|||||||
selectUserServeLog: null,
|
selectUserServeLog: null,
|
||||||
selectPushServiceData: null,
|
selectPushServiceData: null,
|
||||||
PushServiceVisible: false,
|
PushServiceVisible: false,
|
||||||
|
phoneDialogVisible: false,
|
||||||
|
phoneList: [],
|
||||||
|
phoneForm: {
|
||||||
|
phone: '',
|
||||||
|
list: []
|
||||||
|
},
|
||||||
|
phoneItem: null,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -315,7 +360,7 @@ export default {
|
|||||||
editBtn: false,
|
editBtn: false,
|
||||||
delBtn: false,
|
delBtn: false,
|
||||||
addBtn: false,
|
addBtn: false,
|
||||||
viewBtn: true,
|
viewBtn: false,
|
||||||
border: true,
|
border: true,
|
||||||
refreshBtn: false,
|
refreshBtn: false,
|
||||||
searchBtn: true,
|
searchBtn: true,
|
||||||
@@ -551,6 +596,17 @@ export default {
|
|||||||
label: '服务对象',
|
label: '服务对象',
|
||||||
prop: 'toName',
|
prop: 'toName',
|
||||||
display: false,
|
display: false,
|
||||||
|
}, {
|
||||||
|
label: '服务类型',
|
||||||
|
prop: 'serveType',
|
||||||
|
type: 'select',
|
||||||
|
dicData: [
|
||||||
|
{label: '普通日志', value: 0},
|
||||||
|
{label: '回访日志', value: 1},
|
||||||
|
{label: '推送岗位日志', value: 2},
|
||||||
|
{label: '推送政策日志', value: 3},
|
||||||
|
],
|
||||||
|
display: false,
|
||||||
}, {
|
}, {
|
||||||
label: '服务主题',
|
label: '服务主题',
|
||||||
prop: 'serveTheme',
|
prop: 'serveTheme',
|
||||||
@@ -587,8 +643,60 @@ export default {
|
|||||||
this.getListAllPolicyTree()
|
this.getListAllPolicyTree()
|
||||||
this.getLabelList()
|
this.getLabelList()
|
||||||
this.ListAllTalents()
|
this.ListAllTalents()
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
selectPushUserService(row) {
|
||||||
|
this.selectPushService().then(() => {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
console.log(this.$refs.pushRef, row.name)
|
||||||
|
this.$refs.pushRef.refLeftSearch(row.name)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handelPhoneConfirm() {
|
||||||
|
let _this = this
|
||||||
|
let phone = ''
|
||||||
|
if (this.phoneForm.list.length) phone = this.phoneForm.list[0];
|
||||||
|
if (/^1[3-9]{1}\d{9}/.test(this.phoneForm.phone)) phone = this.phoneForm.phone;
|
||||||
|
if (phone) {
|
||||||
|
this.$confirm(`手机号为:${phone}`, {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning"
|
||||||
|
}).then(async (res) => {
|
||||||
|
let params = {
|
||||||
|
idNumber: _this.phoneItem.idNumber,
|
||||||
|
phone
|
||||||
|
}
|
||||||
|
let resData = await phoneUpdate(params)
|
||||||
|
if (resData.data.code === 200) {
|
||||||
|
_this.$message.success("手机号更新成功");
|
||||||
|
_this.handlePhoneClose()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$message.error("请选择或输入用户手机号!");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handlePhoneClose() {
|
||||||
|
this.phoneDialogVisible = false
|
||||||
|
this.phoneForm.phone = ''
|
||||||
|
this.phoneForm.list = []
|
||||||
|
},
|
||||||
|
async phoneDataList(item) {
|
||||||
|
let params = {
|
||||||
|
idNumber: item.idNumber
|
||||||
|
}
|
||||||
|
let resData = await getPhoneList(params)
|
||||||
|
if (resData.data.code === 200) {
|
||||||
|
this.phoneList = resData.data.data
|
||||||
|
this.phoneItem = item
|
||||||
|
this.phoneDialogVisible = true
|
||||||
|
} else {
|
||||||
|
this.$message.error("用户数据异常!");
|
||||||
|
}
|
||||||
|
},
|
||||||
/*点击分组加载相应人才列表*/
|
/*点击分组加载相应人才列表*/
|
||||||
nodeClick(data) {
|
nodeClick(data) {
|
||||||
if (data.children) return;
|
if (data.children) return;
|
||||||
@@ -883,12 +991,15 @@ export default {
|
|||||||
policyCurrentChange() {
|
policyCurrentChange() {
|
||||||
},
|
},
|
||||||
selectPushService() {
|
selectPushService() {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
detail(this.selectInfo.id).then((res) => {
|
detail(this.selectInfo.id).then((res) => {
|
||||||
if (res.data.code === 200) {
|
if (res.data.code === 200) {
|
||||||
this.selectPushServiceData = res.data.data
|
this.selectPushServiceData = res.data.data
|
||||||
this.PushServiceVisible = true
|
this.PushServiceVisible = true
|
||||||
|
resolve()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
})
|
||||||
// this.selectPushServiceData = deepClone(this.selectInfo)
|
// this.selectPushServiceData = deepClone(this.selectInfo)
|
||||||
// this.PushServiceVisible = true
|
// this.PushServiceVisible = true
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -338,6 +338,17 @@ export default {
|
|||||||
label: '服务对象',
|
label: '服务对象',
|
||||||
prop: 'toName',
|
prop: 'toName',
|
||||||
display: false,
|
display: false,
|
||||||
|
}, {
|
||||||
|
label: '服务类型',
|
||||||
|
prop: 'serveType',
|
||||||
|
type: 'select',
|
||||||
|
dicData: [
|
||||||
|
{label: '普通日志', value: 0},
|
||||||
|
{label: '回访日志', value: 1},
|
||||||
|
{label: '推送岗位日志', value: 2},
|
||||||
|
{label: '推送政策日志', value: 3},
|
||||||
|
],
|
||||||
|
display: false,
|
||||||
}, {
|
}, {
|
||||||
label: '服务主题',
|
label: '服务主题',
|
||||||
prop: 'serveTheme',
|
prop: 'serveTheme',
|
||||||
|
|||||||
@@ -1404,7 +1404,7 @@ export default {
|
|||||||
this.obj = res;
|
this.obj = res;
|
||||||
// this.obj.workSkills = []
|
// this.obj.workSkills = []
|
||||||
// console.log(res.worktypeIds)
|
// console.log(res.worktypeIds)
|
||||||
this.obj.workSkills = res.worktypeIds.split(',')
|
this.obj.workSkills = !res.worktypeIds || res.worktypeIds.split(',')
|
||||||
console.log(res, this.obj)
|
console.log(res, this.obj)
|
||||||
// this.obj.workSkills.push(res.worktypeIds)
|
// this.obj.workSkills.push(res.worktypeIds)
|
||||||
// this.obj.workSkills.push(res.skillIds)
|
// this.obj.workSkills.push(res.skillIds)
|
||||||
|
|||||||
@@ -192,7 +192,7 @@
|
|||||||
:max-zoom="20"
|
:max-zoom="20"
|
||||||
:flag-tip="false"
|
:flag-tip="false"
|
||||||
placeholder="请输入详细地址"
|
placeholder="请输入详细地址"
|
||||||
:type="'view'"
|
:type="'edit'"
|
||||||
></super-map-view>
|
></super-map-view>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|||||||
Reference in New Issue
Block a user