flat: 添加期望薪资等等
This commit is contained in:
@@ -5,7 +5,7 @@ export const getList = (current, size, params, groupId) => {
|
||||
return request({
|
||||
url: "/api/jobslink-api/serve/list",
|
||||
method: "get",
|
||||
params: { ...params, current, size, groupId }
|
||||
params: {...params, current, size, groupId}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -14,7 +14,7 @@ export const getUserList = (current, size, params, groupId) => {
|
||||
return request({
|
||||
url: "/api/jobslink-api/serve/user/list",
|
||||
method: "get",
|
||||
params: { ...params, current, size, groupId }
|
||||
params: {...params, current, size, groupId}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -41,7 +41,7 @@ export const remove = ids => {
|
||||
return request({
|
||||
url: "/api/jobslink-api/serve/remove",
|
||||
method: "post",
|
||||
params: { ids }
|
||||
params: {ids}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -50,7 +50,7 @@ export const detail = id => {
|
||||
return request({
|
||||
url: "/api/jobslink-api/serve/detail",
|
||||
method: "get",
|
||||
params: { id }
|
||||
params: {id}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -104,7 +104,7 @@ export const removeDept = ids => {
|
||||
return request({
|
||||
url: "/api/jobslink-api/serve/group/remove",
|
||||
method: "post",
|
||||
params: { ids }
|
||||
params: {ids}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -113,7 +113,7 @@ export const transferDept = (groupIds, ids) => {
|
||||
return request({
|
||||
url: "/api/jobslink-api/serve/updateAllGroup",
|
||||
method: "post",
|
||||
params: { groupIds, ids }
|
||||
params: {groupIds, ids}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -205,11 +205,12 @@ export const getSearchAll = params =>
|
||||
method: "get",
|
||||
params: params
|
||||
});
|
||||
export const getSearchAllByUserId = params =>
|
||||
export const getSearchAllByUserId = (params, body) =>
|
||||
request({
|
||||
url: "/api/jobslink-api/serve/pushSearchList",
|
||||
method: "get",
|
||||
params: params
|
||||
method: "post",
|
||||
data: body,
|
||||
params: params,
|
||||
});
|
||||
|
||||
export const pushPolicyUserServe = params =>
|
||||
@@ -233,9 +234,31 @@ export const getListAllTalents = params =>
|
||||
params
|
||||
});
|
||||
|
||||
export const getListUserAllTalents = params =>
|
||||
export const getListUserAllTalents = params =>
|
||||
request({
|
||||
url: "/api/jobslink-api/serve/user/listAllTalents",
|
||||
method: "get",
|
||||
params
|
||||
});
|
||||
|
||||
export const addServeLog = data =>
|
||||
request({
|
||||
url: "/api/jobslink-api/tenant/mainserveuserlog/save",
|
||||
method: "post",
|
||||
data
|
||||
});
|
||||
|
||||
export const updateServeLog = data =>
|
||||
request({
|
||||
url: "/api/jobslink-api/tenant/mainserveuserlog/update",
|
||||
method: "post",
|
||||
data
|
||||
});
|
||||
|
||||
export const removeServeLog = data =>
|
||||
request({
|
||||
url: "/api/jobslink-api/tenant/mainserveuserlog/remove",
|
||||
method: "post",
|
||||
params: data
|
||||
});
|
||||
|
||||
|
||||
@@ -40,12 +40,15 @@ export default {
|
||||
county: {
|
||||
get() {
|
||||
if (this.value) {
|
||||
return this.value.split(this.splicer);
|
||||
console.log('enum', this.area)
|
||||
console.log('getvalue', this.value.split(this.splicer))
|
||||
return this.value.split(this.splicer).map((item) => item.replace(/\s+/g, ""));
|
||||
} else {
|
||||
return []
|
||||
}
|
||||
},
|
||||
set(val) {
|
||||
console.log('setvalue', val, val.join(this.splicer))
|
||||
this.$emit("input", val.join(this.splicer));
|
||||
},
|
||||
},
|
||||
|
||||
@@ -137,6 +137,9 @@ let leftUserOptions = {
|
||||
}, {
|
||||
label: '手机号',
|
||||
prop: 'telphone',
|
||||
}, {
|
||||
label: "求职意愿",
|
||||
prop: "willingJob",
|
||||
}, {
|
||||
label: "民族",
|
||||
prop: "aac005",
|
||||
|
||||
@@ -34,7 +34,8 @@
|
||||
<div class="footer" style="padding-left: 6px">
|
||||
<el-button type="text" icon="el-icon-plus"
|
||||
v-if="vaildData(permission.tenant_main_serve_index_groupadd, false)"
|
||||
@click="updateGroups('add')">新建分组</el-button>
|
||||
@click="updateGroups('add')">新建分组
|
||||
</el-button>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
@@ -68,7 +69,9 @@
|
||||
<template slot="worktypes" slot-scope="{ row }">
|
||||
<el-tooltip effect="dark" :content="row.worktypes" placement="top">
|
||||
<div slot="content">
|
||||
<div v-for="(item, index) in clipStr(row.worktypes)" :key="index"><div>{{item}}</div></div>
|
||||
<div v-for="(item, index) in clipStr(row.worktypes)" :key="index">
|
||||
<div>{{ item }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>{{ row.worktypes | ellipsis }}</div>
|
||||
</el-tooltip>
|
||||
@@ -86,16 +89,21 @@
|
||||
<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>
|
||||
<template slot="serveLabels" slot-scope="{ row }">
|
||||
<el-tooltip effect="dark" placement="top">
|
||||
<div slot="content">
|
||||
<div v-for="(item, index) in clipStr(row.serveLabels)" :key="index"><div>{{item}}</div></div>
|
||||
<div v-for="(item, index) in clipStr(row.serveLabels)" :key="index">
|
||||
<div>{{ item }}</div>
|
||||
</div>
|
||||
<span>{{ row.serveLabels.length > 20 ? `${row.serveLabels.substring(0, 20)}...` : row.serveLabels}}</span>
|
||||
</div>
|
||||
<span>{{
|
||||
row.serveLabels.length > 20 ? `${row.serveLabels.substring(0, 20)}...` : row.serveLabels
|
||||
}}</span>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
<!--/自定义列-->
|
||||
@@ -105,12 +113,16 @@
|
||||
</template>
|
||||
<!--自定义按钮-->
|
||||
<template slot="menuLeft">
|
||||
<el-button type="primary" size="small" icon="el-icon-delete" @click="() => { $refs.crud.rowAdd(); selectPolicyTree = []}"
|
||||
<el-button type="primary" size="small" icon="el-icon-edit"
|
||||
@click="() => { $refs.crud.rowAdd(); selectPolicyTree = []}"
|
||||
v-if="vaildData(permission.tenant_main_serve_index_add, false)">
|
||||
新增</el-button>
|
||||
新增
|
||||
</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>
|
||||
@@ -122,6 +134,7 @@
|
||||
:options="listAllPolicyTree"
|
||||
:props="{ expandTrigger: 'hover', multiple: true, label: 'name', value: 'value', children: 'child'}"
|
||||
@change="handleChange"
|
||||
filterable
|
||||
></el-cascader>
|
||||
</template>
|
||||
<!--/自定义按钮-->
|
||||
@@ -131,26 +144,30 @@
|
||||
size="small"
|
||||
v-show="vaildData(permission.tenant_main_serve_index_pushserve, false)"
|
||||
@click="selectPushService(row)"
|
||||
>推送服务</el-button>
|
||||
>推送服务
|
||||
</el-button>
|
||||
<el-button type="text"
|
||||
icon="el-icon-document"
|
||||
size="small"
|
||||
@click="showKeyAudience(row)"
|
||||
>服务详情</el-button>
|
||||
>服务详情
|
||||
</el-button>
|
||||
<el-button type="text"
|
||||
v-if="row.status == 0"
|
||||
icon="el-icon-video-play"
|
||||
size="small"
|
||||
v-show="vaildData(permission.tenant_main_serve_index_off, false)"
|
||||
@click="playServe(row)"
|
||||
>启用</el-button>
|
||||
>启用
|
||||
</el-button>
|
||||
<el-button type="text"
|
||||
v-if="row.status == 1"
|
||||
icon="el-icon-video-pause"
|
||||
size="small"
|
||||
v-show="vaildData(permission.tenant_main_serve_index_off, false)"
|
||||
@click="pauseServe(row)"
|
||||
>关闭</el-button>
|
||||
>关闭
|
||||
</el-button>
|
||||
</template>
|
||||
<template slot="talentsNamesForm" slot-scope="{row}">
|
||||
<el-button type="text"
|
||||
@@ -158,7 +175,8 @@
|
||||
icon="el-icon-video-pause"
|
||||
size="small"
|
||||
@click="pauseServe(row)"
|
||||
>关闭</el-button>
|
||||
>关闭
|
||||
</el-button>
|
||||
</template>
|
||||
<!--/父子表-->
|
||||
</avue-crud>
|
||||
@@ -211,17 +229,20 @@
|
||||
icon="el-icon-document"
|
||||
size="small"
|
||||
@click="matchWorkStation(row)"
|
||||
>匹配任务/岗位</el-button>
|
||||
>匹配任务/岗位
|
||||
</el-button>
|
||||
<el-button type="text"
|
||||
icon="el-icon-document"
|
||||
size="small"
|
||||
@click="matchPolicy(row)"
|
||||
>匹配政策</el-button>
|
||||
>匹配政策
|
||||
</el-button>
|
||||
<el-button type="text"
|
||||
icon="el-icon-document"
|
||||
size="small"
|
||||
@click="serveLog(row)"
|
||||
>服务日志</el-button>
|
||||
>服务日志
|
||||
</el-button>
|
||||
</template>
|
||||
</avue-crud>
|
||||
<el-drawer
|
||||
@@ -238,14 +259,15 @@
|
||||
@current-change="workCurrentChange"
|
||||
>
|
||||
<template slot="missionDesc" slot-scope="{ row }">
|
||||
<TextTooltip :content="row.missionDesc" ></TextTooltip>
|
||||
<TextTooltip :content="row.missionDesc"></TextTooltip>
|
||||
</template>
|
||||
<template slot-scope="{row,index}" slot="menu">
|
||||
<el-button type="text"
|
||||
icon="el-icon-document"
|
||||
size="small"
|
||||
@click="toWorkMissionDetail(row)"
|
||||
>查看详情</el-button>
|
||||
>查看详情
|
||||
</el-button>
|
||||
</template>
|
||||
</avue-crud>
|
||||
</el-drawer>
|
||||
@@ -265,22 +287,29 @@
|
||||
<template slot="policyContent" slot-scope="{ row }">
|
||||
<el-tooltip class="item" effect="dark" placement="top-start">
|
||||
<div slot="content">
|
||||
<div v-for="(item, index) in clipStr(row.policyContent)" :key="index"><div>{{item}}</div></div>
|
||||
<div v-for="(item, index) in clipStr(row.policyContent)" :key="index">
|
||||
<div>{{ item }}</div>
|
||||
</div>
|
||||
<span>{{ row.policyContent.length > 50 ? row.policyContent.substring(0, 50) : row.policyContent}}</span>
|
||||
</div>
|
||||
<span>{{ row.policyContent.length > 50 ? row.policyContent.substring(0, 50) : row.policyContent }}</span>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
<template slot="labelName" slot-scope="{ row }">
|
||||
<el-tooltip class="item" effect="dark" placement="top-start">
|
||||
<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 > 50 ? row.labelName.substring(0, 50) : row.labelName}}</span>
|
||||
</div>
|
||||
<span>{{ row.labelName.length > 50 ? row.labelName.substring(0, 50) : row.labelName }}</span>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
<template slot="labelNameForm" slot-scope="{row}">
|
||||
<div>
|
||||
<el-tag style="margin: 4px 10px" v-for="(item, index) in row.labelName.split(',')" :key="index">{{ item }}</el-tag>
|
||||
<el-tag style="margin: 4px 10px" v-for="(item, index) in row.labelName.split(',')" :key="index">{{
|
||||
item
|
||||
}}
|
||||
</el-tag>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -311,6 +340,9 @@
|
||||
:data="logData"
|
||||
:option="logOption"
|
||||
:page.sync="logPage"
|
||||
@row-save="saveLog"
|
||||
@row-update="saveUpdateLog"
|
||||
@row-del="removeLog"
|
||||
@size-change="logSizeChange"
|
||||
@current-change="logCurrentChange"
|
||||
>
|
||||
@@ -330,7 +362,7 @@
|
||||
:visible.sync="PushServiceVisible"
|
||||
:rowData="selectPushServiceData"
|
||||
></PushService>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -348,26 +380,27 @@ import {
|
||||
getMatchPolicy,
|
||||
getMatchServeList,
|
||||
getListAllPolicy,
|
||||
getListUserAllTalents
|
||||
getListUserAllTalents, addServeLog, updateServeLog, removeServeLog
|
||||
} from "@/api/tenant/serve";
|
||||
import { detail as missionDetail } from "@/api/tenant/mission";
|
||||
import { detail as workDetail } from "@/api/tenant/postzp";
|
||||
import {detail as missionDetail} from "@/api/tenant/mission";
|
||||
import {detail as workDetail} from "@/api/tenant/postzp";
|
||||
import {getLabelList, getWorkTypes} from "@/api/tenant/common";
|
||||
import { mapGetters } from "vuex";
|
||||
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 {excelAccept} from "@/common/accept";
|
||||
import missionView from "./missionView.vue";
|
||||
import workView from "./workMissionView.vue"
|
||||
import {serviceType} from "@/common/dic";
|
||||
import Tinymce from "@/components/Tinymce";
|
||||
import { deepClone } from "@/util/util";
|
||||
import {deepClone} from "@/util/util";
|
||||
import PushService from "@/views/tenant/main/serve/Dialog/pushService.vue";
|
||||
import TextTooltip from "@/components/text-tooltip/index.vue";
|
||||
|
||||
const page = {
|
||||
pageSize: 10,
|
||||
currentPage: 1,
|
||||
@@ -422,7 +455,7 @@ export default {
|
||||
personTotal: 0,
|
||||
treeData: [],
|
||||
tenantId: "",
|
||||
page: Object.assign({} ,page),
|
||||
page: Object.assign({}, page),
|
||||
tempWorkType: [],
|
||||
worktypeDic: {},
|
||||
arr: [],//////
|
||||
@@ -461,18 +494,19 @@ export default {
|
||||
workData: [],
|
||||
policyData: [],
|
||||
logData: [],
|
||||
infoPage: Object.assign({} ,page),
|
||||
workPage: Object.assign({} ,page),
|
||||
policyPage: Object.assign({} ,page),
|
||||
logPage: Object.assign({} ,page),
|
||||
infoPage: Object.assign({}, page),
|
||||
workPage: Object.assign({}, page),
|
||||
policyPage: Object.assign({}, page),
|
||||
logPage: Object.assign({}, page),
|
||||
obj: {},
|
||||
excelForm: { isCovered: 1 },
|
||||
excelForm: {isCovered: 1},
|
||||
listAllPolicyTree: [],
|
||||
selectPolicyTree: [],
|
||||
talentsList: []
|
||||
talentsList: [],
|
||||
selectUserServeLog: null,
|
||||
};
|
||||
},
|
||||
components: { addGroups, transferGroups, Resume, ied, missionView, workView, Tinymce, PushService, TextTooltip},
|
||||
components: {addGroups, transferGroups, Resume, ied, missionView, workView, Tinymce, PushService, TextTooltip},
|
||||
watch: {},
|
||||
computed: {
|
||||
...mapGetters(["permission"]),
|
||||
@@ -480,8 +514,8 @@ export default {
|
||||
return {
|
||||
addBtn: this.vaildData(this.permission.tenant_main_serve_index_add, false),
|
||||
viewBtn: true,
|
||||
delBtn: this.vaildData(this.permission.tenant_main_serve_index_del,false),
|
||||
editBtn: this.vaildData(this.permission.tenant_main_serve_index_edit, false ),
|
||||
delBtn: this.vaildData(this.permission.tenant_main_serve_index_del, false),
|
||||
editBtn: this.vaildData(this.permission.tenant_main_serve_index_edit, false),
|
||||
};
|
||||
},
|
||||
ids() {
|
||||
@@ -555,7 +589,7 @@ export default {
|
||||
{
|
||||
required: true,
|
||||
whitespace: true,
|
||||
message: "请输入姓名",
|
||||
message: "请输入服务名称",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
@@ -686,7 +720,7 @@ export default {
|
||||
indexLabel: "序号",
|
||||
refreshBtn: false,
|
||||
height: '100',
|
||||
viewBtn:true,
|
||||
viewBtn: true,
|
||||
dialogType: "drawer",
|
||||
column: [{
|
||||
label: '政策名称',
|
||||
@@ -726,7 +760,7 @@ export default {
|
||||
span: 12,
|
||||
hide: true,
|
||||
display: true,
|
||||
dicData: [{ name: "有效", value: 1 }, { name: "无效", value: 0 }],
|
||||
dicData: [{name: "有效", value: 1}, {name: "无效", value: 0}],
|
||||
props: {
|
||||
label: "name",
|
||||
value: "value",
|
||||
@@ -832,20 +866,23 @@ export default {
|
||||
height: '100',
|
||||
column: [{
|
||||
label: '服务时间',
|
||||
prop: 'createTime'
|
||||
},{
|
||||
prop: 'createTime',
|
||||
type: 'datetime',
|
||||
format: "yyyy-MM-dd HH:mm:ss",
|
||||
valueFormat: "yyyy-MM-dd HH:mm:ss",
|
||||
}, {
|
||||
label: '服务发起人',
|
||||
prop: 'fromName'
|
||||
},{
|
||||
}, {
|
||||
label: '服务对象',
|
||||
prop: 'toName'
|
||||
},{
|
||||
}, {
|
||||
label: '服务主题',
|
||||
prop: 'serveTheme'
|
||||
},{
|
||||
}, {
|
||||
label: '服务内容',
|
||||
prop: 'serveContent'
|
||||
},{
|
||||
}, {
|
||||
label: '备注说明',
|
||||
prop: 'bak1'
|
||||
}]
|
||||
@@ -900,7 +937,7 @@ export default {
|
||||
const result = [];
|
||||
const wt = this.obj.serveLabels ? this.obj.serveLabels.split(",") : [];
|
||||
wt.forEach((item) => {
|
||||
result.push({ name: item });
|
||||
result.push({name: item});
|
||||
});
|
||||
return result;
|
||||
},
|
||||
@@ -917,13 +954,13 @@ 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 (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;
|
||||
@@ -937,18 +974,82 @@ export default {
|
||||
this.ListAllTalents()
|
||||
},
|
||||
methods: {
|
||||
workSizeChange() {},
|
||||
workCurrentChange() {},
|
||||
async saveLog(row, index, done, loading) {
|
||||
console.log(row)
|
||||
let params = {
|
||||
...row,
|
||||
serveId: this.selectUserServeLog.serveId,
|
||||
serveUserId: this.selectUserServeLog.serveUserId,
|
||||
}
|
||||
let resData = await addServeLog(params)
|
||||
done()
|
||||
if (resData.data.code === 200) {
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: "添加成功!",
|
||||
});
|
||||
this.serveLog(this.selectUserServeLog)
|
||||
}
|
||||
},
|
||||
async saveUpdateLog(row, index, done, loading) {
|
||||
let params = {
|
||||
id: row.id,
|
||||
createTime: row.createTime,
|
||||
fromName: row.fromName,
|
||||
toName: row.toName,
|
||||
serveTheme: row.serveTheme,
|
||||
serveContent: row.serveContent,
|
||||
bak1: row.bak1,
|
||||
}
|
||||
let resData = await updateServeLog(params)
|
||||
done()
|
||||
if (resData.data.code === 200) {
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: "修改成功!",
|
||||
});
|
||||
this.serveLog(this.selectUserServeLog)
|
||||
}
|
||||
},
|
||||
removeLog(row, index, done, loading) {
|
||||
this.$confirm("确定将选择数据删除?", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
return removeServeLog({ids: row.id});
|
||||
})
|
||||
.then(() => {
|
||||
this.serveLog(this.selectUserServeLog)
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: "操作成功!",
|
||||
});
|
||||
});
|
||||
},
|
||||
workSizeChange() {
|
||||
},
|
||||
workCurrentChange() {
|
||||
},
|
||||
logSizeChange(pageSize) {
|
||||
this.logPage.pageSize = pageSize;
|
||||
this.serveLog(this.selectUserServeLog)
|
||||
},
|
||||
logCurrentChange(currentPage) {
|
||||
this.logPage.currentPage = currentPage;
|
||||
this.serveLog(this.selectUserServeLog)
|
||||
},
|
||||
async ListAllTalents() {
|
||||
let resData = await getListUserAllTalents()
|
||||
if(resData.data.code === 200) {
|
||||
if (resData.data.code === 200) {
|
||||
this.talentsList = resData.data.data
|
||||
}
|
||||
},
|
||||
selectPushService(row) {
|
||||
console.log('点击')
|
||||
detail(row.id).then((res) => {
|
||||
if(res.data.code === 200) {
|
||||
if (res.data.code === 200) {
|
||||
this.selectPushServiceData = res.data.data
|
||||
this.PushServiceVisible = true
|
||||
}
|
||||
@@ -961,7 +1062,7 @@ export default {
|
||||
},
|
||||
async getListAllPolicyTree() {
|
||||
let resData = await getListAllPolicy({})
|
||||
if(resData.data.code === 200) {
|
||||
if (resData.data.code === 200) {
|
||||
this.listAllPolicyTree = resData.data.data
|
||||
}
|
||||
},
|
||||
@@ -971,16 +1072,16 @@ 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
|
||||
}
|
||||
return [str]
|
||||
},
|
||||
getLabelList() {
|
||||
getLabelList().then( (res) => {
|
||||
getLabelList().then((res) => {
|
||||
const arr = res.data.data.flatMap(obj => obj.child.map(item => item.concatName));
|
||||
this.arr = arr.map(concatName => {
|
||||
this.worktypeDic[concatName] = 1;
|
||||
@@ -998,7 +1099,7 @@ export default {
|
||||
getKeyAudience(params) {
|
||||
const _this = this
|
||||
return getServeListTalents(params).then((res) => {
|
||||
if(res.data.code === 200) {
|
||||
if (res.data.code === 200) {
|
||||
const {records, current, size, total} = res.data.data
|
||||
_this.infoData = records
|
||||
_this.visibleAudience = true
|
||||
@@ -1020,7 +1121,7 @@ export default {
|
||||
})
|
||||
},
|
||||
infoCurrentChange(currentPage) {
|
||||
const { pageSize, total} = this.infoPage
|
||||
const {pageSize, total} = this.infoPage
|
||||
this.getKeyAudience({
|
||||
pageSize: pageSize,
|
||||
current: currentPage,
|
||||
@@ -1029,7 +1130,7 @@ export default {
|
||||
})
|
||||
},
|
||||
infoRefreshChange() {
|
||||
const { currentPage, pageSize, total} = this.infoPage
|
||||
const {currentPage, pageSize, total} = this.infoPage
|
||||
this.getKeyAudience({
|
||||
pageSize: pageSize,
|
||||
current: currentPage,
|
||||
@@ -1069,13 +1170,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;
|
||||
@@ -1092,8 +1193,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",
|
||||
@@ -1190,11 +1291,11 @@ export default {
|
||||
}
|
||||
},
|
||||
treeIteration(tree, ids) {
|
||||
if( !(tree.length && ids.length) ) return;
|
||||
if (!(tree.length && ids.length)) return;
|
||||
let arr = []
|
||||
tree.forEach((treeItem) => {
|
||||
treeItem.child.forEach((item) => {
|
||||
if(ids.some((id) => item.value === id)) {
|
||||
if (ids.some((id) => item.value === id)) {
|
||||
arr.push([treeItem.value, item.value])
|
||||
}
|
||||
})
|
||||
@@ -1260,8 +1361,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",
|
||||
@@ -1314,7 +1415,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",
|
||||
@@ -1470,7 +1571,7 @@ export default {
|
||||
).then((res) => {
|
||||
const data = res.data.data;
|
||||
this.page.total = data.total;
|
||||
console.log( data.records)
|
||||
console.log(data.records)
|
||||
this.data = data.records.map((item) => ({
|
||||
...item, talentsGroupId: item.talentsGroupId.split(',')
|
||||
}));
|
||||
@@ -1481,7 +1582,11 @@ export default {
|
||||
// 匹配任务和岗位
|
||||
matchWorkStation(row) {
|
||||
console.log('匹配任务和岗位')
|
||||
getMatchWorkStation({serveUserId: row.serveUserId, serveId: this.selectInfo.id, companyId: this.selectInfo.companyId}).then(res => {
|
||||
getMatchWorkStation({
|
||||
serveUserId: row.serveUserId,
|
||||
serveId: this.selectInfo.id,
|
||||
companyId: this.selectInfo.companyId
|
||||
}).then(res => {
|
||||
const {records, current, size, total} = res.data.data
|
||||
this.innerDrawer1 = true
|
||||
this.workData = records
|
||||
@@ -1510,7 +1615,14 @@ export default {
|
||||
// 服务日志
|
||||
serveLog(row) {
|
||||
console.log('服务日志')
|
||||
getMatchServeList({id: row.id, serveId: this.selectInfo.id, companyId: this.selectInfo.companyId, current: 1, size: 10}).then(res => {
|
||||
this.selectUserServeLog = row
|
||||
getMatchServeList({
|
||||
id: row.id,
|
||||
serveId: this.selectInfo.id,
|
||||
companyId: this.selectInfo.companyId,
|
||||
current: this.logPage.currentPage,
|
||||
size: this.logPage.pageSize
|
||||
}).then(res => {
|
||||
let _this = this;
|
||||
const {records, current, size, total} = res.data.data
|
||||
_this.logData = records
|
||||
@@ -1539,12 +1651,12 @@ export default {
|
||||
},
|
||||
/*查看*/
|
||||
toWorkMissionDetail(row) {
|
||||
if(row.type == 0) {
|
||||
if (row.type == 0) {
|
||||
missionDetail(row.missionNo).then((res) => {
|
||||
this.viewDrawer = true;
|
||||
this.view = res;
|
||||
});
|
||||
} else if(row.type == 1) {
|
||||
} else if (row.type == 1) {
|
||||
workDetail(row.id).then(res => {
|
||||
this.workViewDrawer = true;
|
||||
this.workViewModel = res;
|
||||
@@ -1593,11 +1705,11 @@ export default {
|
||||
},
|
||||
addNewLog() {
|
||||
console.log('add log')
|
||||
this.$router.push({ name: '添加/修改日志log', params: { type: 'add', id: null } })
|
||||
this.$router.push({name: '添加/修改日志log', params: {type: 'add', id: null}})
|
||||
},
|
||||
editLogInfo() {
|
||||
console.log('edit log')
|
||||
this.$router.push({ name: '添加/修改日志log', params: { type: 'edit', id: null } })
|
||||
this.$router.push({name: '添加/修改日志log', params: {type: 'edit', id: null}})
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
@@ -402,6 +402,22 @@ export default {
|
||||
],
|
||||
span: 24,
|
||||
},
|
||||
{
|
||||
label: "求职意愿",
|
||||
prop: "willingJob",
|
||||
span: 24,
|
||||
rules: [
|
||||
{required: true, message: "请输入求职意愿", trigger: "blur"},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "期望薪资",
|
||||
prop: "wage",
|
||||
span: 24,
|
||||
rules: [
|
||||
{required: true, message: "请输入期望薪资", trigger: "blur"},
|
||||
],
|
||||
},
|
||||
// {
|
||||
// label: "经办时间",
|
||||
// prop: "aae036",
|
||||
|
||||
@@ -137,6 +137,9 @@ let leftUserOptions = {
|
||||
}, {
|
||||
label: '手机号',
|
||||
prop: 'telphone',
|
||||
}, {
|
||||
label: "求职意愿",
|
||||
prop: "willingJob",
|
||||
}, {
|
||||
label: "民族",
|
||||
prop: "aac005",
|
||||
@@ -436,13 +439,18 @@ export default {
|
||||
async getRightSearchByUserId() {
|
||||
const {currentPage, size} = this.rightPages
|
||||
const ids = this.leftUserSelections.map(item => item.userId).join(',');
|
||||
const willingJobs = this.leftUserSelections.map(item => item.willingJob);
|
||||
const createTime = Date.now() + 3000
|
||||
this.rightLoading = true
|
||||
let params = {
|
||||
ids, current: currentPage,
|
||||
size,
|
||||
}
|
||||
let resData = await getSearchAllByUserId(params)
|
||||
let paramsBody = {
|
||||
willingJobs: willingJobs
|
||||
}
|
||||
console.log(params, paramsBody)
|
||||
let resData = await getSearchAllByUserId(params, paramsBody)
|
||||
if (resData.data.code === 200) {
|
||||
const timed = createTime - Date.now() > 0 ? createTime - Date.now() : 0
|
||||
setTimeout(() => {
|
||||
|
||||
@@ -34,7 +34,8 @@
|
||||
<div class="footer" style="padding-left: 6px">
|
||||
<el-button type="text" icon="el-icon-plus"
|
||||
v-if="vaildData(permission.tenant_main_serve_index_groupadd, false)"
|
||||
@click="updateGroups('add')">新建分组</el-button>
|
||||
@click="updateGroups('add')">新建分组
|
||||
</el-button>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
@@ -68,7 +69,9 @@
|
||||
<template slot="worktypes" slot-scope="{ row }">
|
||||
<el-tooltip effect="dark" :content="row.worktypes" placement="top">
|
||||
<div slot="content">
|
||||
<div v-for="(item, index) in clipStr(row.worktypes)" :key="index"><div>{{item}}</div></div>
|
||||
<div v-for="(item, index) in clipStr(row.worktypes)" :key="index">
|
||||
<div>{{ item }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>{{ row.worktypes | ellipsis }}</div>
|
||||
</el-tooltip>
|
||||
@@ -86,16 +89,21 @@
|
||||
<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>
|
||||
<template slot="serveLabels" slot-scope="{ row }">
|
||||
<el-tooltip effect="dark" placement="top">
|
||||
<div slot="content">
|
||||
<div v-for="(item, index) in clipStr(row.serveLabels)" :key="index"><div>{{item}}</div></div>
|
||||
<div v-for="(item, index) in clipStr(row.serveLabels)" :key="index">
|
||||
<div>{{ item }}</div>
|
||||
</div>
|
||||
<span>{{ row.serveLabels.length > 20 ? `${row.serveLabels.substring(0, 20)}...` : row.serveLabels}}</span>
|
||||
</div>
|
||||
<span>{{
|
||||
row.serveLabels.length > 20 ? `${row.serveLabels.substring(0, 20)}...` : row.serveLabels
|
||||
}}</span>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
<!--/自定义列-->
|
||||
@@ -105,12 +113,16 @@
|
||||
</template>
|
||||
<!--自定义按钮-->
|
||||
<template slot="menuLeft">
|
||||
<el-button type="primary" size="small" icon="el-icon-delete" @click="() => { $refs.crud.rowAdd(); selectPolicyTree = []}"
|
||||
<el-button type="primary" size="small" icon="el-icon-delete"
|
||||
@click="() => { $refs.crud.rowAdd(); selectPolicyTree = []}"
|
||||
v-if="vaildData(permission.tenant_main_serve_index_add, false)">
|
||||
新增</el-button>
|
||||
新增
|
||||
</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>
|
||||
@@ -122,6 +134,7 @@
|
||||
:options="listAllPolicyTree"
|
||||
:props="{ expandTrigger: 'hover', multiple: true, label: 'name', value: 'value', children: 'child'}"
|
||||
@change="handleChange"
|
||||
filterable
|
||||
></el-cascader>
|
||||
</template>
|
||||
<!--/自定义按钮-->
|
||||
@@ -131,26 +144,30 @@
|
||||
size="small"
|
||||
v-show="vaildData(permission.tenant_main_serve_index_pushserve, false)"
|
||||
@click="selectPushService(row)"
|
||||
>推送服务</el-button>
|
||||
>推送服务
|
||||
</el-button>
|
||||
<el-button type="text"
|
||||
icon="el-icon-document"
|
||||
size="small"
|
||||
@click="showKeyAudience(row)"
|
||||
>服务详情</el-button>
|
||||
>服务详情
|
||||
</el-button>
|
||||
<el-button type="text"
|
||||
v-if="row.status == 0"
|
||||
icon="el-icon-video-play"
|
||||
size="small"
|
||||
v-show="vaildData(permission.tenant_main_serve_index_off, false)"
|
||||
@click="playServe(row)"
|
||||
>启用</el-button>
|
||||
>启用
|
||||
</el-button>
|
||||
<el-button type="text"
|
||||
v-if="row.status == 1"
|
||||
icon="el-icon-video-pause"
|
||||
size="small"
|
||||
v-show="vaildData(permission.tenant_main_serve_index_off, false)"
|
||||
@click="pauseServe(row)"
|
||||
>关闭</el-button>
|
||||
>关闭
|
||||
</el-button>
|
||||
</template>
|
||||
<template slot="talentsNamesForm" slot-scope="{row}">
|
||||
<el-button type="text"
|
||||
@@ -158,7 +175,8 @@
|
||||
icon="el-icon-video-pause"
|
||||
size="small"
|
||||
@click="pauseServe(row)"
|
||||
>关闭</el-button>
|
||||
>关闭
|
||||
</el-button>
|
||||
</template>
|
||||
<!--/父子表-->
|
||||
</avue-crud>
|
||||
@@ -211,17 +229,20 @@
|
||||
icon="el-icon-document"
|
||||
size="small"
|
||||
@click="matchWorkStation(row)"
|
||||
>匹配任务/岗位</el-button>
|
||||
>匹配任务/岗位
|
||||
</el-button>
|
||||
<el-button type="text"
|
||||
icon="el-icon-document"
|
||||
size="small"
|
||||
@click="matchPolicy(row)"
|
||||
>匹配政策</el-button>
|
||||
>匹配政策
|
||||
</el-button>
|
||||
<el-button type="text"
|
||||
icon="el-icon-document"
|
||||
size="small"
|
||||
@click="serveLog(row)"
|
||||
>服务日志</el-button>
|
||||
>服务日志
|
||||
</el-button>
|
||||
</template>
|
||||
</avue-crud>
|
||||
<el-drawer
|
||||
@@ -238,14 +259,15 @@
|
||||
@current-change="workCurrentChange"
|
||||
>
|
||||
<template slot="missionDesc" slot-scope="{ row }">
|
||||
<TextTooltip :content="row.missionDesc" ></TextTooltip>
|
||||
<TextTooltip :content="row.missionDesc"></TextTooltip>
|
||||
</template>
|
||||
<template slot-scope="{row,index}" slot="menu">
|
||||
<el-button type="text"
|
||||
icon="el-icon-document"
|
||||
size="small"
|
||||
@click="toWorkMissionDetail(row)"
|
||||
>查看详情</el-button>
|
||||
>查看详情
|
||||
</el-button>
|
||||
</template>
|
||||
</avue-crud>
|
||||
</el-drawer>
|
||||
@@ -265,22 +287,29 @@
|
||||
<template slot="policyContent" slot-scope="{ row }">
|
||||
<el-tooltip class="item" effect="dark" placement="top-start">
|
||||
<div slot="content">
|
||||
<div v-for="(item, index) in clipStr(row.policyContent)" :key="index"><div>{{item}}</div></div>
|
||||
<div v-for="(item, index) in clipStr(row.policyContent)" :key="index">
|
||||
<div>{{ item }}</div>
|
||||
</div>
|
||||
<span>{{ row.policyContent.length > 50 ? row.policyContent.substring(0, 50) : row.policyContent}}</span>
|
||||
</div>
|
||||
<span>{{ row.policyContent.length > 50 ? row.policyContent.substring(0, 50) : row.policyContent }}</span>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
<template slot="labelName" slot-scope="{ row }">
|
||||
<el-tooltip class="item" effect="dark" placement="top-start">
|
||||
<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 > 50 ? row.labelName.substring(0, 50) : row.labelName}}</span>
|
||||
</div>
|
||||
<span>{{ row.labelName.length > 50 ? row.labelName.substring(0, 50) : row.labelName }}</span>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
<template slot="labelNameForm" slot-scope="{row}">
|
||||
<div>
|
||||
<el-tag style="margin: 4px 10px" v-for="(item, index) in row.labelName.split(',')" :key="index">{{ item }}</el-tag>
|
||||
<el-tag style="margin: 4px 10px" v-for="(item, index) in row.labelName.split(',')" :key="index">{{
|
||||
item
|
||||
}}
|
||||
</el-tag>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -310,6 +339,9 @@
|
||||
<avue-crud
|
||||
:data="logData"
|
||||
:option="logOption"
|
||||
@row-save="saveLog"
|
||||
@row-update="saveUpdateLog"
|
||||
@row-del="removeLog"
|
||||
:page.sync="logPage"
|
||||
@size-change="logSizeChange"
|
||||
@current-change="logCurrentChange"
|
||||
@@ -330,7 +362,7 @@
|
||||
:visible.sync="PushServiceVisible"
|
||||
:rowData="selectPushServiceData"
|
||||
></PushService>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -348,26 +380,30 @@ import {
|
||||
getMatchPolicy,
|
||||
getMatchServeList,
|
||||
getListAllPolicy,
|
||||
getListAllTalents
|
||||
getListAllTalents,
|
||||
addServeLog,
|
||||
updateServeLog,
|
||||
removeServeLog
|
||||
} from "@/api/tenant/serve";
|
||||
import { detail as missionDetail } from "@/api/tenant/mission";
|
||||
import { detail as workDetail } from "@/api/tenant/postzp";
|
||||
import {detail as missionDetail} from "@/api/tenant/mission";
|
||||
import {detail as workDetail} from "@/api/tenant/postzp";
|
||||
import {getLabelList, getWorkTypes} from "@/api/tenant/common";
|
||||
import { mapGetters } from "vuex";
|
||||
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 {excelAccept} from "@/common/accept";
|
||||
import missionView from "../../mission/Table/missionView.vue";
|
||||
import workView from "../../works/Table/missionView.vue"
|
||||
import {serviceType} from "@/common/dic";
|
||||
import Tinymce from "@/components/Tinymce";
|
||||
import { deepClone } from "@/util/util";
|
||||
import {deepClone} from "@/util/util";
|
||||
import PushService from "@/views/tenant/main/serve/Dialog/pushService.vue";
|
||||
import TextTooltip from "@/components/text-tooltip/index.vue";
|
||||
|
||||
const page = {
|
||||
pageSize: 10,
|
||||
currentPage: 1,
|
||||
@@ -422,7 +458,7 @@ export default {
|
||||
personTotal: 0,
|
||||
treeData: [],
|
||||
tenantId: "",
|
||||
page: Object.assign({} ,page),
|
||||
page: Object.assign({}, page),
|
||||
tempWorkType: [],
|
||||
worktypeDic: {},
|
||||
arr: [],//////
|
||||
@@ -461,18 +497,19 @@ export default {
|
||||
workData: [],
|
||||
policyData: [],
|
||||
logData: [],
|
||||
infoPage: Object.assign({} ,page),
|
||||
workPage: Object.assign({} ,page),
|
||||
policyPage: Object.assign({} ,page),
|
||||
logPage: Object.assign({} ,page),
|
||||
infoPage: Object.assign({}, page),
|
||||
workPage: Object.assign({}, page),
|
||||
policyPage: Object.assign({}, page),
|
||||
logPage: Object.assign({}, page),
|
||||
obj: {},
|
||||
excelForm: { isCovered: 1 },
|
||||
excelForm: {isCovered: 1},
|
||||
listAllPolicyTree: [],
|
||||
selectPolicyTree: [],
|
||||
talentsList: []
|
||||
talentsList: [],
|
||||
selectUserServeLog: null,
|
||||
};
|
||||
},
|
||||
components: { addGroups, transferGroups, Resume, ied, missionView, workView, Tinymce, PushService, TextTooltip},
|
||||
components: {addGroups, transferGroups, Resume, ied, missionView, workView, Tinymce, PushService, TextTooltip},
|
||||
watch: {},
|
||||
computed: {
|
||||
...mapGetters(["permission"]),
|
||||
@@ -480,8 +517,8 @@ export default {
|
||||
return {
|
||||
addBtn: this.vaildData(this.permission.tenant_main_serve_index_add, false),
|
||||
viewBtn: true,
|
||||
delBtn: this.vaildData(this.permission.tenant_main_serve_index_del,false),
|
||||
editBtn: this.vaildData(this.permission.tenant_main_serve_index_edit, false ),
|
||||
delBtn: this.vaildData(this.permission.tenant_main_serve_index_del, false),
|
||||
editBtn: this.vaildData(this.permission.tenant_main_serve_index_edit, false),
|
||||
};
|
||||
},
|
||||
ids() {
|
||||
@@ -686,7 +723,7 @@ export default {
|
||||
indexLabel: "序号",
|
||||
refreshBtn: false,
|
||||
height: '100',
|
||||
viewBtn:true,
|
||||
viewBtn: true,
|
||||
dialogType: "drawer",
|
||||
column: [{
|
||||
label: '政策名称',
|
||||
@@ -726,7 +763,7 @@ export default {
|
||||
span: 12,
|
||||
hide: true,
|
||||
display: true,
|
||||
dicData: [{ name: "有效", value: 1 }, { name: "无效", value: 0 }],
|
||||
dicData: [{name: "有效", value: 1}, {name: "无效", value: 0}],
|
||||
props: {
|
||||
label: "name",
|
||||
value: "value",
|
||||
@@ -832,20 +869,23 @@ export default {
|
||||
height: '100',
|
||||
column: [{
|
||||
label: '服务时间',
|
||||
prop: 'createTime'
|
||||
},{
|
||||
prop: 'createTime',
|
||||
type: 'datetime',
|
||||
format: "yyyy-MM-dd HH:mm:ss",
|
||||
valueFormat: "yyyy-MM-dd HH:mm:ss",
|
||||
}, {
|
||||
label: '服务发起人',
|
||||
prop: 'fromName'
|
||||
},{
|
||||
}, {
|
||||
label: '服务对象',
|
||||
prop: 'toName'
|
||||
},{
|
||||
}, {
|
||||
label: '服务主题',
|
||||
prop: 'serveTheme'
|
||||
},{
|
||||
}, {
|
||||
label: '服务内容',
|
||||
prop: 'serveContent'
|
||||
},{
|
||||
}, {
|
||||
label: '备注说明',
|
||||
prop: 'bak1'
|
||||
}]
|
||||
@@ -900,7 +940,7 @@ export default {
|
||||
const result = [];
|
||||
const wt = this.obj.serveLabels ? this.obj.serveLabels.split(",") : [];
|
||||
wt.forEach((item) => {
|
||||
result.push({ name: item });
|
||||
result.push({name: item});
|
||||
});
|
||||
return result;
|
||||
},
|
||||
@@ -917,13 +957,13 @@ 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 (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;
|
||||
@@ -937,18 +977,81 @@ export default {
|
||||
this.ListAllTalents()
|
||||
},
|
||||
methods: {
|
||||
workSizeChange() {},
|
||||
workCurrentChange() {},
|
||||
async saveLog(row, index, done, loading) {
|
||||
let params = {
|
||||
...row,
|
||||
serveId: this.selectUserServeLog.serveId,
|
||||
serveUserId: this.selectUserServeLog.serveUserId,
|
||||
}
|
||||
let resData = await addServeLog(params)
|
||||
done()
|
||||
if (resData.data.code === 200) {
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: "添加成功!",
|
||||
});
|
||||
this.serveLog(this.selectUserServeLog)
|
||||
}
|
||||
},
|
||||
async saveUpdateLog(row, index, done, loading) {
|
||||
let params = {
|
||||
id: row.id,
|
||||
createTime: row.createTime,
|
||||
fromName: row.fromName,
|
||||
toName: row.toName,
|
||||
serveTheme: row.serveTheme,
|
||||
serveContent: row.serveContent,
|
||||
bak1: row.bak1,
|
||||
}
|
||||
let resData = await updateServeLog(params)
|
||||
done()
|
||||
if (resData.data.code === 200) {
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: "修改成功!",
|
||||
});
|
||||
this.serveLog(this.selectUserServeLog)
|
||||
}
|
||||
},
|
||||
removeLog(row, index, done, loading) {
|
||||
this.$confirm("确定将选择数据删除?", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
return removeServeLog({ids: row.id});
|
||||
})
|
||||
.then(() => {
|
||||
this.serveLog(this.selectUserServeLog)
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: "操作成功!",
|
||||
});
|
||||
});
|
||||
},
|
||||
workSizeChange() {
|
||||
},
|
||||
workCurrentChange() {
|
||||
},
|
||||
logSizeChange(pageSize) {
|
||||
this.logPage.pageSize = pageSize;
|
||||
this.serveLog(this.selectUserServeLog)
|
||||
},
|
||||
logCurrentChange(currentPage) {
|
||||
this.logPage.currentPage = currentPage;
|
||||
this.serveLog(this.selectUserServeLog)
|
||||
},
|
||||
async ListAllTalents() {
|
||||
let resData = await getListAllTalents()
|
||||
if(resData.data.code === 200) {
|
||||
if (resData.data.code === 200) {
|
||||
this.talentsList = resData.data.data
|
||||
}
|
||||
},
|
||||
selectPushService(row) {
|
||||
console.log('点击')
|
||||
detail(row.id).then((res) => {
|
||||
if(res.data.code === 200) {
|
||||
if (res.data.code === 200) {
|
||||
this.selectPushServiceData = res.data.data
|
||||
this.PushServiceVisible = true
|
||||
}
|
||||
@@ -961,7 +1064,7 @@ export default {
|
||||
},
|
||||
async getListAllPolicyTree() {
|
||||
let resData = await getListAllPolicy({})
|
||||
if(resData.data.code === 200) {
|
||||
if (resData.data.code === 200) {
|
||||
this.listAllPolicyTree = resData.data.data
|
||||
}
|
||||
},
|
||||
@@ -971,16 +1074,16 @@ 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
|
||||
}
|
||||
return [str]
|
||||
},
|
||||
getLabelList() {
|
||||
getLabelList().then( (res) => {
|
||||
getLabelList().then((res) => {
|
||||
const arr = res.data.data.flatMap(obj => obj.child.map(item => item.concatName));
|
||||
this.arr = arr.map(concatName => {
|
||||
this.worktypeDic[concatName] = 1;
|
||||
@@ -998,7 +1101,7 @@ export default {
|
||||
getKeyAudience(params) {
|
||||
const _this = this
|
||||
return getServeListTalents(params).then((res) => {
|
||||
if(res.data.code === 200) {
|
||||
if (res.data.code === 200) {
|
||||
const {records, current, size, total} = res.data.data
|
||||
_this.infoData = records
|
||||
_this.visibleAudience = true
|
||||
@@ -1020,7 +1123,7 @@ export default {
|
||||
})
|
||||
},
|
||||
infoCurrentChange(currentPage) {
|
||||
const { pageSize, total} = this.infoPage
|
||||
const {pageSize, total} = this.infoPage
|
||||
this.getKeyAudience({
|
||||
pageSize: pageSize,
|
||||
current: currentPage,
|
||||
@@ -1029,7 +1132,7 @@ export default {
|
||||
})
|
||||
},
|
||||
infoRefreshChange() {
|
||||
const { currentPage, pageSize, total} = this.infoPage
|
||||
const {currentPage, pageSize, total} = this.infoPage
|
||||
this.getKeyAudience({
|
||||
pageSize: pageSize,
|
||||
current: currentPage,
|
||||
@@ -1069,13 +1172,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;
|
||||
@@ -1092,8 +1195,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",
|
||||
@@ -1190,11 +1293,11 @@ export default {
|
||||
}
|
||||
},
|
||||
treeIteration(tree, ids) {
|
||||
if( !(tree.length && ids.length) ) return;
|
||||
if (!(tree.length && ids.length)) return;
|
||||
let arr = []
|
||||
tree.forEach((treeItem) => {
|
||||
treeItem.child.forEach((item) => {
|
||||
if(ids.some((id) => item.value === id)) {
|
||||
if (ids.some((id) => item.value === id)) {
|
||||
arr.push([treeItem.value, item.value])
|
||||
}
|
||||
})
|
||||
@@ -1260,8 +1363,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",
|
||||
@@ -1314,7 +1417,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",
|
||||
@@ -1470,7 +1573,7 @@ export default {
|
||||
).then((res) => {
|
||||
const data = res.data.data;
|
||||
this.page.total = data.total;
|
||||
console.log( data.records)
|
||||
console.log(data.records)
|
||||
this.data = data.records.map((item) => ({
|
||||
...item, talentsGroupId: item.talentsGroupId.split(',')
|
||||
}));
|
||||
@@ -1481,7 +1584,11 @@ export default {
|
||||
// 匹配任务和岗位
|
||||
matchWorkStation(row) {
|
||||
console.log('匹配任务和岗位')
|
||||
getMatchWorkStation({serveUserId: row.serveUserId, serveId: this.selectInfo.id, companyId: this.selectInfo.companyId}).then(res => {
|
||||
getMatchWorkStation({
|
||||
serveUserId: row.serveUserId,
|
||||
serveId: this.selectInfo.id,
|
||||
companyId: this.selectInfo.companyId
|
||||
}).then(res => {
|
||||
const {records, current, size, total} = res.data.data
|
||||
this.innerDrawer1 = true
|
||||
this.workData = records
|
||||
@@ -1510,7 +1617,14 @@ export default {
|
||||
// 服务日志
|
||||
serveLog(row) {
|
||||
console.log('服务日志')
|
||||
getMatchServeList({id: row.id, serveId: this.selectInfo.id, companyId: this.selectInfo.companyId, current: 1, size: 10}).then(res => {
|
||||
this.selectUserServeLog = row
|
||||
getMatchServeList({
|
||||
id: row.id,
|
||||
serveId: this.selectInfo.id,
|
||||
companyId: this.selectInfo.companyId,
|
||||
current: this.logPage.currentPage,
|
||||
size: this.logPage.pageSize
|
||||
}).then(res => {
|
||||
let _this = this;
|
||||
const {records, current, size, total} = res.data.data
|
||||
_this.logData = records
|
||||
@@ -1539,12 +1653,12 @@ export default {
|
||||
},
|
||||
/*查看*/
|
||||
toWorkMissionDetail(row) {
|
||||
if(row.type == 0) {
|
||||
if (row.type == 0) {
|
||||
missionDetail(row.missionNo).then((res) => {
|
||||
this.viewDrawer = true;
|
||||
this.view = res;
|
||||
});
|
||||
} else if(row.type == 1) {
|
||||
} else if (row.type == 1) {
|
||||
workDetail(row.id).then(res => {
|
||||
this.workViewDrawer = true;
|
||||
this.workViewModel = res;
|
||||
@@ -1593,11 +1707,11 @@ export default {
|
||||
},
|
||||
addNewLog() {
|
||||
console.log('add log')
|
||||
this.$router.push({ name: '添加/修改日志log', params: { type: 'add', id: null } })
|
||||
this.$router.push({name: '添加/修改日志log', params: {type: 'add', id: null}})
|
||||
},
|
||||
editLogInfo() {
|
||||
console.log('edit log')
|
||||
this.$router.push({ name: '添加/修改日志log', params: { type: 'edit', id: null } })
|
||||
this.$router.push({name: '添加/修改日志log', params: {type: 'edit', id: null}})
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
@@ -371,6 +371,14 @@ export default {
|
||||
],
|
||||
span: 24,
|
||||
},
|
||||
{
|
||||
label: "求职意愿",
|
||||
prop: "willingJob",
|
||||
span: 24,
|
||||
rules: [
|
||||
{required: true, message: "请输入求职意愿", trigger: "blur"},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "户口所在地",
|
||||
prop: "aac010",
|
||||
|
||||
@@ -56,6 +56,14 @@
|
||||
placeholder="请选择 工作地址"
|
||||
></jl-cityLabel-cascader>
|
||||
</template>
|
||||
<template slot="cityIdFrom" slot-scope="{ disabled }">
|
||||
<jl-cityLabel-cascader
|
||||
:disabled="disabled"
|
||||
filterable
|
||||
v-model="obj.cityId"
|
||||
placeholder="请选择 工作地址"
|
||||
></jl-cityLabel-cascader>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="wage">
|
||||
<el-input placeholder="请输入工资" type="number" v-model="obj.wage" class="input-with-select">
|
||||
<el-select v-model="obj.wageUnitCategory" slot="append" placeholder="请选择" @change="getMaxAndMin">
|
||||
@@ -810,7 +818,7 @@ export default {
|
||||
},
|
||||
{
|
||||
min: 1,
|
||||
max: 5,
|
||||
max: 8,
|
||||
message: "长度在 1 到 5 个字",
|
||||
trigger: "blur",
|
||||
},
|
||||
@@ -1170,7 +1178,7 @@ export default {
|
||||
callName: row.callName,
|
||||
callTel: row.callTel,
|
||||
callNumber: row.callNumber,
|
||||
cityId: row.cityId,
|
||||
cityId: row.cityId.replace(/\s+/g, ""),
|
||||
address: row.address,
|
||||
lat: row.lat,
|
||||
lon: row.lon,
|
||||
@@ -1207,6 +1215,7 @@ export default {
|
||||
tradeNames: row.tradeNames,
|
||||
worktypeIds: row.worktypeIds,
|
||||
worktypeNames: row.worktypeNames,
|
||||
jobCompanyScale: row.jobCompanyScale,
|
||||
skillIds: row.workSkills[1],
|
||||
skillNames: row.skillNames,
|
||||
jobDescription: row.jobDescription,
|
||||
@@ -1219,7 +1228,7 @@ export default {
|
||||
callName: row.callName,
|
||||
callTel: row.callTel,
|
||||
callNumber: row.callNumber,
|
||||
cityId: row.cityId,
|
||||
cityId: row.cityId.replace(/\s+/g, ""),
|
||||
address: row.address,
|
||||
lat: row.lat,
|
||||
lon: row.lon,
|
||||
|
||||
Reference in New Issue
Block a user