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

View File

@@ -93,10 +93,10 @@
</template> </template>
<!--自定义按钮--> <!--自定义按钮-->
<template slot="menuLeft"> <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> v-show="vaildData(permission.tenant_talents_groupadd, false)">导入</el-button>
<el-button type="warning" size="small" plain :disabled="!selectionList.length" icon="el-icon-sort" <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" <el-button type="danger" size="small" icon="el-icon-delete" @click="handleDelete"
:disabled="!selectionList.length" plain v-show="vaildData(permission.tenant_talents_groupdelete, false)"> :disabled="!selectionList.length" plain v-show="vaildData(permission.tenant_talents_groupdelete, false)">
删除</el-button> 删除</el-button>

View File

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