政策页面添加标签

This commit is contained in:
dengxin
2024-02-22 11:48:54 +08:00
parent f616701db2
commit 6d1f44a611
2 changed files with 56 additions and 73 deletions

View File

@@ -34,10 +34,8 @@
</span> </span>
</el-tree> </el-tree>
<!-- v-show="vaildData(permission.tenant_wage_payroll_view, false)" --> <!-- v-show="vaildData(permission.tenant_wage_payroll_view, false)" -->
<div class="footer" style="padding-left: 6px"> <div class="footer" style="padding-left: 6px">
<el-button type="text" icon="el-icon-plus" @click="updateGroups('add')"> <el-button type="text" icon="el-icon-plus" @click="updateGroups('add')">新建分组</el-button>
新建分组</el-button>
</div> </div>
</el-scrollbar> </el-scrollbar>
</div> </div>
@@ -53,8 +51,8 @@
<!--搜索栏--> <!--搜索栏-->
<el-form size="small" label-position="right" :inline="true" style="padding-left: 10px; padding-right: 10px"> <el-form size="small" label-position="right" :inline="true" style="padding-left: 10px; padding-right: 10px">
<el-row :span="24"> <el-row :span="24">
<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.stype" placeholder="服务类型" style="width: 100%" filterable clearable> <el-select v-model="query.stype" placeholder="服务类型" style="width: 100%" filterable clearable>
@@ -62,12 +60,6 @@
:value="item.value"></el-option> :value="item.value"></el-option>
</el-select> </el-select>
</el-form-item> </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> -->
<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>
@@ -82,9 +74,10 @@
@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="labelName" slot-scope="{ row }">
<el-tooltip effect="dark" :content="row.worktypes" placement="top"> <el-tooltip effect="dark" placement="top">
<div>{{ row.worktypes | ellipsis }}</div> <div slot="content" v-for="(item, index) in row.labelNameArr" :key="index">{{ item }}<br /></div>
<div>{{ row.labelName | ellipsis }}</div>
</el-tooltip> </el-tooltip>
</template> </template>
<template slot="resume" slot-scope="{ row }"> <template slot="resume" slot-scope="{ row }">
@@ -95,8 +88,8 @@
</div> </div>
</template> </template>
<!--/自定义列--> <!--/自定义列-->
<template slot="worktypesForm"> <template slot="labelNameForm">
<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>
<!--自定义按钮--> <!--自定义按钮-->
@@ -111,8 +104,8 @@
</template> </template>
<template slot="name" slot-scope="{row}"> <template slot="name" slot-scope="{row}">
<span>{{ row.name }}</span> <span>{{ row.name }}</span>
<!-- <span v-if="row.status == 1">{{ row.name }}</span> --> <!-- <span v-if="row.status == 1">{{ row.name }}</span>
<!-- <span v-else>{{ row.name }}<span style="color: red;">未实名</span></span> --> <span v-else>{{ row.name }}<span style="color: red;">未实名</span></span> -->
</template> </template>
<!--/自定义按钮--> <!--/自定义按钮-->
@@ -133,7 +126,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-->
@@ -155,7 +147,7 @@ import {
removeDept, removeDept,
upload, upload,
} from "@/api/tenant/policy"; } from "@/api/tenant/policy";
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";
@@ -163,8 +155,8 @@ import Resume from "@/components/resume/index";
import { check18IdCardNo, isvalidatemobile, isExcel } from "@/util/validate"; import { check18IdCardNo, isvalidatemobile, isExcel } from "@/util/validate";
import { getTemplate } from "@/api/resource/template"; import { getTemplate } from "@/api/resource/template";
import ied from "@/views/util/import-error-dialog"; import ied from "@/views/util/import-error-dialog";
import { excelAccept } from "@/common/accept";
import { serviceType } from "@/common/dic"; import { serviceType } from "@/common/dic";
import { excelAccept } from "@/common/accept";
export default { export default {
filters: { filters: {
@@ -176,7 +168,7 @@ export default {
return value; return value;
}, },
}, },
name: "tenant_talents", name: "tenant_policy",
data() { data() {
return { return {
activeNames: "1", activeNames: "1",
@@ -275,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]) {
@@ -298,17 +290,17 @@ export default {
columnBtn: false, columnBtn: false,
searchBtn: true, searchBtn: true,
searchShow: true, searchShow: true,
viewBtn: true,
searchMenuSpan: 6, searchMenuSpan: 6,
border: true, border: true,
index: true, index: true,
viewBtn: true,
indexLabel: "序号", indexLabel: "序号",
selection: true, selection: true,
dialogType: "dialog", dialogType: "drawer",
dialogClickModal: false, dialogClickModal: false,
column: [ column: [
{ {
label: "标签名", label: "政策名",
prop: "name", prop: "name",
// search: true, // search: true,
span: 24, span: 24,
@@ -316,23 +308,13 @@ export default {
{ {
required: true, required: true,
whitespace: true, whitespace: true,
message: "请输入标签名", message: "请输入政策名",
trigger: "blur", trigger: "blur",
}, },
], ],
slot: true slot: true
}, },
// { // {
// label: "身份证",
// prop: "idNumber",
// hide: true,
// span: 24,
// rules: [
// { required: true, message: "请输入身份证号", trigger: "blur" },
// { trigger: "blur", validator: IdCardNo },
// ],
// },
// {
// label: "手机号", // label: "手机号",
// prop: "telphone", // prop: "telphone",
// span: 24, // span: 24,
@@ -403,20 +385,20 @@ export default {
], ],
placeholder: "请选择 服务类型", placeholder: "请选择 服务类型",
}, },
// { {
// label: "工种", label: "标签",
// prop: "worktypes", prop: "labelName",
// rules: [ rules: [
// { {
// required: true, required: true,
// message: "请选择工种", message: "请选择标签",
// trigger: ["blur"], trigger: ["blur"],
// }, },
// ], ],
// slot: true, slot: true,
// formslot: true, formslot: true,
// span: 24, span: 24,
// }, },
// { // {
// label: "简历", // label: "简历",
// prop: "resume", // prop: "resume",
@@ -438,11 +420,11 @@ export default {
}, },
selectedWorkTypes: { selectedWorkTypes: {
get() { get() {
if (!this.obj.worktypes) { if (!this.obj.labelName) {
return []; return [];
} }
const result = []; const result = [];
const wt = this.obj.worktypes.split(","); const wt = this.obj.labelName ? this.obj.labelName.split(",") : [];
wt.forEach((item) => { wt.forEach((item) => {
result.push({ name: item }); result.push({ name: item });
}); });
@@ -453,7 +435,7 @@ export default {
val.forEach((item) => { val.forEach((item) => {
arr.push(item.name); arr.push(item.name);
}); });
this.obj.worktypes = arr.join(","); this.obj.labelName = arr.join(",");
}, },
}, },
worktypeData() { worktypeData() {
@@ -481,6 +463,7 @@ export default {
created() { created() {
this.initDept(); this.initDept();
// this.getWorkTypes(); // this.getWorkTypes();
this.getLabelList();
}, },
methods: { methods: {
getWorkTypes() { getWorkTypes() {
@@ -495,6 +478,14 @@ 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 };
});
});
},
/*加载分组*/ /*加载分组*/
initDept(groupId) { initDept(groupId) {
getDept().then((res) => { getDept().then((res) => {
@@ -631,7 +622,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.labelName ? this.obj.labelName.split(",") : [];
done(); done();
}, },
(error) => { (error) => {
@@ -652,9 +643,8 @@ export default {
name: row.name, name: row.name,
idNumber: row.idNumber, idNumber: row.idNumber,
telphone: row.telphone, telphone: row.telphone,
worktypes: row.worktypes, labelName: row.labelName,
remarks: row.remarks, remarks: row.remarks,
stype: row.stype,
}).then( }).then(
() => { () => {
this.$message({ this.$message({
@@ -678,7 +668,7 @@ export default {
name: row.name, name: row.name,
idNumber: row.idNumber, idNumber: row.idNumber,
telphone: row.telphone, telphone: row.telphone,
worktypes: row.worktypes, labelName: row.labelName,
remarks: row.remarks, remarks: row.remarks,
}).then( }).then(
() => { () => {
@@ -898,15 +888,15 @@ export default {
/*加载人才列表 */ /*加载人才列表 */
onLoad(page, params = {}) { onLoad(page, params = {}) {
this.loading = true; this.loading = true;
console.log(this.query, '999999999999')
getList( getList(
page.currentPage, page.currentPage,
page.pageSize, page.pageSize,
Object.assign(params, this.query), Object.assign(params, this.query),
this.tenantId this.tenantId
).then((res) => { ).then((res) => {
res.data.data.records.forEach(item => {
item.labelNameArr = this.obj.labelName ? this.obj.labelName.split(",") : [];
})
const data = res.data.data; const data = res.data.data;
this.page.total = data.total; this.page.total = data.total;
this.data = data.records; this.data = data.records;

View File

@@ -57,12 +57,6 @@
<el-form-item label="身份证:"> <el-form-item label="身份证:">
<el-input v-model="query.idNumber" placeholder="请输入身份证" clearable></el-input> <el-input v-model="query.idNumber" placeholder="请输入身份证" clearable></el-input>
</el-form-item> </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> -->
<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>
@@ -297,7 +291,7 @@ export default {
index: true, index: true,
indexLabel: "序号", indexLabel: "序号",
selection: true, selection: true,
dialogType: "dialog", dialogType: "drawer",
dialogClickModal: false, dialogClickModal: false,
column: [ column: [
{ {
@@ -487,7 +481,6 @@ export default {
}); });
}, },
getLabelList() { getLabelList() {
getLabelList().then(async (res) => { getLabelList().then(async (res) => {
const arr = res.data.data.flatMap(obj => obj.child.map(item => item.concatName)); const arr = res.data.data.flatMap(obj => obj.child.map(item => item.concatName));
this.arr = arr.map(concatName => { this.arr = arr.map(concatName => {