This commit is contained in:
dengxin
2024-02-21 20:08:55 +08:00
parent 43ac897859
commit f47507c7e6
3 changed files with 79 additions and 55 deletions

View File

@@ -1,55 +1,65 @@
import request from '@/router/axios';
import request from "@/router/axios";
import { validatenull } from "@/util/validate";
/*获取行业类型*/
export const getTrade = (companyId) => {
export const getTrade = companyId => {
return new Promise(function(resolve, reject) {
request({
url: '/api/jobslink-api/tenant/trade/base/all',
method: 'get',
url: "/api/jobslink-api/tenant/trade/base/all",
method: "get",
params: { companyId }
})
.then((resp) => {
.then(resp => {
const data = validatenull(resp.data.data) ? [] : resp.data.data;
resolve(data);
})
.catch(reject)
})
}
.catch(reject);
});
};
/*根据行业类型获取工种*/
export const getWork = (tradeId) => {
export const getWork = tradeId => {
return new Promise(function(resolve, reject) {
request({
url: '/api/jobslink-api/tenant/worktypes/base/getlist',
method: 'get',
url: "/api/jobslink-api/tenant/worktypes/base/getlist",
method: "get",
params: { tradeId }
})
.then((resp) => {
.then(resp => {
const data = validatenull(resp.data.data) ? [] : resp.data.data;
resolve(data);
})
.catch(reject)
})
}
.catch(reject);
});
};
/*根据工种获取技能列表*/
export const getSkillList = (worktypesId) => {
export const getSkillList = worktypesId => {
return request({
url: '/api/jobslink-api/tenant/skills/base/list',
method: 'get',
url: "/api/jobslink-api/tenant/skills/base/list",
method: "get",
params: {
worktypesId
}
})
}
});
};
/*获取企业工种*/
export const getWorkTypes = (type) => {
export const getWorkTypes = type => {
return request({
url: '/api/jobslink-api/tenant/worktypes/base/list',
method: 'get',
url: "/api/jobslink-api/tenant/worktypes/base/list",
method: "get",
params: {
type
}
})
}
});
};
/*获取标签列表*/
export const getLabelList = () => {
return request({
url: "/api/jobslink-api/label/listAll",
method: "get"
// params: {
// type
// }
});
};

View File

@@ -93,10 +93,10 @@
</template>
<!--自定义按钮-->
<template slot="menuLeft">
<el-button type="success" size="small" plain icon="el-icon-plus" @click="handleImport"
<!-- <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">转移分组</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>

View File

@@ -54,12 +54,15 @@
<el-form-item label="姓名:">
<el-input v-model="query.name" placeholder="姓名" clearable></el-input>
</el-form-item>
<el-form-item label="工种:">
<el-select v-model="query.worktypes" placeholder="工种" style="width: 100%" filterable clearable>
<el-form-item label="身份证:">
<el-input v-model="query.idNumber" placeholder="身份证" clearable></el-input>
</el-form-item>
<!-- <el-form-item label="标签:">
<el-select v-model="query.worktypes" placeholder="标签" style="width: 100%" filterable clearable>
<el-option v-for="(item, key, index) in worktypeData" :key="index" :label="item.name"
:value="item.name"></el-option>
</el-select>
</el-form-item>
</el-form-item> -->
<div class="searchBtn">
<el-button type="primary" size="small" icon="el-icon-search" @click="searchChange1"> </el-button>
@@ -74,9 +77,9 @@
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" class="customPage">
<!--自定义列-->
<template slot="worktypes" slot-scope="{ row }">
<el-tooltip effect="dark" :content="row.worktypes" placement="top">
<div>{{ row.worktypes | ellipsis }}</div>
<template slot="labelsBase" slot-scope="{ row }">
<el-tooltip effect="dark" :content="row.labelsBase" placement="top">
<div>{{ row.labelsBase | ellipsis }}</div>
</el-tooltip>
</template>
<template slot="resume" slot-scope="{ row }">
@@ -87,8 +90,8 @@
</div>
</template>
<!--/自定义列-->
<template slot="worktypesForm">
<tag-select v-model="selectedWorkTypes" :prop="{ label: 'name', value: 'name' }" :data="worktypeData">
<template slot="labelsBaseForm">
<tag-select v-model="selectedWorkTypes" :prop="{ label: 'name', value: 'name' }" :data="arr">
</tag-select>
</template>
<!--自定义按钮-->
@@ -102,8 +105,9 @@
删除</el-button>
</template>
<template slot="name" slot-scope="{row}">
<span v-if="row.status == 1">{{ row.name }}</span>
<span v-else>{{ row.name }}<span style="color: red;">未实名</span></span>
<span>{{ row.name }}</span>
<!-- <span v-if="row.status == 1">{{ row.name }}</span>
<span v-else>{{ row.name }}<span style="color: red;">未实名</span></span> -->
</template>
<!--/自定义按钮-->
@@ -124,7 +128,6 @@
<!--/批量导入-->
<!--新建 编辑分组dialog-->
<add-groups ref="addGroups" @refresh="refresh" :treeData="treeData"></add-groups>
<!--/新建 编辑分组dialog-->
<!--转移分组dialog-->
<transfer-groups ref="transferGroups" @refresh="refresh" :ids="ids"></transfer-groups>
<!--/转移分组dialog-->
@@ -146,7 +149,7 @@ import {
removeDept,
upload,
} from "@/api/tenant/talents";
import { getWorkTypes } from "@/api/tenant/common";
import { getWorkTypes, getLabelList } from "@/api/tenant/common";
import { mapGetters } from "vuex";
import addGroups from "./Dialog/addGroups";
import transferGroups from "./Dialog/transferGroups";
@@ -264,11 +267,11 @@ export default {
option() {
const self = this;
const IdCardNo = (rule, value, callback) => {
if (check18IdCardNo(value)) {
// if (check18IdCardNo(value)) {
callback();
} else {
callback(new Error("身份证格式不正确"));
}
// } else {
// callback(new Error("身份证格式不正确"));
// }
};
const validateTel = (rule, value, callback) => {
if (isvalidatemobile(value)[0]) {
@@ -373,12 +376,12 @@ export default {
placeholder: "请选择 分组",
},
{
label: "工种",
prop: "worktypes",
label: "标签",
prop: "labelsBase",
rules: [
{
required: true,
message: "请选择工种",
message: "请选择标签",
trigger: ["blur"],
},
],
@@ -407,11 +410,11 @@ export default {
},
selectedWorkTypes: {
get() {
if (!this.obj.worktypes) {
if (!this.obj.labelsBase) {
return [];
}
const result = [];
const wt = this.obj.worktypes.split(",");
const wt = this.obj.labelsBase.split(",");
wt.forEach((item) => {
result.push({ name: item });
});
@@ -422,7 +425,7 @@ export default {
val.forEach((item) => {
arr.push(item.name);
});
this.obj.worktypes = arr.join(",");
this.obj.labelsBase = arr.join(",");
},
},
worktypeData() {
@@ -449,7 +452,8 @@ export default {
},
created() {
this.initDept();
this.getWorkTypes();
// this.getWorkTypes();
this.getLabelList();
},
methods: {
getWorkTypes() {
@@ -464,6 +468,16 @@ export default {
}
});
},
getLabelList() {
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 };
});
console.log(this.arr, '----------------');
});
},
/*加载分组*/
initDept(groupId) {
getDept().then((res) => {
@@ -600,7 +614,7 @@ export default {
detail(this.obj.id).then(
(res) => {
this.obj = res.data.data;
this.tempWorkType = this.obj.worktypes.split(",");
this.tempWorkType = this.obj.labelsBase.split(",");
done();
},
(error) => {
@@ -621,7 +635,7 @@ export default {
name: row.name,
idNumber: row.idNumber,
telphone: row.telphone,
worktypes: row.worktypes,
labelsBase: row.labelsBase,
remarks: row.remarks,
}).then(
() => {
@@ -646,7 +660,7 @@ export default {
name: row.name,
idNumber: row.idNumber,
telphone: row.telphone,
worktypes: row.worktypes,
labelsBase: row.labelsBase,
remarks: row.remarks,
}).then(
() => {