diff --git a/.env.development b/.env.development index 3dc3dc8..902fe2e 100644 --- a/.env.development +++ b/.env.development @@ -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_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_TIANDITU_APIKEY = e4266a5e84fe6c10f60c559967f0a03f diff --git a/.env.production b/.env.production index 710fba2..e0100b2 100644 --- a/.env.production +++ b/.env.production @@ -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_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_TIANDITU_APIKEY = e4266a5e84fe6c10f60c559967f0a03f diff --git a/public/img/point.png b/public/img/point.png new file mode 100644 index 0000000..70f1f51 Binary files /dev/null and b/public/img/point.png differ diff --git a/src/api/tenant/map.js b/src/api/tenant/map.js index db679c5..7fb1e82 100644 --- a/src/api/tenant/map.js +++ b/src/api/tenant/map.js @@ -1,4 +1,5 @@ import request from "@/router/axios"; +import axios from 'axios'; /*逆地址解析*/ export const getcoder = (location, key, get_poi) => { 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, + }) +}; + diff --git a/src/api/tenant/serve.js b/src/api/tenant/serve.js index cf22332..a3d9199 100644 --- a/src/api/tenant/serve.js +++ b/src/api/tenant/serve.js @@ -295,3 +295,19 @@ export const updateGroupServeInfo = (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 + }); +}; diff --git a/src/components/map/selectLocation3.vue b/src/components/map/selectLocation3.vue new file mode 100644 index 0000000..5abb2ce --- /dev/null +++ b/src/components/map/selectLocation3.vue @@ -0,0 +1,290 @@ + + + + + diff --git a/src/main.js b/src/main.js index 1839708..6cc1aa5 100644 --- a/src/main.js +++ b/src/main.js @@ -23,7 +23,7 @@ import cityLabelCascader from './components/city-cascader/label' import goBack from './components/go-back/main' import tagSelect from './components/tag-select/main' import tooltip from './components/tooltip/index' -import superMapView from './components/map/selectLocation2'; +import superMapView from './components/map/selectLocation3'; import i18n from './lang' // Internationalization import axios from './router/axios'; import router from './router/router'; diff --git a/src/router/axios.js b/src/router/axios.js index fc72eff..1038e70 100644 --- a/src/router/axios.js +++ b/src/router/axios.js @@ -17,19 +17,23 @@ import {Message} from 'element-ui'; import {Base64} from 'js-base64'; 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) //默认超时时间 -axios.defaults.timeout = 60000; +service.defaults.timeout = 60000; //返回其他状态码 -axios.defaults.validateStatus = function (status) { +service.defaults.validateStatus = function (status) { return status >= 200 && status <= 500; }; //跨域请求,允许保存cookie -axios.defaults.withCredentials = true; +service.defaults.withCredentials = true; // NProgress 配置 NProgress.configure({showSpinner: false}); // http request拦截 -axios.interceptors.request.use(config => { +service.interceptors.request.use(config => { //开启 progress bar NProgress.start(); const meta = (config.meta || {}); @@ -49,7 +53,7 @@ axios.interceptors.request.use(config => { return Promise.reject(error) }); // http response 拦截 -axios.interceptors.response.use( +service.interceptors.response.use( res => { //关闭 progress bar NProgress.done(); @@ -116,4 +120,4 @@ function transformReplaceStr(props) { return result; } -export default axios; +export default service; diff --git a/src/views/tenant/main/serve/Dialog/pushService.vue b/src/views/tenant/main/serve/Dialog/pushService.vue index aba6d21..44ae3f6 100644 --- a/src/views/tenant/main/serve/Dialog/pushService.vue +++ b/src/views/tenant/main/serve/Dialog/pushService.vue @@ -336,6 +336,12 @@ export default { this.getLeftUserList('serveCopy') 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) { this.leftPages.currentPage = current this.getLeftUserList() diff --git a/src/views/tenant/main/serve/index.vue b/src/views/tenant/main/serve/index.vue index 2641aee..c6cdf9b 100644 --- a/src/views/tenant/main/serve/index.vue +++ b/src/views/tenant/main/serve/index.vue @@ -61,17 +61,29 @@ 推送服务 @@ -220,7 +258,7 @@ import { getListAllPolicy, getListAllTalents, getMatchPolicy, getMatchServeList, getMatchWorkStation, getServeListTalents, - removeDept, removeServeLog, updateServeLog + removeDept, removeServeLog, updateServeLog, getPhoneList, phoneUpdate } from "@/api/tenant/serve"; import {mapGetters} from "vuex"; import addGroups from "./Dialog/addGroup"; @@ -268,6 +306,13 @@ export default { selectUserServeLog: null, selectPushServiceData: null, PushServiceVisible: false, + phoneDialogVisible: false, + phoneList: [], + phoneForm: { + phone: '', + list: [] + }, + phoneItem: null, } }, computed: { @@ -315,7 +360,7 @@ export default { editBtn: false, delBtn: false, addBtn: false, - viewBtn: true, + viewBtn: false, border: true, refreshBtn: false, searchBtn: true, @@ -551,6 +596,17 @@ export default { label: '服务对象', prop: 'toName', display: false, + }, { + label: '服务类型', + prop: 'serveType', + type: 'select', + dicData: [ + {label: '普通日志', value: 0}, + {label: '回访日志', value: 1}, + {label: '推送岗位日志', value: 2}, + {label: '推送政策日志', value: 3}, + ], + display: false, }, { label: '服务主题', prop: 'serveTheme', @@ -587,8 +643,60 @@ export default { this.getListAllPolicyTree() this.getLabelList() this.ListAllTalents() + }, 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) { if (data.children) return; @@ -883,11 +991,14 @@ export default { policyCurrentChange() { }, selectPushService() { - detail(this.selectInfo.id).then((res) => { - if (res.data.code === 200) { - this.selectPushServiceData = res.data.data - this.PushServiceVisible = true - } + return new Promise((resolve, reject) => { + detail(this.selectInfo.id).then((res) => { + if (res.data.code === 200) { + this.selectPushServiceData = res.data.data + this.PushServiceVisible = true + resolve() + } + }) }) // this.selectPushServiceData = deepClone(this.selectInfo) // this.PushServiceVisible = true diff --git a/src/views/tenant/main/talents/personnelserve/index.vue b/src/views/tenant/main/talents/personnelserve/index.vue index 8bff890..0b8d05f 100644 --- a/src/views/tenant/main/talents/personnelserve/index.vue +++ b/src/views/tenant/main/talents/personnelserve/index.vue @@ -338,6 +338,17 @@ export default { label: '服务对象', prop: 'toName', display: false, + }, { + label: '服务类型', + prop: 'serveType', + type: 'select', + dicData: [ + {label: '普通日志', value: 0}, + {label: '回访日志', value: 1}, + {label: '推送岗位日志', value: 2}, + {label: '推送政策日志', value: 3}, + ], + display: false, }, { label: '服务主题', prop: 'serveTheme', diff --git a/src/views/tenant/works/Dialog/CopyMission.vue b/src/views/tenant/works/Dialog/CopyMission.vue index 0807e27..f2d6f1c 100644 --- a/src/views/tenant/works/Dialog/CopyMission.vue +++ b/src/views/tenant/works/Dialog/CopyMission.vue @@ -1404,7 +1404,7 @@ export default { this.obj = res; // this.obj.workSkills = [] // console.log(res.worktypeIds) - this.obj.workSkills = res.worktypeIds.split(',') + this.obj.workSkills = !res.worktypeIds || res.worktypeIds.split(',') console.log(res, this.obj) // this.obj.workSkills.push(res.worktypeIds) // this.obj.workSkills.push(res.skillIds) diff --git a/src/views/util/mission-view.vue b/src/views/util/mission-view.vue index 7cadcc8..5a8d835 100644 --- a/src/views/util/mission-view.vue +++ b/src/views/util/mission-view.vue @@ -192,7 +192,7 @@ :max-zoom="20" :flag-tip="false" placeholder="请输入详细地址" - :type="'view'" + :type="'edit'" >