From 892bf6ed84ec8e33ac67876ff808d887943f07af Mon Sep 17 00:00:00 2001 From: Apcallover <1503963513@qq.com> Date: Wed, 5 Jun 2024 14:47:10 +0800 Subject: [PATCH] =?UTF-8?q?flat:=206.5=20=E6=94=B9=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 22 + package.json | 1 + src/api/tenant/personnelserve.js | 6 +- src/api/tenant/serve.js | 25 + src/api/tenant/talents.js | 16 + src/components/promptDialog/index.vue | 32 +- src/router/views/index.js | 30 +- .../manage/cuser/serve/Dialog/pushService.vue | 4 +- src/views/manage/cuser/serve/index.vue | 4 +- .../tenant/main/serve/Dialog/addGroup.vue | 423 ++++ .../tenant/main/serve/Dialog/pushService.vue | 4 +- src/views/tenant/main/serve/index.vue | 1786 +++++------------ .../Dialog/ServeDetail.vue | 0 .../{serve => serveCopy}/Dialog/addGroups.vue | 0 .../{serve => serveCopy}/Dialog/addLog.vue | 0 .../main/serveCopy/Dialog/pushService.vue | 594 ++++++ .../Dialog/transferGroups.vue | 0 src/views/tenant/main/serveCopy/index.vue | 1752 ++++++++++++++++ .../tenant/main/talents/certain/index.vue | 245 ++- .../tenant/main/talents/latent/index.vue | 125 +- .../main/talents/personnelserve/index.vue | 506 ++++- vue.config.js | 2 +- 22 files changed, 4201 insertions(+), 1376 deletions(-) create mode 100644 src/views/tenant/main/serve/Dialog/addGroup.vue rename src/views/tenant/main/{serve => serveCopy}/Dialog/ServeDetail.vue (100%) rename src/views/tenant/main/{serve => serveCopy}/Dialog/addGroups.vue (100%) rename src/views/tenant/main/{serve => serveCopy}/Dialog/addLog.vue (100%) create mode 100644 src/views/tenant/main/serveCopy/Dialog/pushService.vue rename src/views/tenant/main/{serve => serveCopy}/Dialog/transferGroups.vue (100%) create mode 100644 src/views/tenant/main/serveCopy/index.vue diff --git a/package-lock.json b/package-lock.json index 5efbf0e..749130f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6165,6 +6165,14 @@ } } }, + "dom7": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/dom7/-/dom7-3.0.0.tgz", + "integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==", + "requires": { + "ssr-window": "^3.0.0-alpha.1" + } + }, "domain-browser": { "version": "1.2.0", "resolved": "http://r.cnpmjs.org/domain-browser/download/domain-browser-1.2.0.tgz", @@ -13065,6 +13073,11 @@ "tweetnacl": "~0.14.0" } }, + "ssr-window": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/ssr-window/-/ssr-window-3.0.0.tgz", + "integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==" + }, "ssri": { "version": "6.0.1", "resolved": "http://r.cnpmjs.org/ssri/download/ssri-6.0.1.tgz", @@ -13472,6 +13485,15 @@ } } }, + "swiper": { + "version": "6.8.4", + "resolved": "https://registry.npmmirror.com/swiper/-/swiper-6.8.4.tgz", + "integrity": "sha512-O+buF9Q+sMA0H7luMS8R59hCaJKlpo8PXhQ6ZYu6Rn2v9OsFd4d1jmrv14QvxtQpKAvL/ZiovEeANI/uDGet7g==", + "requires": { + "dom7": "^3.0.0", + "ssr-window": "^3.0.0" + } + }, "table": { "version": "4.0.2", "resolved": "http://r.cnpmjs.org/table/download/table-4.0.2.tgz", diff --git a/package.json b/package.json index f247204..7c25ccb 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "nprogress": "^0.2.0", "portfinder": "^1.0.23", "script-loader": "^0.7.2", + "swiper": "^6.8.4", "vue": "^2.6.10", "vue-axios": "^2.1.2", "vue-baidu-map": "^0.21.22", diff --git a/src/api/tenant/personnelserve.js b/src/api/tenant/personnelserve.js index 27bef42..df81f8f 100644 --- a/src/api/tenant/personnelserve.js +++ b/src/api/tenant/personnelserve.js @@ -1,10 +1,10 @@ import request from "@/router/axios"; /*获取人才列表*/ -export const getList = (current, size, params, groupId) => { +export const getList = (params) => { return request({ - url: "/api/jobslink-api/serve/list", + url: "/api/jobslink-api/tenant/talents/list", method: "get", - params: {...params, current, size, groupId} + params }); }; diff --git a/src/api/tenant/serve.js b/src/api/tenant/serve.js index 3e28b1b..cf22332 100644 --- a/src/api/tenant/serve.js +++ b/src/api/tenant/serve.js @@ -63,6 +63,14 @@ export const getDept = () => { }); }; +export const getDepTree = () => { + return request({ + url: "/api/jobslink-api/serve/tree", + method: "get", + params: {} + }); +}; + /*新建分组*/ export const addDept = row => { return request({ @@ -270,3 +278,20 @@ export const getMainServeUserLog = params => { params: params }); }; + + +export const saveGroupServeInfo = (data) => { + return request({ + url: "/api/jobslink-api/serve/tree/save", + method: "post", + data + }); +}; + +export const updateGroupServeInfo = (data) => { + return request({ + url: "/api/jobslink-api/serve/tree/update", + method: "post", + data + }); +}; diff --git a/src/api/tenant/talents.js b/src/api/tenant/talents.js index 67b9361..9f1adcb 100644 --- a/src/api/tenant/talents.js +++ b/src/api/tenant/talents.js @@ -121,3 +121,19 @@ export const getDeptAllTree = (params) => { }) } +export const talentsEliminate = (params) => { + return request({ + url: '/api/jobslink-api/tenant/talents/eliminate', + method: 'post', + data: params + }) +} + +export const talentsApproval = (params) => { + return request({ + url: '/api/jobslink-api/tenant/talents/approval', + method: 'post', + data: params + }) +} + diff --git a/src/components/promptDialog/index.vue b/src/components/promptDialog/index.vue index bcb4e65..cdd489a 100644 --- a/src/components/promptDialog/index.vue +++ b/src/components/promptDialog/index.vue @@ -6,7 +6,9 @@ :before-close="handleClose" append-to-body> {{ subTitle }} -
+ +
+
@@ -18,9 +20,10 @@
+ 取 消 - 驳 回 - 通 过 + 驳 回 + {{ submitText }} @@ -50,6 +53,20 @@ export default { } }, props: { + backBtnStatus: { + default: 0, + type: Number, + required: false, + }, + submitText: { + default: '通 过', + type: String, + required: false, + }, + backBtnHide: { + default: true, + type: Boolean, + }, visible: { default: false, type: Boolean, @@ -76,7 +93,14 @@ export default { } } }, - computed: {}, + computed: { + flagState() { + if (this.backBtnStatus) { + return 1 + } + return this.status + } + }, methods: { handleClose() { this.$emit('onClose') diff --git a/src/router/views/index.js b/src/router/views/index.js index e4291d4..f0d4093 100644 --- a/src/router/views/index.js +++ b/src/router/views/index.js @@ -9,10 +9,10 @@ export default [ children: [{ path: 'index', name: '首页', - meta: {i18n: 'dashboard',code: "wel"}, + meta: {i18n: 'dashboard', code: "wel"}, component: () => - // import(/* webpackChunkName: "views" */ '@/views/wel/index') - import(/* webpackChunkName: "views" */ '@/views/workstation/workbench') + // import(/* webpackChunkName: "views" */ '@/views/wel/index') + import(/* webpackChunkName: "views" */ '@/views/workstation/workbench') }] }, { @@ -24,7 +24,7 @@ export default [ name: '测试页', meta: {i18n: 'test'}, component: () => - import(/* webpackChunkName: "views" */ '@/views/util/test') + import(/* webpackChunkName: "views" */ '@/views/util/test') }] }, { @@ -36,7 +36,7 @@ export default [ name: '字典管理', meta: {i18n: 'dict'}, component: () => import( - /* webpackChunkName: "views" */ '@/views/util/demo/dict-horizontal') + /* webpackChunkName: "views" */ '@/views/util/demo/dict-horizontal') }] }, { @@ -48,7 +48,7 @@ export default [ name: '字典管理', meta: {i18n: 'dict'}, component: () => import( - /* webpackChunkName: "views" */ '@/views/util/demo/dict-vertical') + /* webpackChunkName: "views" */ '@/views/util/demo/dict-vertical') }] }, { @@ -60,7 +60,7 @@ export default [ name: '个人信息', meta: {i18n: 'info'}, component: () => - import(/* webpackChunkName: "views" */ '@/views/system/userinfo') + import(/* webpackChunkName: "views" */ '@/views/system/userinfo') }] }, { @@ -76,7 +76,7 @@ export default [ isTab: false, }, component: () => import( - /* webpackChunkName: "views" */ '@/views/manage/mission/zpView') + /* webpackChunkName: "views" */ '@/views/manage/mission/zpView') }, ] }, @@ -87,9 +87,9 @@ export default [ children: [{ path: 'index', name: '客户消息', - meta: {i18n: 'news',code:'news'}, + meta: {i18n: 'news', code: 'news'}, component: () => - import(/* webpackChunkName: "views" */ '@/views/tenant/news/index') + import(/* webpackChunkName: "views" */ '@/views/tenant/news/index') }] }, { @@ -101,7 +101,7 @@ export default [ name: '账户信息', meta: {i18n: 'accountsafe', code: 'accountsafe'}, component: () => - import(/* webpackChunkName: "views" */ '@/views/tenant/account/index') + import(/* webpackChunkName: "views" */ '@/views/tenant/account/index') }] }, // { @@ -147,7 +147,7 @@ export default [ }, props: true, component: () => import( - /* webpackChunkName: "views" */ '@/views/manage/policies/news/addNews') + /* webpackChunkName: "views" */ '@/views/manage/policies/news/addNews') } ] }, @@ -169,7 +169,7 @@ export default [ }, props: true, component: () => import( - /* webpackChunkName: "views" */ '@/views/manage/policies/article/allArticle/addNews') + /* webpackChunkName: "views" */ '@/views/manage/policies/article/allArticle/addNews') } ] }, @@ -191,7 +191,7 @@ export default [ }, props: true, component: () => import( - /* webpackChunkName: "views" */ '@/views/tenant/main/serve/Dialog/addLog') + /* webpackChunkName: "views" */ '@/views/tenant/main/serveCopy/Dialog/addLog') } ] }, @@ -213,7 +213,7 @@ export default [ }, props: true, component: () => import( - /* webpackChunkName: "views" */ '@/views/manage/recommend/manageContent/contentManage') + /* webpackChunkName: "views" */ '@/views/manage/recommend/manageContent/contentManage') } ] }, diff --git a/src/views/manage/cuser/serve/Dialog/pushService.vue b/src/views/manage/cuser/serve/Dialog/pushService.vue index 9555fa8..46426eb 100644 --- a/src/views/manage/cuser/serve/Dialog/pushService.vue +++ b/src/views/manage/cuser/serve/Dialog/pushService.vue @@ -326,7 +326,7 @@ export default { }, 1000), leftSearch() { this.leftPages.currentPage = 1 - this.getLeftUserList('serve') + this.getLeftUserList('serveCopy') console.log('leftpages:', this.leftPages) }, leftCurrentPageChange(current) { @@ -366,7 +366,7 @@ export default { } }, groupNameChange() { - this.getLeftUserList('serve') + this.getLeftUserList('serveCopy') }, async pushPostAndUser() { this.pushState = true diff --git a/src/views/manage/cuser/serve/index.vue b/src/views/manage/cuser/serve/index.vue index 28ad46d..21831a3 100644 --- a/src/views/manage/cuser/serve/index.vue +++ b/src/views/manage/cuser/serve/index.vue @@ -206,7 +206,7 @@ - + + + + + + + + + + + + + + +
+ +
+ {{ item.name }} +
+
+ +
+
+ +
添加
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ 提交 + + 取消 +
+
+ + + + + diff --git a/src/views/tenant/main/serve/Dialog/pushService.vue b/src/views/tenant/main/serve/Dialog/pushService.vue index a881987..aba6d21 100644 --- a/src/views/tenant/main/serve/Dialog/pushService.vue +++ b/src/views/tenant/main/serve/Dialog/pushService.vue @@ -333,7 +333,7 @@ export default { }, 1000), leftSearch() { this.leftPages.currentPage = 1 - this.getLeftUserList('serve') + this.getLeftUserList('serveCopy') console.log('leftpages:', this.leftPages) }, leftCurrentPageChange(current) { @@ -373,7 +373,7 @@ export default { } }, groupNameChange() { - this.getLeftUserList('serve') + this.getLeftUserList('serveCopy') }, async pushPostAndUser() { this.pushState = true diff --git a/src/views/tenant/main/serve/index.vue b/src/views/tenant/main/serve/index.vue index 9725549..cc9f6d8 100644 --- a/src/views/tenant/main/serve/index.vue +++ b/src/views/tenant/main/serve/index.vue @@ -1,13 +1,21 @@ - diff --git a/src/views/tenant/main/serve/Dialog/ServeDetail.vue b/src/views/tenant/main/serveCopy/Dialog/ServeDetail.vue similarity index 100% rename from src/views/tenant/main/serve/Dialog/ServeDetail.vue rename to src/views/tenant/main/serveCopy/Dialog/ServeDetail.vue diff --git a/src/views/tenant/main/serve/Dialog/addGroups.vue b/src/views/tenant/main/serveCopy/Dialog/addGroups.vue similarity index 100% rename from src/views/tenant/main/serve/Dialog/addGroups.vue rename to src/views/tenant/main/serveCopy/Dialog/addGroups.vue diff --git a/src/views/tenant/main/serve/Dialog/addLog.vue b/src/views/tenant/main/serveCopy/Dialog/addLog.vue similarity index 100% rename from src/views/tenant/main/serve/Dialog/addLog.vue rename to src/views/tenant/main/serveCopy/Dialog/addLog.vue diff --git a/src/views/tenant/main/serveCopy/Dialog/pushService.vue b/src/views/tenant/main/serveCopy/Dialog/pushService.vue new file mode 100644 index 0000000..aba6d21 --- /dev/null +++ b/src/views/tenant/main/serveCopy/Dialog/pushService.vue @@ -0,0 +1,594 @@ + + + + + diff --git a/src/views/tenant/main/serve/Dialog/transferGroups.vue b/src/views/tenant/main/serveCopy/Dialog/transferGroups.vue similarity index 100% rename from src/views/tenant/main/serve/Dialog/transferGroups.vue rename to src/views/tenant/main/serveCopy/Dialog/transferGroups.vue diff --git a/src/views/tenant/main/serveCopy/index.vue b/src/views/tenant/main/serveCopy/index.vue new file mode 100644 index 0000000..c597018 --- /dev/null +++ b/src/views/tenant/main/serveCopy/index.vue @@ -0,0 +1,1752 @@ + + + + + diff --git a/src/views/tenant/main/talents/certain/index.vue b/src/views/tenant/main/talents/certain/index.vue index 1049b87..319c74a 100644 --- a/src/views/tenant/main/talents/certain/index.vue +++ b/src/views/tenant/main/talents/certain/index.vue @@ -93,6 +93,21 @@ {{ row.name }}(未实名 --> + + @@ -141,6 +146,7 @@ :data="logDataSource" :option="logOption" :page.sync="logPage" + :table-loading="loadingLog" @row-save="saveLog" @row-update="saveUpdateLog" @row-del="removeLog" @@ -163,6 +169,36 @@ + + + + + @@ -179,7 +215,8 @@ import { getDept, removeDept, upload, - getDeptMyTree + getDeptMyTree, + talentsApproval, talentsEliminate } from "@/api/tenant/talents"; import {getWorkTypes, getLabelList} from "@/api/tenant/common"; import {mapGetters} from "vuex"; @@ -193,6 +230,7 @@ import {excelAccept} from "@/common/accept"; import TextTooltip from '@/components/text-tooltip' import {exportList} from "@/api/workstation/post"; import {addServeLog, getMainServeUserLog, removeServeLog, updateServeLog} from "@/api/tenant/serve"; +import PromptDialog from "@/components/promptDialog/index.vue"; let page = { pageSize: 10, @@ -212,6 +250,8 @@ export default { name: "tenant_talents", data() { return { + dialogFlag: false, + dialogInfo: null, downloadButton: false, activeNames: "1", isIndeterminate: false, @@ -231,6 +271,7 @@ export default { page: Object.assign({}, page), logPage: Object.assign({}, page), logDataSource: [], + loadingLog: false, innerDrawerLog: false, selectUserServeLog: null, tempWorkType: [], @@ -242,9 +283,11 @@ export default { data: [], obj: {}, excelForm: {isCovered: 1}, + selecTreeData: [], + GroupValue: '' }; }, - components: {addGroups, transferGroups, Resume, ied, TextTooltip}, + components: {addGroups, transferGroups, Resume, ied, TextTooltip, PromptDialog}, watch: {}, computed: { ...mapGetters(["permission", "userInfo"]), @@ -301,6 +344,7 @@ export default { searchBtn: true, searchShow: true, viewBtn: true, + menuWidth: 170, searchMenuSpan: 6, border: true, index: false, @@ -655,11 +699,72 @@ export default { }, created() { this.initDept(); + this.groupTypeDept() // this.getWorkTypes(); this.getLabelList(); this.getDept() }, methods: { + groupTypeDept() { + getDept({groupType: 1}).then((res) => { + this.selecTreeData = res.data.data.list; + }); + }, + checkUserInfo(row) { + this.dialogInfo = row + this.dialogFlag = true + }, + diaLogCancel(value) { + if (value) { + let params = { + idNumber: this.dialogInfo.idNumber, + id: this.dialogInfo.id, + approvalStatus: 1, + content: value, + } + this.$confirm("确定将选择数据驳回?", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }) + .then(() => { + return talentsApproval(params); + }) + .then(() => { + this.onLoad(this.page, this.query); + this.dialogFlag = false + this.$message.success('操作成功'); + }); + } else { + this.$message.error("请填写驳回原因"); + } + }, + diaLogConfirm(value) { + if (this.GroupValue) { + let params = { + idNumber: this.dialogInfo.idNumber, + id: this.dialogInfo.id, + approvalStatus: 0, + content: value, + groupId: this.GroupValue + } + this.$confirm("确定通过?", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }) + .then(() => { + return talentsApproval(params); + }) + .then(() => { + this.onLoad(this.page, this.query); + this.dialogFlag = false + this.$message.success('操作成功'); + }); + } else { + this.$message.error("请选择分组"); + } + }, handleExport() { this.downloadButton = true // 0 潜在 1 已认定 @@ -1186,17 +1291,17 @@ export default { serveLog(row) { console.log('服务日志', row) this.selectUserServeLog = row + this.loadingLog = true getMainServeUserLog({ - idNumber: row.id, + idNumber: row.idNumber, current: this.logPage.currentPage, size: this.logPage.pageSize }).then(res => { - let _this = this; + this.loadingLog = false const {records, current, size, total} = res.data.data - console.log(records, total) - _this.logDataSource = records - _this.innerDrawerLog = true - _this.logPage = { + this.logDataSource = records + this.innerDrawerLog = true + this.logPage = { pageSize: size, currentPage: current, total: total, diff --git a/src/views/tenant/main/talents/personnelserve/index.vue b/src/views/tenant/main/talents/personnelserve/index.vue index 3fe762c..d1ccc1a 100644 --- a/src/views/tenant/main/talents/personnelserve/index.vue +++ b/src/views/tenant/main/talents/personnelserve/index.vue @@ -15,14 +15,77 @@ @size-change="sizeChange" class="customPage" > + + + + + + + + + + + + +