flat:123
This commit is contained in:
@@ -104,3 +104,13 @@ export const transferDept =
|
||||
export const upload = () => {
|
||||
return `/api/jobslink-api/serve/group/import?isCovered=1`
|
||||
}
|
||||
|
||||
/*转移分组*/
|
||||
export const getServeListTalents =
|
||||
(params) => {
|
||||
return request({
|
||||
url: '/api/jobslink-api/serve/listTalents',
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
@@ -51,15 +51,15 @@
|
||||
<!--搜索栏-->
|
||||
<el-form size="small" label-position="right" :inline="true" style="padding-left: 10px; padding-right: 10px">
|
||||
<el-row :span="24">
|
||||
<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-option v-for="(item, key, index) in worktypeData" :key="index" :label="item.name"
|
||||
:value="item.name"></el-option>
|
||||
</el-select>
|
||||
<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-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">
|
||||
<el-button type="primary" size="small" icon="el-icon-search" @click="searchChange1">搜 索</el-button>
|
||||
@@ -87,7 +87,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<!--/自定义列-->
|
||||
<template slot="worktypesForm">
|
||||
<template slot="serveLabelsForm">
|
||||
<tag-select v-model="selectedWorkTypes" :prop="{ label: 'name', value: 'name' }" :data="worktypeData">
|
||||
</tag-select>
|
||||
</template>
|
||||
@@ -107,8 +107,45 @@
|
||||
|
||||
</template>
|
||||
<!--/自定义按钮-->
|
||||
<template slot-scope="{row,index}" slot="menu">
|
||||
<el-button type="text"
|
||||
icon="el-icon-document"
|
||||
size="small"
|
||||
@click="showKeyAudience(row)"
|
||||
>重点人群详情</el-button>
|
||||
</template>
|
||||
<!--/父子表-->
|
||||
</avue-crud>
|
||||
|
||||
<!-- / 重点人群详情 -->
|
||||
<el-dialog title="重点人群详情" :visible.sync="visibleAudience" :close-on-click-modal="false" append-to-body width="70%">
|
||||
<avue-crud
|
||||
:data="infoData"
|
||||
:option="infoOption"
|
||||
:page.sync="infoPage"
|
||||
@size-change="infoSizeChange"
|
||||
@current-change="infoCurrentChange"
|
||||
>
|
||||
<template slot-scope="{row,index}" slot="menu">
|
||||
<el-button type="text"
|
||||
icon="el-icon-document"
|
||||
size="small"
|
||||
@click=""
|
||||
>查看服务</el-button>
|
||||
<el-button type="text"
|
||||
icon="el-icon-document"
|
||||
size="small"
|
||||
@click=""
|
||||
>查看政策</el-button>
|
||||
<el-button type="text"
|
||||
icon="el-icon-document"
|
||||
size="small"
|
||||
@click=""
|
||||
>查看日志</el-button>
|
||||
</template>
|
||||
</avue-crud>
|
||||
</el-dialog>
|
||||
|
||||
<!--批量导入-->
|
||||
<el-dialog title="导入" append-to-body :visible.sync="excelBox" :close-on-click-modal="false" width="555px">
|
||||
<avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter"
|
||||
@@ -145,6 +182,7 @@ import {
|
||||
getDept,
|
||||
removeDept,
|
||||
upload,
|
||||
getServeListTalents
|
||||
} from "@/api/tenant/serve";
|
||||
import { getWorkTypes } from "@/api/tenant/common";
|
||||
import { mapGetters } from "vuex";
|
||||
@@ -155,7 +193,11 @@ 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";
|
||||
|
||||
const page = {
|
||||
pageSize: 10,
|
||||
currentPage: 1,
|
||||
total: 0,
|
||||
}
|
||||
export default {
|
||||
filters: {
|
||||
ellipsis(value) {
|
||||
@@ -184,11 +226,7 @@ export default {
|
||||
personTotal: 0,
|
||||
treeData: [],
|
||||
tenantId: "",
|
||||
page: {
|
||||
pageSize: 10,
|
||||
currentPage: 1,
|
||||
total: 0,
|
||||
},
|
||||
page: Object.assign({} ,page),
|
||||
tempWorkType: [],
|
||||
worktypeDic: {},
|
||||
arr: [],//////
|
||||
@@ -221,6 +259,10 @@ export default {
|
||||
},
|
||||
excelBox: false,
|
||||
data: [],
|
||||
visibleAudience: false,
|
||||
selectInfo: null,
|
||||
infoData: [],
|
||||
infoPage: Object.assign({} ,page),
|
||||
obj: {},
|
||||
excelForm: { isCovered: 1 },
|
||||
};
|
||||
@@ -297,7 +339,7 @@ export default {
|
||||
dialogClickModal: false,
|
||||
column: [
|
||||
{
|
||||
label: "姓名",
|
||||
label: "服务名",
|
||||
prop: "name",
|
||||
// search: true,
|
||||
span: 24,
|
||||
@@ -311,29 +353,29 @@ export default {
|
||||
],
|
||||
slot: true
|
||||
},
|
||||
{
|
||||
label: "身份证",
|
||||
prop: "idNumber",
|
||||
hide: true,
|
||||
span: 24,
|
||||
rules: [
|
||||
{ required: true, message: "请输入身份证号", trigger: "blur" },
|
||||
{ trigger: "blur", validator: IdCardNo },
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "手机号",
|
||||
prop: "telphone",
|
||||
span: 24,
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
validator: validateTel,
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
},
|
||||
// {
|
||||
// label: "身份证",
|
||||
// prop: "idNumber",
|
||||
// hide: true,
|
||||
// span: 24,
|
||||
// rules: [
|
||||
// { required: true, message: "请输入身份证号", trigger: "blur" },
|
||||
// { trigger: "blur", validator: IdCardNo },
|
||||
// ],
|
||||
// },
|
||||
// {
|
||||
// label: "手机号",
|
||||
// prop: "telphone",
|
||||
// span: 24,
|
||||
// hide: true,
|
||||
// rules: [
|
||||
// {
|
||||
// required: true,
|
||||
// validator: validateTel,
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
// },
|
||||
{
|
||||
label: "用户类型",
|
||||
prop: "userId",
|
||||
@@ -352,6 +394,18 @@ export default {
|
||||
hide: true,
|
||||
// search: true
|
||||
},
|
||||
{
|
||||
label: "标签",
|
||||
prop: "serveLabels",
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择标签",
|
||||
trigger: ["blur"],
|
||||
},
|
||||
],
|
||||
formslot: true,
|
||||
},
|
||||
{
|
||||
label: "分组",
|
||||
prop: "groupId",
|
||||
@@ -372,20 +426,20 @@ export default {
|
||||
],
|
||||
placeholder: "请选择 分组",
|
||||
},
|
||||
{
|
||||
label: "工种",
|
||||
prop: "worktypes",
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择工种",
|
||||
trigger: ["blur"],
|
||||
},
|
||||
],
|
||||
slot: true,
|
||||
formslot: true,
|
||||
span: 24,
|
||||
},
|
||||
// {
|
||||
// label: "工种",
|
||||
// prop: "worktypes",
|
||||
// rules: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: "请选择工种",
|
||||
// trigger: ["blur"],
|
||||
// },
|
||||
// ],
|
||||
// slot: true,
|
||||
// formslot: true,
|
||||
// span: 24,
|
||||
// },
|
||||
// {
|
||||
// label: "简历",
|
||||
// prop: "resume",
|
||||
@@ -405,13 +459,58 @@ export default {
|
||||
],
|
||||
};
|
||||
},
|
||||
infoOption() {
|
||||
return {
|
||||
editBtn: false,
|
||||
delBtn: false,
|
||||
addBtn: false,
|
||||
refreshBtn: false,
|
||||
height: '100',
|
||||
column: [
|
||||
{
|
||||
label: "社区街道名称",
|
||||
prop: "companyName",
|
||||
},
|
||||
{
|
||||
label: "姓名",
|
||||
prop: "name",
|
||||
},
|
||||
{
|
||||
label: "身份证",
|
||||
prop: "idNumber",
|
||||
},
|
||||
{
|
||||
label: "手机号",
|
||||
prop: "telphone",
|
||||
},
|
||||
{
|
||||
label: "用户类型",
|
||||
prop: "userId",
|
||||
},
|
||||
{
|
||||
label: "分组",
|
||||
prop: "groupId",
|
||||
},
|
||||
{
|
||||
label: "标签",
|
||||
prop: "labelsBase",
|
||||
},
|
||||
|
||||
{
|
||||
label: "备注",
|
||||
prop: "remarks",
|
||||
|
||||
},
|
||||
]
|
||||
}
|
||||
},
|
||||
selectedWorkTypes: {
|
||||
get() {
|
||||
if (!this.obj.worktypes) {
|
||||
if (!this.obj.serveLabels) {
|
||||
return [];
|
||||
}
|
||||
const result = [];
|
||||
const wt = this.obj.worktypes.split(",");
|
||||
const wt = this.obj.serveLabels.split(",");
|
||||
wt.forEach((item) => {
|
||||
result.push({ name: item });
|
||||
});
|
||||
@@ -422,7 +521,7 @@ export default {
|
||||
val.forEach((item) => {
|
||||
arr.push(item.name);
|
||||
});
|
||||
this.obj.worktypes = arr.join(",");
|
||||
this.obj.serveLabels = arr.join(",");
|
||||
},
|
||||
},
|
||||
worktypeData() {
|
||||
@@ -452,10 +551,57 @@ export default {
|
||||
this.getWorkTypes();
|
||||
},
|
||||
methods: {
|
||||
showKeyAudience(row) {
|
||||
this.selectInfo = row
|
||||
this.getKeyAudience({
|
||||
id: row.id
|
||||
})
|
||||
},
|
||||
getKeyAudience(params) {
|
||||
const _this = this
|
||||
return getServeListTalents(params).then((res) => {
|
||||
if(res.data.code === 200) {
|
||||
const {records, current, size, total} = res.data.data
|
||||
_this.infoData = records
|
||||
_this.visibleAudience = true
|
||||
_this.infoPage = {
|
||||
pageSize: size,
|
||||
currentPage: current,
|
||||
total: total,
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
infoSizeChange(pageSize) {
|
||||
const {currentPage, total} = this.infoPage
|
||||
this.getKeyAudience({
|
||||
pageSize: pageSize,
|
||||
currentPage: currentPage,
|
||||
total: total,
|
||||
id: this.selectInfo.id
|
||||
})
|
||||
},
|
||||
infoCurrentChange(currentPage) {
|
||||
const { pageSize, total} = this.infoPage
|
||||
this.getKeyAudience({
|
||||
pageSize: pageSize,
|
||||
currentPage: currentPage,
|
||||
total: total,
|
||||
id: this.selectInfo.id
|
||||
})
|
||||
},
|
||||
infoRefreshChange() {
|
||||
const { currentPage, pageSize, total} = this.infoPage
|
||||
this.getKeyAudience({
|
||||
pageSize: pageSize,
|
||||
currentPage: currentPage,
|
||||
total: total,
|
||||
id: this.selectInfo.id
|
||||
})
|
||||
},
|
||||
getWorkTypes() {
|
||||
|
||||
getWorkTypes().then((res) => {
|
||||
|
||||
getWorkTypes(1).then((res) => {
|
||||
for (let i = 0; i < res.data.data.length; i++) {
|
||||
const element = res.data.data[i];
|
||||
this.worktypeDic[element.name] = 1;
|
||||
@@ -600,7 +746,8 @@ export default {
|
||||
detail(this.obj.id).then(
|
||||
(res) => {
|
||||
this.obj = res.data.data;
|
||||
this.tempWorkType = this.obj.worktypes.split(",");
|
||||
// this.tempWorkType = this.obj.worktypes.split(",");
|
||||
this.tempWorkType = []
|
||||
done();
|
||||
},
|
||||
(error) => {
|
||||
@@ -619,9 +766,10 @@ export default {
|
||||
add({
|
||||
groupId: row.groupId,
|
||||
name: row.name,
|
||||
idNumber: row.idNumber,
|
||||
telphone: row.telphone,
|
||||
worktypes: row.worktypes,
|
||||
serveLabels: row.serveLabels,
|
||||
// idNumber: row.idNumber,
|
||||
// telphone: row.telphone,
|
||||
// worktypes: row.worktypes,
|
||||
remarks: row.remarks,
|
||||
}).then(
|
||||
() => {
|
||||
@@ -644,9 +792,10 @@ export default {
|
||||
id: row.id,
|
||||
groupId: row.groupId,
|
||||
name: row.name,
|
||||
idNumber: row.idNumber,
|
||||
telphone: row.telphone,
|
||||
worktypes: row.worktypes,
|
||||
serveLabels: row.serveLabels,
|
||||
// idNumber: row.idNumber,
|
||||
// telphone: row.telphone,
|
||||
// worktypes: row.worktypes,
|
||||
remarks: row.remarks,
|
||||
}).then(
|
||||
() => {
|
||||
|
||||
Reference in New Issue
Block a user