From f68d4bb917d0d94d4e917669b7532b996429a672 Mon Sep 17 00:00:00 2001 From: Apcallover <1503963513@qq.com> Date: Tue, 30 Jul 2024 16:53:48 +0800 Subject: [PATCH] =?UTF-8?q?flat:=20=E6=B7=BB=E5=8A=A0=E5=A4=A9=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E3=80=81=E5=9B=9E=E8=AE=BF=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 1 + .env.production | 1 + public/img/point.png | Bin 0 -> 3554 bytes src/api/tenant/map.js | 17 + src/api/tenant/serve.js | 16 + src/components/map/selectLocation3.vue | 290 ++++++++++++++++++ src/main.js | 2 +- src/router/axios.js | 16 +- .../tenant/main/serve/Dialog/pushService.vue | 6 + src/views/tenant/main/serve/index.vue | 133 +++++++- .../main/talents/personnelserve/index.vue | 11 + src/views/tenant/works/Dialog/CopyMission.vue | 2 +- src/views/util/mission-view.vue | 2 +- 13 files changed, 477 insertions(+), 20 deletions(-) create mode 100644 public/img/point.png create mode 100644 src/components/map/selectLocation3.vue 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 0000000000000000000000000000000000000000..70f1f519e67302d5737c11513d12e7dda4e4ff2b GIT binary patch literal 3554 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

-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 { 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'" >