From 9a61fca92fcbad517581ced2ba5c82eb67c15021 Mon Sep 17 00:00:00 2001
From: Apcallover <1503963513@qq.com>
Date: Wed, 12 Jun 2024 15:27:14 +0800
Subject: [PATCH] =?UTF-8?q?flat:=20=E6=9A=82=E5=AD=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/tenant/talents.js | 8 ++
src/components/promptDialog/index.vue | 15 ++-
src/views/tenant/main/label/index.vue | 84 +++++++------
src/views/tenant/main/policy/index.vue | 116 ++++++++++--------
src/views/tenant/main/serve/index.vue | 4 +
.../tenant/main/talents/certain/index.vue | 105 +++++++++++++++-
.../main/talents/personnelserve/index.vue | 7 +-
vue.config.js | 2 +-
8 files changed, 246 insertions(+), 95 deletions(-)
diff --git a/src/api/tenant/talents.js b/src/api/tenant/talents.js
index 9f1adcb..b0021e0 100644
--- a/src/api/tenant/talents.js
+++ b/src/api/tenant/talents.js
@@ -137,3 +137,11 @@ export const talentsApproval = (params) => {
})
}
+export const tenantSuspected = (params) => {
+ return request({
+ url: '/api/jobslink-api/tenant/talents/suspected',
+ method: 'post',
+ data: params
+ })
+}
+
diff --git a/src/components/promptDialog/index.vue b/src/components/promptDialog/index.vue
index cdd489a..eb11877 100644
--- a/src/components/promptDialog/index.vue
+++ b/src/components/promptDialog/index.vue
@@ -22,7 +22,7 @@
@@ -63,6 +63,15 @@ export default {
type: String,
required: false,
},
+ backText: {
+ default: '驳 回',
+ type: String,
+ required: false,
+ },
+ isInputInfo: {
+ type: Boolean,
+ default: true,
+ },
backBtnHide: {
default: true,
type: Boolean,
@@ -106,6 +115,10 @@ export default {
this.$emit('onClose')
},
handleCancel() {
+ if (!this.isInputInfo) {
+ this.$emit('onCancel')
+ return
+ }
if (this.status) {
this.$emit('onCancel', this.input)
} else {
diff --git a/src/views/tenant/main/label/index.vue b/src/views/tenant/main/label/index.vue
index 0553cb3..76b00ac 100644
--- a/src/views/tenant/main/label/index.vue
+++ b/src/views/tenant/main/label/index.vue
@@ -11,7 +11,7 @@
+ :data="treeData" :props="props">
updateGroups('edit', data)">
removeGroups(data)">
+ v-if="vaildData(permission.tenant_main_label_index_groupdelete, false)"
+ type="text" size="mini" @click="() => removeGroups(data)">
@@ -45,7 +45,8 @@
icon="el-icon-plus"
v-if="vaildData(permission.tenant_main_label_index_groupadd, false)"
@click="updateGroups('add')">
- 新建分组
+ 新建分组
+
@@ -67,7 +68,7 @@
+ :value="item.value">
+ :permission="permissionList" :before-open="beforeOpen" @row-del="rowDel" @row-update="rowUpdate"
+ @row-save="rowSave" @search-change="searchChange" @search-reset="searchReset"
+ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange" class="customPage">
@@ -98,7 +99,8 @@
查看简历
+ v-if="row.userId && row.userId !== '0'">查看简历
+
暂无简历
@@ -110,12 +112,16 @@
导入
+ v-show="vaildData(permission.tenant_talents_groupadd, false)">导入
+
转移分组
+ @click="handleTransfer">转移分组
+
- 删除
+ :disabled="!selectionList.length" plain
+ v-show="vaildData(permission.tenant_talents_groupdelete, false)">
+ 删除
+
{{ row.name }}
@@ -129,7 +135,7 @@
+ :upload-before="beforeAvatarUpload" :upload-error="uploadError">
点击下载
@@ -163,16 +169,16 @@ import {
removeDept,
upload,
} from "@/api/tenant/label";
-import { getWorkTypes } from "@/api/tenant/common";
-import { mapGetters } from "vuex";
+import {getWorkTypes} from "@/api/tenant/common";
+import {mapGetters} from "vuex";
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 {check18IdCardNo, isvalidatemobile, isExcel} from "@/util/validate";
+import {getTemplate} from "@/api/resource/template";
import ied from "@/views/util/import-error-dialog";
-import { excelAccept } from "@/common/accept";
-import { serviceType } from "@/common/dic";
+import {excelAccept} from "@/common/accept";
+import {serviceType} from "@/common/dic";
export default {
filters: {
@@ -241,10 +247,10 @@ export default {
excelBox: false,
data: [],
obj: {},
- excelForm: { isCovered: 1 },
+ excelForm: {isCovered: 1},
};
},
- components: { addGroups, transferGroups, Resume, ied },
+ components: {addGroups, transferGroups, Resume, ied},
watch: {},
computed: {
...mapGetters(["permission"]),
@@ -446,7 +452,7 @@ export default {
const result = [];
const wt = this.obj.worktypes.split(",");
wt.forEach((item) => {
- result.push({ name: item });
+ result.push({name: item});
});
return result;
},
@@ -463,7 +469,7 @@ export default {
for (let j = 0; j < this.arr.length; j++) {
const key = this.arr[j];
if (this.worktypeDic.hasOwnProperty(key)) {
- rel.push({ name: key })
+ rel.push({name: key})
}
}
/* for (const key in this.worktypeDic) {
@@ -474,7 +480,7 @@ export default {
for (let i = 0; i < this.tempWorkType.length; i++) {
const key = this.tempWorkType[i];
if (key && !this.worktypeDic.hasOwnProperty(key)) {
- rel.push({ name: key });
+ rel.push({name: key});
}
}
return rel;
@@ -519,13 +525,13 @@ export default {
this.$nextTick(function () {
this.$refs.tree.setCurrentKey(groupId);
}); //默认高亮
- this.nodeClick({ id: groupId });
+ this.nodeClick({id: groupId});
} else {
if (this.treeData.length) {
this.$nextTick(function () {
this.$refs.tree.setCurrentKey(this.treeData[0].id);
}); //默认高亮第一个
- this.nodeClick({ id: this.treeData[0].id });
+ this.nodeClick({id: this.treeData[0].id});
}
}
this.personTotal = res.data.data.sum;
@@ -544,8 +550,8 @@ export default {
const h = this.$createElement;
this.$confirm(
h("div", null, [
- h("p", { style: "font-size: 16px" }, "您确定要删除此分组吗? "),
- h("p", { style: "color: red" }, "一旦删除则无法找回"),
+ h("p", {style: "font-size: 16px"}, "您确定要删除此分组吗? "),
+ h("p", {style: "color: red"}, "一旦删除则无法找回"),
]),
{
type: "warning",
@@ -702,8 +708,8 @@ export default {
const h = this.$createElement;
this.$confirm(
h("div", null, [
- h("p", { style: "font-size: 16px" }, "您确定要删除此人才吗? "),
- h("p", { style: "color: red" }, "一旦删除则无法找回"),
+ h("p", {style: "font-size: 16px"}, "您确定要删除此人才吗? "),
+ h("p", {style: "color: red"}, "一旦删除则无法找回"),
]),
{
type: "warning",
@@ -760,7 +766,7 @@ export default {
const h = this.$createElement;
this.$confirm(
h("div", null, [
- h("p", { style: "font-size: 16px" }, "您确定要批量删除选中人才吗? "),
+ h("p", {style: "font-size: 16px"}, "您确定要批量删除选中人才吗? "),
]),
{
type: "warning",
@@ -825,13 +831,13 @@ export default {
const arr = [];
const data = res.data.data;
data.error &&
- data.error.errorList.forEach((item) => {
- arr.push(`${item.name} ${item.remarks}`);
- });
+ data.error.errorList.forEach((item) => {
+ arr.push(`${item.name} ${item.remarks}`);
+ });
data.auth &&
- data.auth.authList.forEach((item) => {
- arr.push(`${item.name} ${item.remarks}`);
- });
+ data.auth.authList.forEach((item) => {
+ arr.push(`${item.name} ${item.remarks}`);
+ });
this.$refs.ied.show(arr);
}
this.refreshChange();
diff --git a/src/views/tenant/main/policy/index.vue b/src/views/tenant/main/policy/index.vue
index 47c50ca..2e064ca 100644
--- a/src/views/tenant/main/policy/index.vue
+++ b/src/views/tenant/main/policy/index.vue
@@ -11,7 +11,7 @@
+ :data="treeData" :props="props">
@@ -61,7 +63,7 @@
+ :value="item.value">
@@ -73,23 +75,26 @@
+ :permission="permissionList" :before-open="beforeOpen" @row-del="rowDel" @row-update="rowUpdate"
+ @row-save="rowSave" @search-change="searchChange" @search-reset="searchReset"
+ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange" class="customPage" @upload-after="uploadSearchAfter">
- {{ row.labelName.length > 20 ? row.labelName.substring(0, 20) : row.labelName}}
+ {{ row.labelName.length > 20 ? row.labelName.substring(0, 20) : row.labelName }}
查看简历
+ v-if="row.userId && row.userId !== '0'">查看简历
+
暂无简历
@@ -101,14 +106,16 @@
@@ -116,14 +123,16 @@
@@ -137,13 +146,17 @@
-
-
+
+
转移分组
+ @click="handleTransfer" v-show="vaildData(permission.tenant_main_policy_transfergroup, false)">
+ 转移分组
+
- 删除
+ :disabled="!selectionList.length" plain
+ v-show="vaildData(permission.tenant_main_policy_index_del, false)">
+ 删除
+
{{ row.name }}
@@ -157,7 +170,7 @@
+ :upload-before="beforeAvatarUpload" :upload-error="uploadError">
点击下载
@@ -191,18 +204,19 @@ import {
upload,
uploadFilePolicy
} from "@/api/tenant/policy";
-import { getWorkTypes, getLabelList } from "@/api/tenant/common";
-import { mapGetters } from "vuex";
+import {getWorkTypes, getLabelList} from "@/api/tenant/common";
+import {mapGetters} from "vuex";
import addGroups from "./Dialog/addGroups";
import transferGroups from "./Dialog/transferGroups";
import Resume from "@/components/resume/index";
-import { isvalidatemobile, isExcel } from "@/util/validate";
-import { getTemplate } from "@/api/resource/template";
+import {isvalidatemobile, isExcel} from "@/util/validate";
+import {getTemplate} from "@/api/resource/template";
import ied from "@/views/util/import-error-dialog";
-import { serviceType } from "@/common/dic";
-import { excelAccept } from "@/common/accept";
+import {serviceType} from "@/common/dic";
+import {excelAccept} from "@/common/accept";
import Tinymce from "@/components/Tinymce";
import _ from "lodash";
+
export default {
filters: {
ellipsis(value) {
@@ -274,10 +288,10 @@ export default {
excelBox: false,
data: [],
obj: {},
- excelForm: { isCovered: 1 },
+ excelForm: {isCovered: 1},
};
},
- components: { Tinymce, addGroups, transferGroups, Resume, ied },
+ components: {Tinymce, addGroups, transferGroups, Resume, ied},
watch: {},
computed: {
...mapGetters(["permission"]),
@@ -429,7 +443,7 @@ export default {
type: "tree",
span: 12,
display: true,
- dicData: [{ name: "有效", value: 1 }, { name: "无效", value: 0 }],
+ dicData: [{name: "有效", value: 1}, {name: "无效", value: 0}],
props: {
label: "name",
value: "value",
@@ -668,7 +682,7 @@ export default {
const result = [];
const wt = this.obj.labelName ? this.obj.labelName.split(",") : [];
wt.forEach((item) => {
- result.push({ name: item });
+ result.push({name: item});
});
return result;
},
@@ -685,7 +699,7 @@ export default {
for (let j = 0; j < this.arr.length; j++) {
const key = this.arr[j];
if (this.worktypeDic.hasOwnProperty(key)) {
- rel.push({ name: key })
+ rel.push({name: key})
}
}
/* for (const key in this.worktypeDic) {
@@ -696,7 +710,7 @@ export default {
for (let i = 0; i < this.tempWorkType.length; i++) {
const key = this.tempWorkType[i];
if (key && !this.worktypeDic.hasOwnProperty(key)) {
- rel.push({ name: key });
+ rel.push({name: key});
}
}
return rel;
@@ -712,7 +726,7 @@ export default {
const formData = new FormData();
formData.append('file', file.file);
let resData = await uploadFilePolicy(formData)
- if(resData.data.code === 200) {
+ if (resData.data.code === 200) {
this.policyFileUrl = resData.data.msg
}
},
@@ -720,7 +734,7 @@ export default {
const formData = new FormData();
formData.append('file', file.file);
let resData = await uploadFilePolicy(formData)
- if(resData.data.code === 200) {
+ if (resData.data.code === 200) {
this.guidelineFileUrl = resData.data.msg
}
},
@@ -740,7 +754,7 @@ export default {
getLabelList().then(async (res) => {
const arr = res.data.data.flatMap(obj => obj.child.map(item => item.concatName));
this.arr = arr.map(concatName => {
- return { name: concatName };
+ return {name: concatName};
});
});
},
@@ -766,13 +780,13 @@ export default {
this.$nextTick(function () {
this.$refs.tree.setCurrentKey(groupId);
}); //默认高亮
- this.nodeClick({ id: groupId });
+ this.nodeClick({id: groupId});
} else {
if (this.treeData.length) {
this.$nextTick(function () {
this.$refs.tree.setCurrentKey(this.treeData[0].id);
}); //默认高亮第一个
- this.nodeClick({ id: this.treeData[0].id });
+ this.nodeClick({id: this.treeData[0].id});
}
}
this.personTotal = res.data.data.sum;
@@ -791,8 +805,8 @@ export default {
const h = this.$createElement;
this.$confirm(
h("div", null, [
- h("p", { style: "font-size: 16px" }, "您确定要删除此分组吗? "),
- h("p", { style: "color: red" }, "一旦删除则无法找回"),
+ h("p", {style: "font-size: 16px"}, "您确定要删除此分组吗? "),
+ h("p", {style: "color: red"}, "一旦删除则无法找回"),
]),
{
type: "warning",
@@ -980,8 +994,8 @@ export default {
const h = this.$createElement;
this.$confirm(
h("div", null, [
- h("p", { style: "font-size: 16px" }, "您确定要删除此人才吗? "),
- h("p", { style: "color: red" }, "一旦删除则无法找回"),
+ h("p", {style: "font-size: 16px"}, "您确定要删除此人才吗? "),
+ h("p", {style: "color: red"}, "一旦删除则无法找回"),
]),
{
type: "warning",
@@ -1038,7 +1052,7 @@ export default {
const h = this.$createElement;
this.$confirm(
h("div", null, [
- h("p", { style: "font-size: 16px" }, "您确定要批量删除选中人才吗? "),
+ h("p", {style: "font-size: 16px"}, "您确定要批量删除选中人才吗? "),
]),
{
type: "warning",
@@ -1104,13 +1118,13 @@ export default {
const arr = [];
const data = res.data.data;
data.error &&
- data.error.errorList.forEach((item) => {
- arr.push(`${item.name} ${item.remarks}`);
- });
+ data.error.errorList.forEach((item) => {
+ arr.push(`${item.name} ${item.remarks}`);
+ });
data.auth &&
- data.auth.authList.forEach((item) => {
- arr.push(`${item.name} ${item.remarks}`);
- });
+ data.auth.authList.forEach((item) => {
+ arr.push(`${item.name} ${item.remarks}`);
+ });
this.$refs.ied.show(arr);
}
this.refreshChange();
@@ -1200,9 +1214,9 @@ export default {
},
clipStr(str) {
const clip = []
- if(str && str.length > 50) {
+ if (str && str.length > 50) {
for (let i = 0; i < Math.ceil(str.length / 50); i++) {
- clip.push(str.slice(i * 50,i * 50 + 50))
+ clip.push(str.slice(i * 50, i * 50 + 50))
}
return clip
}
diff --git a/src/views/tenant/main/serve/index.vue b/src/views/tenant/main/serve/index.vue
index 919efe2..2641aee 100644
--- a/src/views/tenant/main/serve/index.vue
+++ b/src/views/tenant/main/serve/index.vue
@@ -539,6 +539,10 @@ export default {
trigger: "blur",
},
],
+ }, {
+ label: '服务名称',
+ prop: 'serveName',
+ display: false,
}, {
label: '服务发起人',
prop: 'fromName',
diff --git a/src/views/tenant/main/talents/certain/index.vue b/src/views/tenant/main/talents/certain/index.vue
index 9076d88..02d7c77 100644
--- a/src/views/tenant/main/talents/certain/index.vue
+++ b/src/views/tenant/main/talents/certain/index.vue
@@ -101,11 +101,19 @@
剔除
+ 验证审核
+
@@ -192,7 +200,27 @@
-
+
+
+
+
+
+
+
@@ -210,7 +238,8 @@ import {
removeDept,
upload,
getDeptMyTree,
- talentsEliminate
+ talentsEliminate,
+ tenantSuspected
} from "@/api/tenant/talents";
import {getWorkTypes, getLabelList} from "@/api/tenant/common";
import {mapGetters} from "vuex";
@@ -243,6 +272,8 @@ export default {
name: "tenant_talents",
data() {
return {
+ checkInput: '',
+ checkDialog: false,
dialogFlag: false,
dialogInfo: null,
downloadButton: false,
@@ -342,6 +373,7 @@ export default {
searchShow: true,
viewBtn: true,
searchMenuSpan: 6,
+ searchSpan: 8,
menuWidth: 170,
border: true,
index: false,
@@ -410,6 +442,17 @@ export default {
],
search: true,
},
+ {
+ label: "人员类型",
+ prop: "suspected",
+ search: true,
+ type: 'select',
+ dicData: [
+ {label: '普通人员', value: 0},
+ {label: '疑似死亡人员', value: 1},
+ {label: '死亡人员', value: 2},
+ ]
+ },
{
label: "手机号",
prop: "telphone",
@@ -708,6 +751,64 @@ export default {
this.getDept()
},
methods: {
+ checkDialogConfirm() {
+ if (!this.checkInput) {
+ return this.$message.info('请输入备注');
+ }
+ const params = {
+ id: this.dialogInfo.id,
+ idNumber: this.dialogInfo.idNumber,
+ remarks: this.checkInput,
+ suspected: 2,
+ name: this.dialogInfo.name,
+ }
+ this.$confirm("确定该人员已死亡?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return tenantSuspected(params);
+ })
+ .then(() => {
+ this.initDept();
+ this.onLoad(this.page, this.query);
+ this.checkDialog = false
+ this.$message.success('操作成功');
+ });
+ },
+ checkDialogCancel() {
+ if (!this.checkInput) {
+ return this.$message.info('请输入备注');
+ }
+ const params = {
+ id: this.dialogInfo.id,
+ idNumber: this.dialogInfo.idNumber,
+ remarks: this.checkInput,
+ suspected: 0,
+ name: this.dialogInfo.name,
+ }
+ this.$confirm("确定该人员未死亡?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return tenantSuspected(params);
+ })
+ .then(() => {
+ this.initDept();
+ this.onLoad(this.page, this.query);
+ this.checkDialog = false
+ this.$message.success('操作成功');
+ });
+ console.log(params)
+ },
+ checkSuspected(row) {
+ console.log(row)
+ this.dialogInfo = row
+ this.checkDialog = true
+ },
checkUserInfo(row) {
this.dialogInfo = row
this.dialogFlag = true
diff --git a/src/views/tenant/main/talents/personnelserve/index.vue b/src/views/tenant/main/talents/personnelserve/index.vue
index 99b44c3..8bff890 100644
--- a/src/views/tenant/main/talents/personnelserve/index.vue
+++ b/src/views/tenant/main/talents/personnelserve/index.vue
@@ -308,7 +308,7 @@ export default {
return {
editBtn: true,
delBtn: true,
- addBtn: true,
+ addBtn: false,
viewBtn: true,
border: true,
index: true,
@@ -374,6 +374,11 @@ export default {
this.initDept()
this.onLoad(this.page, this.query)
},
+ activated() {
+ this.$nextTick(() => {
+ this.$refs.crud.refreshTable()
+ })
+ },
methods: {
async getDept() {
let params = {
diff --git a/vue.config.js b/vue.config.js
index 74507a2..fe2292a 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -24,7 +24,7 @@ module.exports = {
port: 1888,
proxy: {
"/api": {
- target: 'http://10.165.0.173:8000',
+ target: 'http://192.168.1.105:8000',
ws: true,
changeOrigin: true,
pathRewrite: {