flat: 暂存

This commit is contained in:
Apcallover
2024-06-12 15:27:14 +08:00
parent e77a6a774b
commit 9a61fca92f
8 changed files with 246 additions and 95 deletions

View File

@@ -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
})
}

View File

@@ -22,7 +22,7 @@
<span slot="footer" class="dialog-footer">
<slot name="footer"></slot>
<el-button @click="handleClose"> </el-button>
<el-button v-if="backBtnHide" :type="btnTypes[flagState]" @click="handleCancel"> </el-button>
<el-button v-if="backBtnHide" :type="btnTypes[flagState]" @click="handleCancel">{{ backText }}</el-button>
<el-button type="primary" @click="handleConfirm">{{ submitText }}</el-button>
</span>
</el-dialog>
@@ -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 {

View File

@@ -45,7 +45,8 @@
icon="el-icon-plus"
v-if="vaildData(permission.tenant_main_label_index_groupadd, false)"
@click="updateGroups('add')">
新建分组</el-button>
新建分组
</el-button>
</div>
</el-scrollbar>
</div>
@@ -98,7 +99,8 @@
<template slot="resume" slot-scope="{ row }">
<div>
<el-button type="text" size="mini" @click="$refs.resume.openDialog(row)"
v-if="row.userId && row.userId !== '0'">查看简历</el-button>
v-if="row.userId && row.userId !== '0'">查看简历
</el-button>
<div v-else>暂无简历</div>
</div>
</template>
@@ -110,12 +112,16 @@
<!--自定义按钮-->
<template slot="menuLeft">
<el-button type="success" size="small" plain icon="el-icon-plus" @click="handleImport"
v-show="vaildData(permission.tenant_talents_groupadd, false)">导入</el-button>
v-show="vaildData(permission.tenant_talents_groupadd, false)">导入
</el-button>
<el-button type="warning" size="small" plain :disabled="!selectionList.length" icon="el-icon-sort"
@click="handleTransfer">转移分组</el-button>
@click="handleTransfer">转移分组
</el-button>
<el-button type="danger" size="small" icon="el-icon-delete" @click="handleDelete"
:disabled="!selectionList.length" plain v-show="vaildData(permission.tenant_talents_groupdelete, false)">
删除</el-button>
:disabled="!selectionList.length" plain
v-show="vaildData(permission.tenant_talents_groupdelete, false)">
删除
</el-button>
</template>
<template slot="name" slot-scope="{row}">
<span>{{ row.name }}</span>
@@ -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",

View File

@@ -38,8 +38,10 @@
</el-tree>
<!-- v-show="vaildData(permission.tenant_wage_payroll_view, false)" -->
<div class="footer" style="padding-left: 6px">
<el-button type="text" icon="el-icon-plus" v-if="vaildData(permission.tenant_main_policy_index_groupadd, false)"
@click="updateGroups('add')">新建分组</el-button>
<el-button type="text" icon="el-icon-plus"
v-if="vaildData(permission.tenant_main_policy_index_groupadd, false)"
@click="updateGroups('add')">新建分组
</el-button>
</div>
</el-scrollbar>
</div>
@@ -81,15 +83,18 @@
<template slot="labelName" slot-scope="{ row }">
<el-tooltip effect="dark" placement="top">
<div slot="content">
<div v-for="(item, index) in clipStr(row.labelName)" :key="index"><div>{{item}}</div></div>
<div v-for="(item, index) in clipStr(row.labelName)" :key="index">
<div>{{ item }}</div>
</div>
<span>{{ row.labelName.length > 20 ? row.labelName.substring(0, 20) : row.labelName}}</span>
</div>
<span>{{ row.labelName.length > 20 ? row.labelName.substring(0, 20) : row.labelName }}</span>
</el-tooltip>
</template>
<template slot="resume" slot-scope="{ row }">
<div>
<el-button type="text" size="mini" @click="$refs.resume.openDialog(row)"
v-if="row.userId && row.userId !== '0'">查看简历</el-button>
v-if="row.userId && row.userId !== '0'">查看简历
</el-button>
<div v-else>暂无简历</div>
</div>
</template>
@@ -101,14 +106,16 @@
<template slot="policyFileUrlForm">
<div class="policyFileUrlWrapper">
<div class="uploadWrapperAb">
<!-- <avue-upload :action="action" :propsHttp="policyFileUrlHttpProps" v-model="policyFileUrl"></avue-upload>-->
<!-- <avue-upload :action="action" :propsHttp="policyFileUrlHttpProps" v-model="policyFileUrl"></avue-upload>-->
<el-upload
action="#"
ref="upload"
:show-file-list="false"
:http-request="allUpload"
:multiple="false"
><el-button size="small" type="primary">点击上传</el-button></el-upload>
>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</div>
<avue-input disabled v-model="policyFileUrl" placeholder="点击上传文件"></avue-input>
</div>
@@ -116,14 +123,16 @@
<template slot="guidelineFileUrlForm">
<div class="policyFileUrlWrapper">
<div class="uploadWrapperAb">
<!-- <avue-upload :action="action" :propsHttp="propsHttp" v-model="form"></avue-upload>-->
<!-- <avue-upload :action="action" :propsHttp="propsHttp" v-model="form"></avue-upload>-->
<el-upload
action="#"
ref="upload"
:show-file-list="false"
:http-request="allUploadGuideline"
:multiple="false"
><el-button size="small" type="primary">点击上传</el-button></el-upload>
>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</div>
<avue-input disabled v-model="guidelineFileUrl" placeholder="点击上传文件"></avue-input>
</div>
@@ -137,13 +146,17 @@
<!--自定义按钮-->
<template slot="menuLeft">
<!-- <el-button type="success" size="small" plain icon="el-icon-plus" @click="handleImport"-->
<!-- v-show="vaildData(permission.tenant_talents_groupadd, false)">导入</el-button>-->
<!-- <el-button type="success" size="small" plain icon="el-icon-plus" @click="handleImport"-->
<!-- v-show="vaildData(permission.tenant_talents_groupadd, false)">导入</el-button>-->
<el-button type="warning" size="small" plain :disabled="!selectionList.length" icon="el-icon-sort"
@click="handleTransfer" v-show="vaildData(permission.tenant_main_policy_transfergroup, false)">转移分组</el-button>
@click="handleTransfer" v-show="vaildData(permission.tenant_main_policy_transfergroup, false)">
转移分组
</el-button>
<el-button type="danger" size="small" icon="el-icon-delete" @click="handleDelete"
:disabled="!selectionList.length" plain v-show="vaildData(permission.tenant_main_policy_index_del, false)">
删除</el-button>
:disabled="!selectionList.length" plain
v-show="vaildData(permission.tenant_main_policy_index_del, false)">
删除
</el-button>
</template>
<template slot="name" slot-scope="{row}">
<span>{{ row.name }}</span>
@@ -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",
@@ -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
}

View File

@@ -539,6 +539,10 @@ export default {
trigger: "blur",
},
],
}, {
label: '服务名称',
prop: 'serveName',
display: false,
}, {
label: '服务发起人',
prop: 'fromName',

View File

@@ -101,11 +101,19 @@
<!-- >查看日志-->
<!-- </el-button>-->
<el-button type="text"
v-if="row.suspected === 0"
icon="el-icon-circle-check"
size="small"
@click="checkUserInfo(row)"
>剔除
</el-button>
<el-button type="text"
v-if="row.suspected === 1"
icon="el-icon-circle-check"
size="small"
@click="checkSuspected(row)"
>验证审核
</el-button>
</template>
<!--/自定义按钮-->
@@ -192,7 +200,27 @@
</div>
</template>
</PromptDialog>
<PromptDialog
:visible="checkDialog"
title="验证人员信息"
submit-text="已死亡"
back-text="未死亡"
:isInputInfo="false"
sub-title="请核对人员信息后再进行审核通过核验人员是否死亡审核记录在人员服务日志中可见"
:tips="[
'经查验确实死亡;',
'经查验未死亡;',
]"
@onClose="checkDialog = false; backInput = ''"
@onCancel="checkDialogCancel"
@onConfirm="checkDialogConfirm"
>
<template v-slot:header>
<div class="input_box" style="margin-top: 20px">
<el-input type="textarea" v-model="checkInput" placeholder="请输入备注"></el-input>
</div>
</template>
</PromptDialog>
</basic-container>
<ied ref="ied"></ied>
</el-col>
@@ -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

View File

@@ -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 = {

View File

@@ -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: {