From dadc29c4fca5b571618a5979e6d0dbf6106f1033 Mon Sep 17 00:00:00 2001 From: 18500206848 Date: Thu, 9 May 2024 23:13:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=9B=B6=E5=B7=A5=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/tenant/serve.js | 35 + .../manage/cuser/serve/Dialog/ServeDetail.vue | 34 + .../manage/cuser/serve/Dialog/addGroups.vue | 146 ++ .../manage/cuser/serve/Dialog/addLog.vue | 290 +++ .../manage/cuser/serve/Dialog/pushService.vue | 530 ++++++ .../cuser/serve/Dialog/transferGroups.vue | 110 ++ src/views/manage/cuser/serve/index.vue | 1629 +++++++++++++++++ src/views/manage/cuser/serve/missionView.vue | 35 + .../manage/cuser/serve/workMissionView.vue | 35 + src/views/manage/cuser/talents/index.vue | 226 ++- src/views/manage/works/supplyDemand/index.vue | 201 ++ 11 files changed, 3198 insertions(+), 73 deletions(-) create mode 100644 src/views/manage/cuser/serve/Dialog/ServeDetail.vue create mode 100644 src/views/manage/cuser/serve/Dialog/addGroups.vue create mode 100644 src/views/manage/cuser/serve/Dialog/addLog.vue create mode 100644 src/views/manage/cuser/serve/Dialog/pushService.vue create mode 100644 src/views/manage/cuser/serve/Dialog/transferGroups.vue create mode 100644 src/views/manage/cuser/serve/index.vue create mode 100644 src/views/manage/cuser/serve/missionView.vue create mode 100644 src/views/manage/cuser/serve/workMissionView.vue create mode 100644 src/views/manage/works/supplyDemand/index.vue diff --git a/src/api/tenant/serve.js b/src/api/tenant/serve.js index 76909b3..bfe5ffd 100644 --- a/src/api/tenant/serve.js +++ b/src/api/tenant/serve.js @@ -1,4 +1,5 @@ import request from "@/router/axios"; + /*获取人才列表*/ export const getList = (current, size, params, groupId) => { return request({ @@ -8,6 +9,15 @@ export const getList = (current, size, params, groupId) => { }); }; +/*获取人才列表*/ +export const getUserList = (current, size, params, groupId) => { + return request({ + url: "/api/jobslink-api/serve/user/list", + method: "get", + params: { ...params, current, size, groupId } + }); +}; + /*新增人才*/ export const add = row => { return request({ @@ -62,6 +72,24 @@ export const addDept = row => { }); }; +/*获取分组 - 零工管理*/ +export const getServeGroupList = () => { + return request({ + url: "/api/jobslink-api/serve/user/group/listAll", + method: "get", + params: {} + }); +}; + +/*新建分组 - 零工管理*/ +export const addServeGroup = row => { + return request({ + url: "/api/jobslink-api/serve/user/group/save", + method: "post", + data: row + }); +}; + /*编辑分组*/ export const updateDept = row => { return request({ @@ -204,3 +232,10 @@ export const getListAllTalents = params => method: "get", params }); + + export const getListUserAllTalents = params => + request({ + url: "/api/jobslink-api/serve/user/listAllTalents", + method: "get", + params + }); diff --git a/src/views/manage/cuser/serve/Dialog/ServeDetail.vue b/src/views/manage/cuser/serve/Dialog/ServeDetail.vue new file mode 100644 index 0000000..3bf4019 --- /dev/null +++ b/src/views/manage/cuser/serve/Dialog/ServeDetail.vue @@ -0,0 +1,34 @@ + + + \ No newline at end of file diff --git a/src/views/manage/cuser/serve/Dialog/addGroups.vue b/src/views/manage/cuser/serve/Dialog/addGroups.vue new file mode 100644 index 0000000..fd64bae --- /dev/null +++ b/src/views/manage/cuser/serve/Dialog/addGroups.vue @@ -0,0 +1,146 @@ + + + + + diff --git a/src/views/manage/cuser/serve/Dialog/addLog.vue b/src/views/manage/cuser/serve/Dialog/addLog.vue new file mode 100644 index 0000000..a8c0dd8 --- /dev/null +++ b/src/views/manage/cuser/serve/Dialog/addLog.vue @@ -0,0 +1,290 @@ + + + + \ No newline at end of file diff --git a/src/views/manage/cuser/serve/Dialog/pushService.vue b/src/views/manage/cuser/serve/Dialog/pushService.vue new file mode 100644 index 0000000..4f97013 --- /dev/null +++ b/src/views/manage/cuser/serve/Dialog/pushService.vue @@ -0,0 +1,530 @@ + + + + + diff --git a/src/views/manage/cuser/serve/Dialog/transferGroups.vue b/src/views/manage/cuser/serve/Dialog/transferGroups.vue new file mode 100644 index 0000000..23b2e56 --- /dev/null +++ b/src/views/manage/cuser/serve/Dialog/transferGroups.vue @@ -0,0 +1,110 @@ + + + + + diff --git a/src/views/manage/cuser/serve/index.vue b/src/views/manage/cuser/serve/index.vue new file mode 100644 index 0000000..63bd50a --- /dev/null +++ b/src/views/manage/cuser/serve/index.vue @@ -0,0 +1,1629 @@ + + + + + diff --git a/src/views/manage/cuser/serve/missionView.vue b/src/views/manage/cuser/serve/missionView.vue new file mode 100644 index 0000000..622f51d --- /dev/null +++ b/src/views/manage/cuser/serve/missionView.vue @@ -0,0 +1,35 @@ + + + + + \ No newline at end of file diff --git a/src/views/manage/cuser/serve/workMissionView.vue b/src/views/manage/cuser/serve/workMissionView.vue new file mode 100644 index 0000000..a8e450a --- /dev/null +++ b/src/views/manage/cuser/serve/workMissionView.vue @@ -0,0 +1,35 @@ + + + + + \ No newline at end of file diff --git a/src/views/manage/cuser/talents/index.vue b/src/views/manage/cuser/talents/index.vue index 3cf404e..590e51a 100644 --- a/src/views/manage/cuser/talents/index.vue +++ b/src/views/manage/cuser/talents/index.vue @@ -14,15 +14,15 @@ :data="treeData" :props="props"> - + @@ -31,7 +31,7 @@ @@ -46,22 +46,6 @@ - - - - - - - - - - -
- 搜 索 - 清 空 -
-
-
@@ -110,6 +94,16 @@ + @@ -146,8 +140,7 @@ import { detail, getDept, removeDept, - upload, - getDeptMyTree + upload, getDeptMyTree, } from "@/api/tenant/talents"; import {getWorkTypes, getLabelList} from "@/api/tenant/common"; import {mapGetters} from "vuex"; @@ -155,7 +148,7 @@ import addGroups from "./Dialog/addGroups"; import transferGroups from "./Dialog/transferGroups"; import Resume from "@/components/resume/index"; import {check18IdCardNo, isvalidatemobile, isExcel} from "@/util/validate"; -import {getTemplate} from "@/api/resource/template"; +import {getTemplate, getTemplateRecommendExportList} from "@/api/resource/template"; import ied from "@/views/util/import-error-dialog"; import {excelAccept} from "@/common/accept"; import TextTooltip from '@/components/text-tooltip' @@ -173,6 +166,7 @@ export default { name: "tenant_talents", data() { return { + downloadButton: false, activeNames: "1", isIndeterminate: false, checkAll: false, @@ -196,11 +190,11 @@ export default { tempWorkType: [], worktypeDic: {}, arr: [],////// - depTree: [], deptId: '', excelBox: false, data: [], obj: {}, + depTree: [], excelForm: {isCovered: 1}, }; }, @@ -210,10 +204,10 @@ export default { ...mapGetters(["permission"]), permissionList() { return { - addBtn: this.vaildData(this.permission.tenant_main_talents_latent_index_add, false), + addBtn: this.vaildData(this.permission.tenant_main_talents_certain_index_add, false), viewBtn: true, - delBtn: this.vaildData(this.permission.tenant_main_talents_latent_index_del, false), - editBtn: this.vaildData(this.permission.tenant_main_talents_latent_index_edit, false), + delBtn: this.vaildData(this.permission.tenant_main_talents_certain_index_delete, false), + editBtn: this.vaildData(this.permission.tenant_main_talents_certain_index_edit, false) }; }, ids() { @@ -270,21 +264,18 @@ export default { dialogClickModal: false, column: [ { - label: "机构名称", - prop: "companyName", - // search: true, - // span: 24, - // rules: [ - // { - // required: true, - // whitespace: true, - // message: "请输入街道名称", - // trigger: "blur", - // }, - // ], - // slot: true, - addDisplay: false, - // hide: true + label: "所属机构", + prop: "createDept", + type: "tree", + multiple: false, + dicData: this.depTree, + props: { + label: "title", + }, + checkStrictly: true, + span: 24, + search: true, + change: this.deptChange }, { label: "姓名", @@ -299,8 +290,27 @@ export default { trigger: "blur", }, ], + search: true, slot: true }, + { + label: "姓别", + prop: "aac004", + type: 'select', + dicUrl: "/api/jobslink-api/system/dict-biz/tadict?code=AAC004", + props: { + label: "dictValue", + value: "dictValue", + }, + rules: [ + { + required: true, + message: "请输入性别", + trigger: "blur", + }, + ], + span: 24, + }, { label: "身份证", prop: "idNumber", @@ -310,6 +320,7 @@ export default { {required: true, message: "请输入身份证号", trigger: "blur"}, {trigger: "blur", validator: IdCardNo}, ], + search: true, }, { label: "手机号", @@ -325,22 +336,80 @@ export default { ], }, { - label: "用户类型", - prop: "userId", - type: "select", - dicData: [ + label: "民族", + prop: "aac005", + type: 'select', + dicUrl: "/api/jobslink-api/system/dict-biz/tadict?code=AAC005", + props: { + label: "dictValue", + value: "dictValue", + }, + props: { + label: "dictValue", + value: "dictKey", + }, + rules: [ { - value: "0", - label: "未注册用户", - }, - { - value: "1", - label: "已注册用户", + required: true, + message: "请输入民族", + trigger: "blur", }, ], + span: 24, + }, + { + label: "户口性质", + prop: "aac009", + type: 'select', + dicUrl: "/api/jobslink-api/system/dict-biz/tadict?code=AAC009", + props: { + label: "dictValue", + value: "dictValue", + }, + rules: [ + { + required: true, + message: "请输入户口性质", + trigger: "blur", + }, + ], + span: 24, + }, + { + label: "户口所在地", + prop: "aac010", + // hide: true, + span: 24, + rules: [ + {required: true, message: "请输入口所在地", trigger: "blur"}, + ], + }, + { + label: "文化程度", + prop: "aac011", + type: 'select', + dicUrl: "/api/jobslink-api/system/dict-biz/tadict?code=AAC011", + props: { + label: "dictValue", + value: "dictValue", + }, + rules: [ + { + required: true, + message: "请输入文化程度", + trigger: "blur", + }, + ], + span: 24, + }, + { + label: "经办时间", + prop: "aae036", display: false, - hide: true, - // search: true + span: 24, + rules: [ + {required: true, message: "请输入经办时间", trigger: "blur"}, + ], }, { label: "分组", @@ -376,12 +445,6 @@ export default { formslot: true, span: 24, }, - // { - // label: "简历", - // prop: "resume", - // slot: true, - // display: false - // }, { label: "备注", prop: "remarks", @@ -398,7 +461,6 @@ export default { excelOption() { const baseUrl = upload() + `&deptId=${this.deptId}` const url = this.tenantId ? `${baseUrl}&id=${this.tenantId}` : baseUrl - return { submitBtn: false, emptyBtn: false, @@ -490,6 +552,24 @@ export default { this.getDept() }, methods: { + handleExport() { + this.downloadButton = true + // 0 潜在 1 已认定 + getTemplateRecommendExportList({ + groupType: 9, + ...this.query + }).then((response) => { + const blob = window.URL.createObjectURL(new Blob([response.data], {type: response.headers['content-type']})); + let fileName = decodeURI(response.headers['content-disposition'].split(';')[1].split('filename=')[1]) + let a = document.createElement('a') + let event = new MouseEvent('click') + a.download = fileName || Date.now() + '.xlsx' + a.href = blob + a.dispatchEvent(event) + this.downloadButton = false + }) + + }, deptChange({value, column}) { this.deptId = value console.log(value) @@ -677,7 +757,14 @@ export default { }, /*新增人才*/ rowSave(row, done) { + let obj = {} + for (const rowKey in row) { + if (row[rowKey]) { + obj[rowKey] = row[rowKey] + } + } add({ + ...obj, groupId: row.groupId, name: row.name, idNumber: row.idNumber, @@ -703,6 +790,7 @@ export default { /*编辑人才*/ rowUpdate(row, index, done) { update({ + ...row, id: row.id, groupId: row.groupId, name: row.name, @@ -878,7 +966,7 @@ export default { /*下载人才库模板 */ handleTemplate() { this.templateLoading = true; - getTemplate("lgrydj") + getTemplate("rqkdr") .then((rep) => { this.templateLoading = false; window.open(rep.data.data); @@ -910,14 +998,6 @@ export default { this.onLoad(this.page, params); done(); }, - searchReset1() { - this.query = {}; - this.onLoad(this.page); - }, - searchChange1() { - this.page.currentPage = 1; - this.onLoad(this.page, this.query); - }, /*人才列表多选 */ selectionChange(list) { this.selectionList = list; diff --git a/src/views/manage/works/supplyDemand/index.vue b/src/views/manage/works/supplyDemand/index.vue new file mode 100644 index 0000000..cf8b07b --- /dev/null +++ b/src/views/manage/works/supplyDemand/index.vue @@ -0,0 +1,201 @@ + + + + +