flat:9-11暂存
This commit is contained in:
@@ -4,3 +4,4 @@ VUE_APP_REPLACE_STR = {"{oss_file_url}": "http://10.165.0.173:8000", "https://dy
|
||||
VUE_APP_LOGIN_NEXT = http://10.160.7.216:9920/casserver/login?service=http://10.165.0.173/manage/login&stService=http%3A%2F%2F10.165.0.173%2Fmanage%2Flogin
|
||||
VUE_APP_SUPPER_MAP = http://10.165.0.44:1205/proxy/rest/maps/c02c6f51f3ab4190bffd5e3e54cf5ac4/111013e9067749488d44841208771768
|
||||
VUE_APP_TIANDITU_APIKEY = e4266a5e84fe6c10f60c559967f0a03f
|
||||
VUE_APP_LARGESCREEN = http://10.165.0.173/largescreen/
|
||||
|
||||
@@ -4,3 +4,4 @@ VUE_APP_REPLACE_STR = {"{oss_file_url}": "http://10.165.0.173:8000", "https://dy
|
||||
VUE_APP_LOGIN_NEXT = http://10.160.7.216:9920/casserver/login?service=http://10.165.0.54:8300/manage/login&stService=http%3A%2F%2F10.165.0.54%3A8300%2Fmanage%2Flogin
|
||||
VUE_APP_SUPPER_MAP = http://10.165.0.44:1205/proxy/rest/maps/c02c6f51f3ab4190bffd5e3e54cf5ac4/111013e9067749488d44841208771768
|
||||
VUE_APP_TIANDITU_APIKEY = e4266a5e84fe6c10f60c559967f0a03f
|
||||
VUE_APP_LARGESCREEN = http://10.165.0.77/largescreen/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import request from '@/router/axios';
|
||||
import { getToken } from '@/util/auth'
|
||||
import {getToken} from '@/util/auth'
|
||||
// 企业列表
|
||||
export const getList =
|
||||
(current, size, params) => {
|
||||
@@ -13,9 +13,9 @@ export const getList =
|
||||
}
|
||||
})
|
||||
}
|
||||
// 企业列表
|
||||
// 企业列表
|
||||
export const getListNew =
|
||||
(current, size, params) => {
|
||||
(current, size, params) => {
|
||||
return request({
|
||||
url: '/api/jobslink-api/tenant/company/manage/listNew',
|
||||
method: 'get',
|
||||
@@ -25,10 +25,10 @@ export const getListNew =
|
||||
size,
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
//暂不处理
|
||||
export const getNoProcessing =
|
||||
(id, desc, status) => {
|
||||
(id, desc, status) => {
|
||||
return request({
|
||||
url: '/api/jobslink-api/tenant/company/noProcessing',
|
||||
method: 'get',
|
||||
@@ -38,7 +38,7 @@ export const getNoProcessing =
|
||||
status,
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
// 认证企业列表菜单
|
||||
export const getMenuList =
|
||||
(current, size, params) => {
|
||||
@@ -59,34 +59,34 @@ export const getDetail =
|
||||
return request({
|
||||
url: '/api/jobslink-api/tenant/company/detail',
|
||||
method: 'get',
|
||||
params: { id }
|
||||
params: {id}
|
||||
})
|
||||
}
|
||||
|
||||
export const detailCompany =
|
||||
(id) => {
|
||||
(params) => {
|
||||
return request({
|
||||
url: '/api/jobslink-api/tenant/company/detailCompany',
|
||||
method: 'get',
|
||||
params: { id }
|
||||
params: params
|
||||
})
|
||||
}
|
||||
// 仅保存或提交审核
|
||||
export const detailNew =
|
||||
(flag,company,saveFlag) => {
|
||||
(flag, company, saveFlag) => {
|
||||
return request({
|
||||
url: '/api/jobslink-api/tenant/company/detailNew',
|
||||
method: 'post',
|
||||
data: {flag,company,saveFlag}
|
||||
data: {flag, company, saveFlag}
|
||||
})
|
||||
}
|
||||
//审核接口
|
||||
export const review =
|
||||
(id,status,desc) => {
|
||||
//审核接口
|
||||
export const review =
|
||||
(id, status, desc) => {
|
||||
return request({
|
||||
url: '/api/jobslink-api/tenant/company/review',
|
||||
method: 'get',
|
||||
params: { id ,status ,desc}
|
||||
params: {id, status, desc}
|
||||
})
|
||||
}
|
||||
// 企业开户
|
||||
@@ -115,39 +115,41 @@ export const configDetail =
|
||||
return request({
|
||||
url: '/api/jobslink-api/tenant/base/config/detail',
|
||||
method: 'get',
|
||||
params: { companyId, tenantId }
|
||||
params: {companyId, tenantId}
|
||||
})
|
||||
}
|
||||
|
||||
//下载全部
|
||||
export const downloadList =
|
||||
(urls) => {
|
||||
(urls) => {
|
||||
return `/api/jobslink-api/tenant/company/downloadList?urls=${urls}&Jobslink-Auth=${getToken()}`
|
||||
}
|
||||
}
|
||||
|
||||
// 获取一堆公司信息
|
||||
function getCompanyInfo(companyId) {
|
||||
return request({
|
||||
url: '/api/jobslink-api/tenant/company/examineInfo',
|
||||
method: 'get',
|
||||
params: { companyId }
|
||||
params: {companyId}
|
||||
})
|
||||
}
|
||||
|
||||
// 获取一堆公司信息
|
||||
function getCompanyInfoNew(companyId) {
|
||||
return request({
|
||||
url: '/api/jobslink-api/tenant/company/examineInfoNew',
|
||||
method: 'get',
|
||||
params: { companyId }
|
||||
params: {companyId}
|
||||
})
|
||||
}
|
||||
|
||||
// 审核通过
|
||||
export const examine =
|
||||
(companyId) => {
|
||||
return request({
|
||||
url: '/api/jobslink-api/tenant/company/examine',
|
||||
method: 'post',
|
||||
params: { companyId }
|
||||
params: {companyId}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -174,7 +176,7 @@ export const reject =
|
||||
return request({
|
||||
url: '/api/jobslink-api/tenant/company/reject',
|
||||
method: 'post',
|
||||
params: { companyId, remarks }
|
||||
params: {companyId, remarks}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -182,7 +184,7 @@ function state(companyId, flag) {
|
||||
return request({
|
||||
url: '/api/jobslink-api/tenant/company/status',
|
||||
method: 'post',
|
||||
params: { companyId, flag }
|
||||
params: {companyId, flag}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -222,7 +224,7 @@ export const getAdmin =
|
||||
return new Promise(function (resolve, reject) {
|
||||
getCompanyInfo(companyId)
|
||||
.then(function (resp) {
|
||||
const result = { data: { data: resp.data.data.user } };
|
||||
const result = {data: {data: resp.data.data.user}};
|
||||
resolve(result)
|
||||
})
|
||||
.catch(reject)
|
||||
@@ -237,28 +239,28 @@ export const getConfig =
|
||||
.then(function (resp) {
|
||||
const data = resp.data.data
|
||||
const result = {
|
||||
data: { data: { config: data.config, fee: data.fee } }
|
||||
data: {data: {config: data.config, fee: data.fee}}
|
||||
};
|
||||
resolve(result)
|
||||
})
|
||||
.catch(reject)
|
||||
})
|
||||
}
|
||||
// 获取配置
|
||||
// 获取配置
|
||||
export const getConfigNew =
|
||||
(companyId) => {
|
||||
(companyId) => {
|
||||
return new Promise(function (resolve, reject) {
|
||||
getCompanyInfoNew(companyId)
|
||||
.then(function (resp) {
|
||||
const data = resp.data.data
|
||||
const result = {
|
||||
data: { data: { config: data.config, fee: data.fee } }
|
||||
data: {data: {config: data.config, fee: data.fee}}
|
||||
};
|
||||
resolve(result)
|
||||
})
|
||||
.catch(reject)
|
||||
})
|
||||
}
|
||||
}
|
||||
// 设置配置
|
||||
export const setConfig =
|
||||
(data) => {
|
||||
@@ -284,7 +286,7 @@ export const serviceEnable = (id, companyId) => {
|
||||
return request({
|
||||
url: '/api/jobslink-api/tenant/config/service/fee/isEnabled',
|
||||
method: 'post',
|
||||
data: { id, companyId }
|
||||
data: {id, companyId}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -6,10 +6,10 @@ export const getList =
|
||||
url: '/api/jobslink-api/system/tuser/page',
|
||||
method: 'get',
|
||||
params: {
|
||||
...params,
|
||||
current,
|
||||
size,
|
||||
deptId,
|
||||
...params,
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
10
src/api/tenant/serverRecords.js
Normal file
10
src/api/tenant/serverRecords.js
Normal file
@@ -0,0 +1,10 @@
|
||||
import request from "@/router/axios";
|
||||
|
||||
/*获取人才列表*/
|
||||
export const getServeLogList = (params) => {
|
||||
return request({
|
||||
url: "/api/jobslink-api/serve/log/list",
|
||||
method: "get",
|
||||
params
|
||||
});
|
||||
};
|
||||
@@ -340,18 +340,16 @@ export const genderState = [
|
||||
];
|
||||
// 服务类型
|
||||
export const serviceType = [
|
||||
{
|
||||
label: "政策标签",
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: "个人标签",
|
||||
value: 1,
|
||||
},
|
||||
{
|
||||
label: "服务标签",
|
||||
value: 2,
|
||||
}
|
||||
{value: 0, label: "其他指导和服务"},
|
||||
{value: 1, label: "就业指导课程宣讲"},
|
||||
{value: 2, label: "职业选择"},
|
||||
{value: 3, label: "求职择业心理辅导"},
|
||||
{value: 4, label: "就业政策宣讲与就业市场分析"},
|
||||
{value: 5, label: "求职简历面试技巧辅导"},
|
||||
{value: 6, label: "劳动权益与法律保障解读"},
|
||||
{value: 7, label: "创业服务与辅导"},
|
||||
{value: 8, label: "职场适应与职业发展指导"},
|
||||
{value: 9, label: "就业典型案例宣传与就业干预"},
|
||||
];
|
||||
|
||||
export const recruitStatus = [
|
||||
|
||||
13
src/main.js
13
src/main.js
@@ -60,7 +60,18 @@ function sleep(time) {
|
||||
return new Promise((resolve) => setTimeout(resolve, time))
|
||||
}
|
||||
|
||||
Vue.prototype.$api = {sleep}
|
||||
function filterObject(obj) {
|
||||
const filteredObj = {...obj}; // 创建对象的副本
|
||||
Object.keys(filteredObj).forEach(key => {
|
||||
// 判断属性名是否以 $ 开头 且值为 falsy
|
||||
if (key.startsWith('$') || !filteredObj[key] && filteredObj[key] !== 0) {
|
||||
delete filteredObj[key];
|
||||
}
|
||||
});
|
||||
return filteredObj;
|
||||
}
|
||||
|
||||
Vue.prototype.$api = {sleep, filterObject}
|
||||
Vue.config.productionTip = false;
|
||||
|
||||
new Vue({router, store, i18n, render: h => h(App)}).$mount('#app')
|
||||
|
||||
@@ -600,7 +600,11 @@ export default {
|
||||
if (["edit", "view"].includes(type)) {
|
||||
this.imgList = [];
|
||||
this.loading = true;
|
||||
detailCompany(this.form.id).then((res) => {
|
||||
let params = {
|
||||
id: this.form.id,
|
||||
createDept: this.form.createDept
|
||||
}
|
||||
detailCompany(params).then((res) => {
|
||||
this.loading = false;
|
||||
this.form = res.data.data;
|
||||
if (this.form.motoleyUrl) {
|
||||
|
||||
@@ -1,128 +1,7 @@
|
||||
<template>
|
||||
<basic-container>
|
||||
<!--搜索栏-->
|
||||
<el-form
|
||||
size="small"
|
||||
label-position="right"
|
||||
style="padding-left: 10px; padding-right: 10px"
|
||||
:inline="true"
|
||||
>
|
||||
<el-row :span="24">
|
||||
<el-form-item label="机构名称:">
|
||||
<el-input
|
||||
v-model="query.companyName"
|
||||
placeholder="机构名称"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="岗位编码:">
|
||||
<el-input
|
||||
v-model="query.missionNo"
|
||||
placeholder="岗位编码"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="地址:">
|
||||
<el-input
|
||||
v-model="query.address"
|
||||
placeholder="地址"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="岗位名称:">
|
||||
<el-input
|
||||
v-model="query.missionTitle"
|
||||
placeholder="岗位名称"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="零工工种:">
|
||||
<el-input
|
||||
v-model="query.worktypeNames"
|
||||
placeholder="零工工种"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="审核状态:">
|
||||
<el-select v-model="query.reviewState">
|
||||
<el-option
|
||||
v-for="(item, index) in recruitStatus"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="学历:">
|
||||
<el-select v-model="query.education">
|
||||
<el-option
|
||||
v-for="(item, index) in educationState"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<div class="searchBtn">
|
||||
<el-button
|
||||
type="primary"
|
||||
size="small"
|
||||
icon="el-icon-search"
|
||||
@click="searchChange1"
|
||||
>搜 索
|
||||
</el-button
|
||||
>
|
||||
<el-button size="small" icon="el-icon-delete" @click="searchReset1"
|
||||
>清 空
|
||||
</el-button
|
||||
>
|
||||
</div>
|
||||
</el-row>
|
||||
<el-row :span="24">
|
||||
<!-- <el-form-item>
|
||||
<el-select v-model="query.type" placeholder="请选择搜索时间类型">
|
||||
<el-option label="任务开始日期" :value="0"></el-option>
|
||||
<el-option label="任务结束日期" :value="2"></el-option>
|
||||
<el-option label="报名截止日期" :value="3"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-date-picker
|
||||
v-model="query.time"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="yyyy-MM-dd"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<tool-tip></tool-tip>
|
||||
<br>
|
||||
<el-form-item label="任务状态:">
|
||||
<el-select v-model="query.status">
|
||||
<el-option
|
||||
v-for="(item, index) in mStatusList"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
|
||||
<!-- <el-form-item label="数据来源:">
|
||||
<el-select v-model="query.dataSources">
|
||||
<el-option
|
||||
v-for="(item, index) in dataSourcesEnum"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
|
||||
</el-row>
|
||||
</el-form>
|
||||
<avue-form :option="searchOption" v-model="query" @submit="searchChange1" @reset-change="searchReset1"></avue-form>
|
||||
<!--搜索-->
|
||||
<avue-crud
|
||||
:option="option"
|
||||
@@ -226,6 +105,7 @@ wageUnitCategoryState.map((item) => {
|
||||
wageUnitCategoryStateEnum[item.value] = item.label
|
||||
})
|
||||
import lodash from "lodash";
|
||||
import {getDeptMyTree} from "@/api/tenant/talents";
|
||||
|
||||
const message = lodash.throttle(
|
||||
function (options) {
|
||||
@@ -250,7 +130,7 @@ export default {
|
||||
view: {},
|
||||
form: {},
|
||||
selectionList: [],
|
||||
query: {type: ''},
|
||||
query: {type: '', reviewState: 0},
|
||||
loading: false,
|
||||
page: {
|
||||
pageSize: 10,
|
||||
@@ -437,6 +317,7 @@ export default {
|
||||
],
|
||||
},
|
||||
data: [],
|
||||
depTree: [],
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@@ -456,8 +337,72 @@ export default {
|
||||
});
|
||||
return ids;
|
||||
},
|
||||
searchOption() {
|
||||
return {
|
||||
menuSpan: 6,
|
||||
column: [
|
||||
{
|
||||
label: "所属机构",
|
||||
prop: "deptId",
|
||||
type: "tree",
|
||||
multiple: false,
|
||||
dicData: this.depTree,
|
||||
props: {
|
||||
label: "title",
|
||||
value: 'value'
|
||||
},
|
||||
span: 6,
|
||||
},
|
||||
{
|
||||
label: '机构名称',
|
||||
prop: 'companyName',
|
||||
span: 6,
|
||||
},
|
||||
{
|
||||
label: '岗位名称',
|
||||
prop: 'missionTitle',
|
||||
span: 6,
|
||||
},
|
||||
{
|
||||
label: '地址',
|
||||
prop: 'address',
|
||||
placeholder: "北京-北京市-崇文区",
|
||||
span: 6,
|
||||
}, {
|
||||
label: '零工工种',
|
||||
prop: 'worktypeNames',
|
||||
span: 6,
|
||||
},
|
||||
{
|
||||
label: '审核状态',
|
||||
prop: 'reviewState',
|
||||
type: 'select',
|
||||
dicData: recruitStatus,
|
||||
span: 6,
|
||||
}, {
|
||||
label: '学历',
|
||||
prop: 'education',
|
||||
type: 'select',
|
||||
dicData: educationState,
|
||||
span: 6,
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getDept()
|
||||
},
|
||||
methods: {
|
||||
async getDept() {
|
||||
let params = {
|
||||
tenantId: '000000'
|
||||
}
|
||||
let resData = await getDeptMyTree(params)
|
||||
if (resData.data.code === 200) {
|
||||
this.depTree = resData.data.data
|
||||
}
|
||||
},
|
||||
initData() {
|
||||
this.onLoad(this.page, this.query);
|
||||
},
|
||||
@@ -485,14 +430,15 @@ export default {
|
||||
this.onLoad(this.page, params);
|
||||
done();
|
||||
},
|
||||
searchChange1() {
|
||||
searchChange1(form, done) {
|
||||
if (this.query.time) {
|
||||
this.query.stime = this.query.time[0];
|
||||
this.query.etime = this.query.time[1];
|
||||
// delete this.query.time;
|
||||
}
|
||||
this.page.currentPage = 1;
|
||||
this.page.currentPage = 1
|
||||
this.onLoad(this.page, this.query);
|
||||
done && done()
|
||||
},
|
||||
searchReset1() {
|
||||
this.query = {};
|
||||
@@ -528,11 +474,12 @@ export default {
|
||||
},
|
||||
onLoad(page, params = {}) {
|
||||
params = Object.assign(this.query, params);
|
||||
params = this.$api.filterObject(params)
|
||||
this.loading = true;
|
||||
getList(
|
||||
page.currentPage,
|
||||
page.pageSize,
|
||||
Object.assign(this.query, params)
|
||||
params
|
||||
).then((res) => {
|
||||
const data = res.data.data;
|
||||
this.page.total = data.total;
|
||||
|
||||
@@ -1,84 +1,7 @@
|
||||
<template>
|
||||
<basic-container>
|
||||
<!--搜索栏-->
|
||||
<el-form
|
||||
size="small"
|
||||
label-position="right"
|
||||
style="padding-left: 10px; padding-right: 10px"
|
||||
:inline="true"
|
||||
>
|
||||
<el-row :span="24">
|
||||
<el-form-item label="机构名称:">
|
||||
<el-input
|
||||
v-model="query.companyName"
|
||||
placeholder="机构名称"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="岗位编码:">
|
||||
<el-input
|
||||
v-model="query.missionNo"
|
||||
placeholder="岗位编码"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="岗位名称:">
|
||||
<el-input
|
||||
v-model="query.jobName"
|
||||
placeholder="岗位名称"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="地址:">
|
||||
<el-input
|
||||
v-model="query.address"
|
||||
placeholder="地址"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="零工岗位工种:">
|
||||
<el-input
|
||||
v-model="query.worktypeNames"
|
||||
placeholder="零工岗位工种"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="学历:">
|
||||
<el-select v-model="query.education">
|
||||
<el-option
|
||||
v-for="(item, index) in educationState"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="审核状态:">
|
||||
<el-select v-model="query.reviewState">
|
||||
<el-option
|
||||
v-for="(item, index) in recruitStatus"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<div class="searchBtn">
|
||||
<el-button
|
||||
type="primary"
|
||||
size="small"
|
||||
icon="el-icon-search"
|
||||
@click="searchChange1"
|
||||
>搜 索
|
||||
</el-button
|
||||
>
|
||||
<el-button size="small" icon="el-icon-delete" @click="searchReset1"
|
||||
>清 空
|
||||
</el-button
|
||||
>
|
||||
</div>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<avue-form :option="searchOption" v-model="query" @submit="searchChange1" @reset-change="searchReset1"></avue-form>
|
||||
<!--搜索-->
|
||||
<avue-crud
|
||||
:option="option"
|
||||
@@ -192,6 +115,7 @@ import {Message} from "element-ui";
|
||||
import lodash from "lodash";
|
||||
import {Auditing} from "@/api/manage/mission";
|
||||
import PromptDialog from "@/components/promptDialog/index.vue";
|
||||
import {getDeptMyTree} from "@/api/tenant/talents";
|
||||
|
||||
const wageUnitCategoryStateEnum = {}
|
||||
wageUnitCategoryState.map((item) => {
|
||||
@@ -220,7 +144,7 @@ export default {
|
||||
view: {},
|
||||
form: {},
|
||||
selectionList: [],
|
||||
query: {type: ''},
|
||||
query: {type: '', reviewState: 0},
|
||||
loading: false,
|
||||
page: {
|
||||
pageSize: 10,
|
||||
@@ -405,6 +329,7 @@ export default {
|
||||
],
|
||||
},
|
||||
data: [],
|
||||
depTree: [],
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@@ -424,8 +349,72 @@ export default {
|
||||
});
|
||||
return ids;
|
||||
},
|
||||
searchOption() {
|
||||
return {
|
||||
menuSpan: 6,
|
||||
column: [
|
||||
{
|
||||
label: "所属机构",
|
||||
prop: "deptId",
|
||||
type: "tree",
|
||||
multiple: false,
|
||||
dicData: this.depTree,
|
||||
props: {
|
||||
label: "title",
|
||||
value: 'value'
|
||||
},
|
||||
span: 6,
|
||||
},
|
||||
{
|
||||
label: '机构名称',
|
||||
prop: 'companyName',
|
||||
span: 6,
|
||||
},
|
||||
{
|
||||
label: '岗位名称',
|
||||
prop: 'missionTitle',
|
||||
span: 6,
|
||||
},
|
||||
{
|
||||
label: '地址',
|
||||
prop: 'address',
|
||||
placeholder: "北京-北京市-崇文区",
|
||||
span: 6,
|
||||
}, {
|
||||
label: '零工工种',
|
||||
prop: 'worktypeNames',
|
||||
span: 6,
|
||||
},
|
||||
{
|
||||
label: '审核状态',
|
||||
prop: 'reviewState',
|
||||
type: 'select',
|
||||
dicData: recruitStatus,
|
||||
span: 6,
|
||||
}, {
|
||||
label: '学历',
|
||||
prop: 'education',
|
||||
type: 'select',
|
||||
dicData: educationState,
|
||||
span: 6,
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getDept()
|
||||
},
|
||||
methods: {
|
||||
async getDept() {
|
||||
let params = {
|
||||
tenantId: '000000'
|
||||
}
|
||||
let resData = await getDeptMyTree(params)
|
||||
if (resData.data.code === 200) {
|
||||
this.depTree = resData.data.data
|
||||
}
|
||||
},
|
||||
initData() {
|
||||
this.onLoad(this.page, this.query);
|
||||
},
|
||||
@@ -456,7 +445,7 @@ export default {
|
||||
this.onLoad(this.page, params);
|
||||
done();
|
||||
},
|
||||
searchChange1() {
|
||||
searchChange1(from, done) {
|
||||
if (this.query.time) {
|
||||
this.query.stime = this.query.time[0];
|
||||
this.query.etime = this.query.time[1];
|
||||
@@ -464,6 +453,7 @@ export default {
|
||||
}
|
||||
this.page.currentPage = 1;
|
||||
this.onLoad(this.page, this.query);
|
||||
done && done()
|
||||
},
|
||||
searchReset1() {
|
||||
this.query = {};
|
||||
@@ -499,6 +489,7 @@ export default {
|
||||
},
|
||||
onLoad(page, params = {}) {
|
||||
params = Object.assign(this.query, params);
|
||||
params = this.$api.filterObject(params)
|
||||
this.loading = true;
|
||||
getList(
|
||||
page.currentPage,
|
||||
|
||||
@@ -2,50 +2,6 @@
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<basic-container>
|
||||
<!--搜索栏-->
|
||||
<el-form
|
||||
size="small"
|
||||
label-position="right"
|
||||
style="padding-left: 10px; padding-right: 10px"
|
||||
:inline="true"
|
||||
>
|
||||
<el-row :span="24">
|
||||
<el-form-item label="登录账号:">
|
||||
<el-input
|
||||
v-model="query.account"
|
||||
placeholder="登录账号"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="用户姓名:">
|
||||
<el-input
|
||||
v-model="query.realName"
|
||||
placeholder="用户姓名"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<div class="searchBtn">
|
||||
<el-button
|
||||
type="primary"
|
||||
size="small"
|
||||
icon="el-icon-search"
|
||||
@click="searchChange1"
|
||||
>搜 索
|
||||
</el-button
|
||||
>
|
||||
<el-button
|
||||
size="small"
|
||||
icon="el-icon-delete"
|
||||
@click="searchReset1"
|
||||
>清 空
|
||||
</el-button
|
||||
>
|
||||
</div>
|
||||
<!-- </el-col> -->
|
||||
</el-row>
|
||||
</el-form>
|
||||
<!--搜索-->
|
||||
<avue-crud
|
||||
:option="option"
|
||||
:table-loading="loading"
|
||||
@@ -160,6 +116,7 @@ import {getToken} from "@/util/auth";
|
||||
import {isMobile} from "@/util/validate";
|
||||
import md5 from "js-md5";
|
||||
import {excelAccept} from "@/common/accept";
|
||||
import {getDeptMyTree} from "@/api/tenant/talents";
|
||||
|
||||
export default {
|
||||
name: "user",
|
||||
@@ -191,6 +148,7 @@ export default {
|
||||
currentPage: 1,
|
||||
total: 0,
|
||||
},
|
||||
depTree: [],
|
||||
init: {
|
||||
roleTree: [],
|
||||
deptTree: [],
|
||||
@@ -203,7 +161,94 @@ export default {
|
||||
roleTreeObj: [],
|
||||
treeDeptId: "",
|
||||
treeData: [],
|
||||
option: {
|
||||
data: [],
|
||||
excelForm: {},
|
||||
excelOption: {
|
||||
submitBtn: false,
|
||||
emptyBtn: false,
|
||||
column: [
|
||||
{
|
||||
label: "文件上传",
|
||||
prop: "excelFile",
|
||||
type: "upload",
|
||||
drag: true,
|
||||
loadText: "文件上传中,请稍等",
|
||||
span: 24,
|
||||
propsHttp: {
|
||||
res: "data",
|
||||
},
|
||||
accept: excelAccept,
|
||||
tip: "请上传 .xls,.xlsx 标准格式文件",
|
||||
action: "/api/jobslink-api/system/tuser/import-user",
|
||||
},
|
||||
{
|
||||
label: "数据覆盖",
|
||||
prop: "isCovered",
|
||||
type: "switch",
|
||||
align: "center",
|
||||
width: 80,
|
||||
dicData: [
|
||||
{
|
||||
label: "否",
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: "是",
|
||||
value: 1,
|
||||
},
|
||||
],
|
||||
value: 0,
|
||||
slot: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择是否覆盖",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "模板下载",
|
||||
prop: "excelTemplate",
|
||||
formslot: true,
|
||||
span: 24,
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
"form.tenantId"() {
|
||||
if (this.form.tenantId !== "" && this.form.tenantId !== undefined) {
|
||||
this.initData(this.form.tenantId);
|
||||
}
|
||||
},
|
||||
"excelForm.isCovered"() {
|
||||
if (this.excelForm.isCovered !== "") {
|
||||
const column = this.findObject(this.excelOption.column, "excelFile");
|
||||
column.action = `/api/jobslink-api/system/tuser/import-user?isCovered=${this.excelForm.isCovered}`;
|
||||
}
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(["userInfo", "permission"]),
|
||||
permissionList() {
|
||||
return {
|
||||
addBtn: this.vaildData(this.permission.user_add, false),
|
||||
viewBtn: this.vaildData(this.permission.user_view, false),
|
||||
delBtn: this.vaildData(this.permission.user_delete, false),
|
||||
editBtn: this.vaildData(this.permission.user_edit, false),
|
||||
};
|
||||
},
|
||||
ids() {
|
||||
let ids = [];
|
||||
this.selectionList.forEach((ele) => {
|
||||
ids.push(ele.id);
|
||||
});
|
||||
return ids.join(",");
|
||||
},
|
||||
option() {
|
||||
return {
|
||||
height: "auto",
|
||||
calcHeight: 125,
|
||||
tip: false,
|
||||
@@ -217,6 +262,25 @@ export default {
|
||||
dialogType: "drawer",
|
||||
dialogClickModal: false,
|
||||
column: [
|
||||
{
|
||||
label: "所属机构",
|
||||
prop: "deptId",
|
||||
type: "tree",
|
||||
multiple: false,
|
||||
dicData: this.depTree,
|
||||
props: {
|
||||
label: "title",
|
||||
value: 'value'
|
||||
},
|
||||
display: false,
|
||||
// searchDisplay: true,
|
||||
checkStrictly: true,
|
||||
search: true,
|
||||
span: 6,
|
||||
hide: true,
|
||||
searchLabelWidth: 80,
|
||||
searchSpan: 6,
|
||||
},
|
||||
{
|
||||
label: "所属部门",
|
||||
prop: "deptName",
|
||||
@@ -228,13 +292,20 @@ export default {
|
||||
prop: "account",
|
||||
// search: true,
|
||||
display: false,
|
||||
|
||||
search: true,
|
||||
span: 6,
|
||||
searchLabelWidth: 80,
|
||||
searchSpan: 6,
|
||||
},
|
||||
{
|
||||
label: "用户姓名",
|
||||
prop: "realName",
|
||||
// search: true,
|
||||
display: false,
|
||||
search: true,
|
||||
span: 6,
|
||||
searchLabelWidth: 80,
|
||||
searchSpan: 6,
|
||||
},
|
||||
{
|
||||
label: "所属角色",
|
||||
@@ -394,99 +465,24 @@ export default {
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
data: [],
|
||||
excelForm: {},
|
||||
excelOption: {
|
||||
submitBtn: false,
|
||||
emptyBtn: false,
|
||||
column: [
|
||||
{
|
||||
label: "文件上传",
|
||||
prop: "excelFile",
|
||||
type: "upload",
|
||||
drag: true,
|
||||
loadText: "文件上传中,请稍等",
|
||||
span: 24,
|
||||
propsHttp: {
|
||||
res: "data",
|
||||
},
|
||||
accept: excelAccept,
|
||||
tip: "请上传 .xls,.xlsx 标准格式文件",
|
||||
action: "/api/jobslink-api/system/tuser/import-user",
|
||||
},
|
||||
{
|
||||
label: "数据覆盖",
|
||||
prop: "isCovered",
|
||||
type: "switch",
|
||||
align: "center",
|
||||
width: 80,
|
||||
dicData: [
|
||||
{
|
||||
label: "否",
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: "是",
|
||||
value: 1,
|
||||
},
|
||||
],
|
||||
value: 0,
|
||||
slot: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择是否覆盖",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "模板下载",
|
||||
prop: "excelTemplate",
|
||||
formslot: true,
|
||||
span: 24,
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
"form.tenantId"() {
|
||||
if (this.form.tenantId !== "" && this.form.tenantId !== undefined) {
|
||||
this.initData(this.form.tenantId);
|
||||
}
|
||||
},
|
||||
"excelForm.isCovered"() {
|
||||
if (this.excelForm.isCovered !== "") {
|
||||
const column = this.findObject(this.excelOption.column, "excelFile");
|
||||
column.action = `/api/jobslink-api/system/tuser/import-user?isCovered=${this.excelForm.isCovered}`;
|
||||
}
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(["userInfo", "permission"]),
|
||||
permissionList() {
|
||||
return {
|
||||
addBtn: this.vaildData(this.permission.user_add, false),
|
||||
viewBtn: this.vaildData(this.permission.user_view, false),
|
||||
delBtn: this.vaildData(this.permission.user_delete, false),
|
||||
editBtn: this.vaildData(this.permission.user_edit, false),
|
||||
};
|
||||
},
|
||||
ids() {
|
||||
let ids = [];
|
||||
this.selectionList.forEach((ele) => {
|
||||
ids.push(ele.id);
|
||||
});
|
||||
return ids.join(",");
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.initData(this.userInfo.tenant_id);
|
||||
|
||||
this.getDept()
|
||||
},
|
||||
methods: {
|
||||
async getDept() {
|
||||
let params = {
|
||||
tenantId: '000000'
|
||||
}
|
||||
let resData = await getDeptMyTree(params)
|
||||
if (resData.data.code === 200) {
|
||||
this.depTree = resData.data.data
|
||||
console.log(this.depTree)
|
||||
}
|
||||
},
|
||||
nodeClick(data) {
|
||||
this.treeDeptId = data.id;
|
||||
this.page.currentPage = 1;
|
||||
|
||||
@@ -198,6 +198,7 @@
|
||||
:page.sync="logPage"
|
||||
@size-change="logSizeChange"
|
||||
@current-change="logCurrentChange"
|
||||
ref="logCrud"
|
||||
>
|
||||
<!-- <template slot="menuLeft">
|
||||
<el-button @click="addNewLog" icon="el-icon-plus" type="primary" size="mini">添加</el-button>
|
||||
@@ -206,6 +207,13 @@
|
||||
<el-button type="text" @click="editLogInfo(row.id)" icon="el-icon-edit" size="mini">修改</el-button>
|
||||
<el-button type="text" @click="editLogInfo(row.id)" icon="el-icon-edit" size="mini">查看附件</el-button>
|
||||
</template> -->
|
||||
<template slot-scope="{row,index}" slot="menu">
|
||||
<el-button type="text" icon="el-icon-edit" size="small"
|
||||
v-if="row.serveTheme !== '人工推送岗位' && row.serveTheme !== '人工推送政策'"
|
||||
@click="$refs.logCrud.rowEdit(row, index)"
|
||||
>编辑
|
||||
</el-button>
|
||||
</template>
|
||||
</avue-crud>
|
||||
</el-drawer>
|
||||
<!--新建 编辑分组dialog-->
|
||||
@@ -313,7 +321,83 @@ export default {
|
||||
list: []
|
||||
},
|
||||
phoneItem: null,
|
||||
depTree: []
|
||||
depTree: [],
|
||||
logOption: {
|
||||
editBtn: false,
|
||||
delBtn: true,
|
||||
addBtn: true,
|
||||
viewBtn: true,
|
||||
border: true,
|
||||
index: true,
|
||||
indexLabel: "序号",
|
||||
refreshBtn: false,
|
||||
dialogType: "drawer",
|
||||
height: '100',
|
||||
column: [{
|
||||
label: '服务时间',
|
||||
prop: 'createTime',
|
||||
type: 'date',
|
||||
format: "yyyy-MM-dd",
|
||||
valueFormat: "yyyy-MM-dd HH:mm:ss",
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择服务时间",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
}, {
|
||||
label: '服务名称',
|
||||
prop: 'serveName',
|
||||
display: false,
|
||||
}, {
|
||||
label: '服务发起人',
|
||||
prop: 'fromName',
|
||||
display: false,
|
||||
}, {
|
||||
label: '服务对象',
|
||||
prop: 'toName',
|
||||
display: false,
|
||||
}, {
|
||||
label: '服务类型',
|
||||
prop: 'serveType',
|
||||
type: 'select',
|
||||
dicData: [
|
||||
{label: '普通日志', value: 0},
|
||||
{label: '回访日志', value: 1},
|
||||
{label: '推送岗位日志', value: 2},
|
||||
{label: '推送政策日志', value: 3},
|
||||
],
|
||||
display: false,
|
||||
}, {
|
||||
label: '服务主题',
|
||||
prop: 'serveTheme',
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入服务主题",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
}, {
|
||||
label: '服务内容',
|
||||
span: 24,
|
||||
prop: 'serveContent',
|
||||
type: 'textarea',
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入服务内容",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
}, {
|
||||
label: '备注说明',
|
||||
span: 24,
|
||||
type: 'textarea',
|
||||
prop: 'bak1'
|
||||
}]
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -615,84 +699,6 @@ export default {
|
||||
]
|
||||
}
|
||||
},
|
||||
logOption() {
|
||||
return {
|
||||
editBtn: true,
|
||||
delBtn: true,
|
||||
addBtn: true,
|
||||
viewBtn: true,
|
||||
border: true,
|
||||
index: true,
|
||||
indexLabel: "序号",
|
||||
refreshBtn: false,
|
||||
dialogType: "drawer",
|
||||
height: '100',
|
||||
column: [{
|
||||
label: '服务时间',
|
||||
prop: 'createTime',
|
||||
type: 'date',
|
||||
format: "yyyy-MM-dd",
|
||||
valueFormat: "yyyy-MM-dd HH:mm:ss",
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择服务时间",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
}, {
|
||||
label: '服务名称',
|
||||
prop: 'serveName',
|
||||
display: false,
|
||||
}, {
|
||||
label: '服务发起人',
|
||||
prop: 'fromName',
|
||||
display: false,
|
||||
}, {
|
||||
label: '服务对象',
|
||||
prop: 'toName',
|
||||
display: false,
|
||||
}, {
|
||||
label: '服务类型',
|
||||
prop: 'serveType',
|
||||
type: 'select',
|
||||
dicData: [
|
||||
{label: '普通日志', value: 0},
|
||||
{label: '回访日志', value: 1},
|
||||
{label: '推送岗位日志', value: 2},
|
||||
{label: '推送政策日志', value: 3},
|
||||
],
|
||||
display: false,
|
||||
}, {
|
||||
label: '服务主题',
|
||||
prop: 'serveTheme',
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入服务主题",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
}, {
|
||||
label: '服务内容',
|
||||
span: 24,
|
||||
prop: 'serveContent',
|
||||
type: 'textarea',
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入服务内容",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
}, {
|
||||
label: '备注说明',
|
||||
span: 24,
|
||||
type: 'textarea',
|
||||
prop: 'bak1'
|
||||
}]
|
||||
}
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.initDept();
|
||||
@@ -702,6 +708,13 @@ export default {
|
||||
this.getDept()
|
||||
},
|
||||
methods: {
|
||||
// rowStyle(column) {
|
||||
// if (column.row.serveTheme === '人工推送岗位' || column.row.serveTheme === '人工推送政策') {
|
||||
// this.logOption.editBtn = true
|
||||
// } else {
|
||||
// this.logOption.editBtn = false
|
||||
// }
|
||||
// },
|
||||
async getDept() {
|
||||
let params = {
|
||||
tenantId: '000000'
|
||||
@@ -733,7 +746,8 @@ export default {
|
||||
}).then(async (res) => {
|
||||
let params = {
|
||||
idNumber: _this.phoneItem.idNumber,
|
||||
phone
|
||||
phone,
|
||||
serveId: this.selectInfo.id,
|
||||
}
|
||||
let resData = await phoneUpdate(params)
|
||||
if (resData.data.code === 200) {
|
||||
|
||||
@@ -235,11 +235,11 @@
|
||||
back-text="不符合"
|
||||
dialogWidth="60%"
|
||||
:isInputInfo="false"
|
||||
:placeholder="`请输入不符合潜在 ${selectGroupName} 的具体原因`"
|
||||
:placeholder="`请输入不符合 ${selectGroupName} 的具体原因`"
|
||||
:sub-title="[
|
||||
`请核实人员相关信息,进行以下操作:`,
|
||||
`符合:表示为已初步判定该人员符合 ${selectGroupName} 相关条件,但仍需与该人员主动联系并进一步核实,最终以省就业3.0实际政策经办情况为准。`,
|
||||
`不符合:表示经核查后该人员不符合 ${selectGroupName} 相关条件,并将该人员从潜在的{就业困难}列表中剔除。`,
|
||||
`不符合:表示经核查后该人员不符合 ${selectGroupName} 相关条件,并将该人员从 ${selectGroupName} 列表中剔除。`,
|
||||
'核实完成后会产生服务日志记录。'
|
||||
]"
|
||||
:tips="dialogTips"
|
||||
@@ -896,7 +896,7 @@ export default {
|
||||
this.selectGroupName = groupInfo.groupName
|
||||
switch (groupInfo.groupName) {
|
||||
case '潜在就业困难人员':
|
||||
this.dialogTips = ['人员已死亡', '已经进行就业登记', '享受养老保险待遇', '不满足男性大于等于50岁女性大于等于40岁', '不满足失业登记一年以上', '存在工商信息']
|
||||
this.dialogTips = ['人员已经死亡', '已经进行就业登记', '享受养老保险待遇', '不满足男性大于等于50岁女性大于等于40岁', '不满足失业登记一年以上', '存在工商信息']
|
||||
break
|
||||
case '潜在登记失业人员':
|
||||
this.dialogTips = ['不满足断保3个月', '存在工商信息']
|
||||
@@ -908,10 +908,10 @@ export default {
|
||||
this.dialogTips = ['已经进行就业登记', '存在工商信息', '不是以个人身份参保']
|
||||
break
|
||||
case '潜在公益性岗位申请人员':
|
||||
this.dialogTips = ['人员已死亡', '已经进行就业登记', '享受养老保险待遇', '不满足男性大于等于50岁女性大于等于40岁', '不满足失业登记一年以上', '存在工商信息']
|
||||
this.dialogTips = ['人员已经死亡', '已经进行就业登记', '享受养老保险待遇', '不满足男性大于等于50岁女性大于等于40岁', '不满足失业登记一年以上', '存在工商信息']
|
||||
break
|
||||
case '潜在就业见习申请人员':
|
||||
this.dialogTips = ['已就业登记', '不满足16-24岁']
|
||||
this.dialogTips = ['已经进行就业登记', '不满足16-24岁']
|
||||
break
|
||||
default :
|
||||
this.dialogTips = []
|
||||
@@ -936,7 +936,7 @@ export default {
|
||||
return talentsApproval(params);
|
||||
})
|
||||
.then(() => {
|
||||
this.initDept();
|
||||
// this.initDept();
|
||||
this.onLoad(this.page, this.query);
|
||||
this.dialogFlag = false
|
||||
this.$message.success('操作成功');
|
||||
@@ -964,8 +964,8 @@ export default {
|
||||
return talentsApproval(params);
|
||||
})
|
||||
.then(() => {
|
||||
this.initDept();
|
||||
this.onLoad(this.page, this.query);
|
||||
// this.initDept();
|
||||
// this.onLoad(this.page, this.query);
|
||||
this.dialogFlag = false
|
||||
this.$message.success('操作成功');
|
||||
});
|
||||
|
||||
263
src/views/tenant/main/talents/serverRecords/index.vue
Normal file
263
src/views/tenant/main/talents/serverRecords/index.vue
Normal file
@@ -0,0 +1,263 @@
|
||||
<template>
|
||||
<el-row>
|
||||
<basic-container>
|
||||
<avue-crud
|
||||
:option="option"
|
||||
:table-loading="loading"
|
||||
:data="dataSource"
|
||||
:page.sync="page"
|
||||
ref="crud"
|
||||
v-model="crudValues"
|
||||
:permission="permissionList"
|
||||
@search-change="searchChange"
|
||||
@search-reset="searchReset"
|
||||
@current-change="currentChange"
|
||||
@size-change="sizeChange"
|
||||
class="customPage"
|
||||
:row-style="rowStyle"
|
||||
>
|
||||
</avue-crud>
|
||||
</basic-container>
|
||||
</el-row>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mapGetters} from "vuex";
|
||||
import {getList} from "@/api/tenant/personnelserve";
|
||||
import {isvalidatemobile} from "@/util/validate";
|
||||
import {detail, getDept, getDeptMyTree, talentsDetail} from "@/api/tenant/talents";
|
||||
import {addServeLog, getMainServeUserLog, removeServeLog, updateServeLog} from "@/api/tenant/serve";
|
||||
import {getTenantTalentsWarn, tenantTalentsWarn, updateTenantTalentsWarn} from "@/api/tenant/LocalWarningDisposal";
|
||||
import {getServeLogList} from '@/api/tenant/serverRecords'
|
||||
|
||||
const page = {
|
||||
pageSize: 10,
|
||||
currentPage: 1,
|
||||
total: 0,
|
||||
}
|
||||
const baseOptions = {
|
||||
size: 'medium',
|
||||
dateBtn: false,
|
||||
addBtn: false,
|
||||
editBtn: false,
|
||||
viewBtn: false,
|
||||
delBtn: false,
|
||||
height: "auto",
|
||||
menuWidth: 130,
|
||||
reserveSelection: false,
|
||||
border: true,
|
||||
columnBtn: false,
|
||||
refreshBtn: false,
|
||||
menu: false,
|
||||
tip: false,
|
||||
selection: false,
|
||||
align: 'center',
|
||||
searchMenuSpan: 6,
|
||||
// dialogType: "drawer",
|
||||
searchLabelWidth: 60,
|
||||
}
|
||||
export default {
|
||||
filters: {
|
||||
ellipsis(value) {
|
||||
if (!value) return "";
|
||||
if (value.length > 15) {
|
||||
return value.slice(0, 14) + "...";
|
||||
}
|
||||
return value;
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
dataSource: [],
|
||||
crudValues: {},
|
||||
depTree: [],
|
||||
page: Object.assign({}, page),
|
||||
logPage: Object.assign({}, page),
|
||||
logDataSource: [],
|
||||
loadingLog: false,
|
||||
innerDrawerLog: false,
|
||||
innerDrawerAddLog: false,
|
||||
logValues: {}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(["permission", "userInfo"]),
|
||||
permissionList() {
|
||||
return {
|
||||
addBtn: this.vaildData(this.permission.tenant_main_talents_latent_index_add, false),
|
||||
viewBtn: true,
|
||||
delBtn: this.vaildData(this.permission.tenant_main_talents_latent_index_del, false),
|
||||
editBtn: this.vaildData(this.permission.tenant_main_talents_latent_index_edit, false),
|
||||
};
|
||||
},
|
||||
option() {
|
||||
const self = this;
|
||||
const IdCardNo = (rule, value, callback) => {
|
||||
// if (check18IdCardNo(value)) {
|
||||
callback();
|
||||
// } else {
|
||||
// callback(new Error("身份证格式不正确"));
|
||||
// }
|
||||
};
|
||||
const validateTel = (rule, value, callback) => {
|
||||
if (isvalidatemobile(value)[0]) {
|
||||
callback(new Error(isvalidatemobile(value)[1]));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
return {
|
||||
...baseOptions,
|
||||
column: [
|
||||
{
|
||||
label: "所属机构",
|
||||
prop: "deptId",
|
||||
type: "tree",
|
||||
multiple: false,
|
||||
hide: true,
|
||||
search: true,
|
||||
dicData: this.depTree,
|
||||
props: {
|
||||
label: "title",
|
||||
value: 'value'
|
||||
},
|
||||
searchSpan: 8,
|
||||
searchLabelWidth: 100,
|
||||
},
|
||||
{
|
||||
label: "姓名",
|
||||
prop: "name",
|
||||
display: false
|
||||
},
|
||||
{
|
||||
label: "身份证",
|
||||
prop: "idNumber",
|
||||
search: true,
|
||||
display: false,
|
||||
searchSpan: 8,
|
||||
},
|
||||
{
|
||||
label: '机构名称',
|
||||
prop: 'deptName',
|
||||
display: false
|
||||
},
|
||||
{
|
||||
label: '服务主题',
|
||||
prop: 'serveTheme',
|
||||
display: false
|
||||
},
|
||||
{
|
||||
label: '服务时间',
|
||||
prop: 'time',
|
||||
display: false
|
||||
},
|
||||
{
|
||||
label: "开始时间",
|
||||
prop: "stime",
|
||||
type: "date",
|
||||
placeholder: "请选开始日期",
|
||||
search: true,
|
||||
hide: true,
|
||||
format: "yyyy-MM-dd",
|
||||
valueFormat: "yyyy-MM-dd",
|
||||
searchLabelWidth: 100,
|
||||
searchValue: this.getdate(),
|
||||
searchSpan: 8,
|
||||
},
|
||||
{
|
||||
label: "结束时间",
|
||||
prop: "etime",
|
||||
type: "date",
|
||||
placeholder: "请选择结束日期",
|
||||
search: true,
|
||||
hide: true,
|
||||
format: "yyyy-MM-dd",
|
||||
valueFormat: "yyyy-MM-dd",
|
||||
searchLabelWidth: 100,
|
||||
searchSpan: 8,
|
||||
},
|
||||
]
|
||||
}
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.getDept()
|
||||
this.onLoad(this.page, {...this.query, stime: this.getdate()})
|
||||
},
|
||||
activated() {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.crud.refreshTable()
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
rowStyle(column) {
|
||||
if (column.row.status == "0") {
|
||||
this.option.editBtn = true;
|
||||
} else {
|
||||
this.option.editBtn = false;
|
||||
}
|
||||
},
|
||||
async getDept() {
|
||||
let params = {
|
||||
tenantId: '000000'
|
||||
}
|
||||
let resData = await getDeptMyTree(params)
|
||||
if (resData.data.code === 200) {
|
||||
this.depTree = resData.data.data
|
||||
}
|
||||
},
|
||||
searchChange(params, done) {
|
||||
this.query = params;
|
||||
this.page.currentPage = 1;
|
||||
this.onLoad(this.page, params);
|
||||
done();
|
||||
},
|
||||
searchReset() {
|
||||
this.query = {};
|
||||
this.onLoad(this.page);
|
||||
},
|
||||
currentChange(currentPage) {
|
||||
this.page.currentPage = currentPage;
|
||||
this.onLoad(this.page, this.query);
|
||||
},
|
||||
sizeChange(pageSize) {
|
||||
this.page.pageSize = pageSize;
|
||||
this.onLoad(this.page, this.query);
|
||||
},
|
||||
onLoad(page, params = {}) {
|
||||
const {releaseTimeRange} = params;
|
||||
let paramsed = {
|
||||
current: page.currentPage,
|
||||
pageSize: page.pageSize,
|
||||
...params
|
||||
};
|
||||
this.loading = true;
|
||||
getServeLogList(paramsed).then((res) => {
|
||||
const {total, size, current, records, page} = res.data.data
|
||||
this.dataSource = records;
|
||||
this.loading = false;
|
||||
this.page = {
|
||||
pageSize: size,
|
||||
currentPage: current,
|
||||
total: total,
|
||||
}
|
||||
});
|
||||
},
|
||||
getdate() {
|
||||
let time = new Date();
|
||||
let day = ("0" + time.getDate()).slice(-2);
|
||||
let month = ("0" + (time.getMonth() + 1)).slice(-2);
|
||||
let today = time.getFullYear() + "-" + month + "-" + day;
|
||||
return today;
|
||||
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
|
||||
</style>
|
||||
@@ -27,13 +27,17 @@
|
||||
<!--自定义列-->
|
||||
<template slot="period" slot-scope="{row}">
|
||||
<span v-if="row.startTime && row.endTime">
|
||||
<el-tag type="warning" v-if="row.serviceStatus==0">{{dateFormat(row.startTime)}}-{{dateFormat(row.endTime)}}</el-tag>
|
||||
<el-tag type="success" v-if="row.serviceStatus==1">{{dateFormat(row.startTime)}}-{{dateFormat(row.endTime)}}</el-tag>
|
||||
<el-tag type="danger" v-if="row.serviceStatus==2">{{dateFormat(row.startTime)}}-{{dateFormat(row.endTime)}}</el-tag>
|
||||
<el-tag type="info" v-if="row.serviceStatus==3">{{dateFormat(row.startTime)}}-{{dateFormat(row.endTime)}}</el-tag>
|
||||
<el-tag type="warning"
|
||||
v-if="row.serviceStatus==0">{{ dateFormat(row.startTime) }}-{{ dateFormat(row.endTime) }}</el-tag>
|
||||
<el-tag type="success"
|
||||
v-if="row.serviceStatus==1">{{ dateFormat(row.startTime) }}-{{ dateFormat(row.endTime) }}</el-tag>
|
||||
<el-tag type="danger"
|
||||
v-if="row.serviceStatus==2">{{ dateFormat(row.startTime) }}-{{ dateFormat(row.endTime) }}</el-tag>
|
||||
<el-tag type="info"
|
||||
v-if="row.serviceStatus==3">{{ dateFormat(row.startTime) }}-{{ dateFormat(row.endTime) }}</el-tag>
|
||||
</span>
|
||||
</template>
|
||||
<template slot="serviceStatus" slot-scope="{row}" >
|
||||
<template slot="serviceStatus" slot-scope="{row}">
|
||||
<span>
|
||||
<el-tag type="warning" v-if="row.serviceStatus==0">未生效</el-tag>
|
||||
<el-tag type="success" v-if="row.serviceStatus==1">生效中</el-tag>
|
||||
@@ -52,7 +56,8 @@
|
||||
size="mini"
|
||||
@click="$refs.resume.openDialog(row)"
|
||||
v-if="row.userId && row.userId !== '0'"
|
||||
>查看简历</el-button
|
||||
>查看简历
|
||||
</el-button
|
||||
>
|
||||
<div v-else>暂无简历</div>
|
||||
</div>
|
||||
@@ -64,7 +69,7 @@
|
||||
</template>
|
||||
<!--/自定义列-->
|
||||
<template v-slot:cardNumber="{row}">
|
||||
<span>{{idNumberDDesensitization(row.cardNumber)}}</span>
|
||||
<span>{{ idNumberDDesensitization(row.cardNumber) }}</span>
|
||||
</template>
|
||||
|
||||
</avue-crud>
|
||||
@@ -73,14 +78,15 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { employList, cancelEmploy, } from "@/api/tenant/mission";
|
||||
import {getCode,resetPwd} from "@/api/manage/econtract.js";//api
|
||||
import {employList, cancelEmploy,} from "@/api/tenant/mission";
|
||||
import {getCode, resetPwd} from "@/api/manage/econtract.js";//api
|
||||
import Resume from "@/components/resume/index";
|
||||
import { idNumberDDesensitization } from "@/util/util";
|
||||
import {idNumberDDesensitization} from "@/util/util";
|
||||
import {mapGetters} from 'vuex'
|
||||
import { dateFormat } from "@/util/date";
|
||||
import {dateFormat} from "@/util/date";
|
||||
import {getConfig} from '@/api/tenant/config'
|
||||
import EmployInformation from "./EmployInformation";
|
||||
|
||||
export default {
|
||||
comments: {},
|
||||
components: {
|
||||
@@ -92,11 +98,10 @@ export default {
|
||||
},
|
||||
|
||||
data() {
|
||||
const validatePwdLength=(rule,value,callback)=>{
|
||||
if(value.length!=6 || isNaN(Number(value))){
|
||||
const validatePwdLength = (rule, value, callback) => {
|
||||
if (value.length != 6 || isNaN(Number(value))) {
|
||||
callback(new Error('请输入6位数的数字密码'));
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
}
|
||||
@@ -104,44 +109,42 @@ export default {
|
||||
const validatePwd = (rule, value, callback) => {
|
||||
if (value != this.resetPwdForm.pwd) {
|
||||
callback(new Error('两次输入密码不一致'));
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
const validPwdNums=(rule,value,callback)=>{
|
||||
if(value.length!=6 || isNaN(Number(value))){
|
||||
const validPwdNums = (rule, value, callback) => {
|
||||
if (value.length != 6 || isNaN(Number(value))) {
|
||||
callback(new Error('请输入6位数的数字密码'));
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
selectTaskInfo:{},
|
||||
getUserConfig:{},
|
||||
selectTaskInfo: {},
|
||||
getUserConfig: {},
|
||||
checkDisplayVisible: false,
|
||||
fpTitleId:'',
|
||||
fpTitleId: '',
|
||||
fpData: {},
|
||||
pwdFormRules:{
|
||||
pwd:[
|
||||
pwdFormRules: {
|
||||
pwd: [
|
||||
{
|
||||
required:true,message:'请输入密码',trigger:'blur'
|
||||
required: true, message: '请输入密码', trigger: 'blur'
|
||||
},
|
||||
{
|
||||
validator:validatePwdLength,trigger:'blur'
|
||||
validator: validatePwdLength, trigger: 'blur'
|
||||
},
|
||||
|
||||
]
|
||||
},
|
||||
selectionFlag:true,
|
||||
selectionFlag: true,
|
||||
/*忘记密码*/
|
||||
resetPwdDialogVisible:false,
|
||||
resetPwdForm:{},
|
||||
formLabelWidth:'150px',
|
||||
resetPwdDialogVisible: false,
|
||||
resetPwdForm: {},
|
||||
formLabelWidth: '150px',
|
||||
msgText: '获取验证码',
|
||||
msgTime:120,
|
||||
msgTime: 120,
|
||||
//重置密码校验
|
||||
resetPwdRules: {
|
||||
code: [
|
||||
@@ -168,13 +171,13 @@ export default {
|
||||
|
||||
},
|
||||
|
||||
loadingbut:false,
|
||||
loadingbuttext:'确定',
|
||||
downLoadRow:{},
|
||||
dataCurClick:{},
|
||||
employDataIds:1,
|
||||
employNum:1,
|
||||
imgStr:'',
|
||||
loadingbut: false,
|
||||
loadingbuttext: '确定',
|
||||
downLoadRow: {},
|
||||
dataCurClick: {},
|
||||
employDataIds: 1,
|
||||
employNum: 1,
|
||||
imgStr: '',
|
||||
isIndeterminate: false,
|
||||
checkAll: false,
|
||||
checked: false,
|
||||
@@ -183,7 +186,7 @@ export default {
|
||||
selectionList: [],
|
||||
dialogVisible: false,
|
||||
dialogVisible1: false,
|
||||
contractId:'',
|
||||
contractId: '',
|
||||
labelPosition: 'right',
|
||||
pwdForm: {
|
||||
pwd: ''
|
||||
@@ -227,11 +230,11 @@ export default {
|
||||
editBtn: false,
|
||||
excelBtn: false,
|
||||
columnBtn: false,
|
||||
searchBtn: true,
|
||||
searchShow: true,
|
||||
searchBtn: false,
|
||||
searchShow: false,
|
||||
searchMenuSpan: 6,
|
||||
searchLabelWidth: 60,
|
||||
menu:false,
|
||||
menu: false,
|
||||
// menuPosition: "center",
|
||||
labelPosition: "right",
|
||||
border: true,
|
||||
@@ -258,15 +261,12 @@ export default {
|
||||
{
|
||||
label: "姓名",
|
||||
prop: "realName",
|
||||
search: true,
|
||||
searchSpan: 4,
|
||||
width:70,
|
||||
},
|
||||
{
|
||||
label: "性别",
|
||||
prop: "sex",
|
||||
search: false,
|
||||
width:50,
|
||||
dicData: [
|
||||
{
|
||||
label: "男",
|
||||
@@ -282,48 +282,17 @@ export default {
|
||||
label: "年龄",
|
||||
prop: "age",
|
||||
search: false,
|
||||
width:50,
|
||||
},
|
||||
{
|
||||
label: "手机号",
|
||||
prop: "telphone",
|
||||
search: false,
|
||||
width:100,
|
||||
},
|
||||
{
|
||||
label: "身份证",
|
||||
prop: "cardNumber",
|
||||
search: false,
|
||||
slot: true,
|
||||
width:110
|
||||
},
|
||||
{
|
||||
label: "工种",
|
||||
prop: "workTypes",
|
||||
},
|
||||
{
|
||||
label: "来源",
|
||||
prop: "src",
|
||||
search: false,
|
||||
width:70,
|
||||
},
|
||||
{
|
||||
label: "人才库",
|
||||
prop: "groupId",
|
||||
type: "tree",
|
||||
span: 24,
|
||||
search: true,
|
||||
display: true,
|
||||
width: '150',
|
||||
dicUrl: `/api/jobslink-api/tenant/talents/group/listAll`,
|
||||
dicFormatter: (res) => {
|
||||
return res.data.list; //返回字典的层级结构
|
||||
},
|
||||
props: {
|
||||
label: "groupName",
|
||||
value: "id",
|
||||
},
|
||||
placeholder: "请选择分组",
|
||||
},
|
||||
],
|
||||
};
|
||||
@@ -341,25 +310,25 @@ export default {
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
checkDisplayVisibleClose(){
|
||||
checkDisplayVisibleClose() {
|
||||
this.checkDisplayVisible = false;
|
||||
},
|
||||
rowEmployDisabled(){
|
||||
rowEmployDisabled() {
|
||||
},
|
||||
dateFormat(date){
|
||||
return dateFormat(new Date(date),'yyyy/MM/dd')
|
||||
dateFormat(date) {
|
||||
return dateFormat(new Date(date), 'yyyy/MM/dd')
|
||||
},
|
||||
idNumberDDesensitization,
|
||||
drawerClose(){
|
||||
drawerClose() {
|
||||
this.$emit('refresh');
|
||||
this.drawer = false;
|
||||
},
|
||||
radioButtonChange(){
|
||||
radioButtonChange() {
|
||||
this.query.realName = '';
|
||||
this.query.groupId = '';
|
||||
if(this.query.status == 2){
|
||||
if (this.query.status == 2) {
|
||||
this.selectionFlag = false;
|
||||
}else{
|
||||
} else {
|
||||
this.selectionFlag = true;
|
||||
}
|
||||
},
|
||||
@@ -382,7 +351,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",
|
||||
@@ -456,7 +425,7 @@ export default {
|
||||
},
|
||||
/*加载数据*/
|
||||
onLoad(page, params) {
|
||||
getConfig().then((res)=>{
|
||||
getConfig().then((res) => {
|
||||
this.getUserConfig = res.data.data;
|
||||
});
|
||||
this.loading = true;
|
||||
@@ -469,7 +438,7 @@ export default {
|
||||
).then((res) => {
|
||||
const data = res.data.data;
|
||||
this.page.total = data.total;
|
||||
this.data=data.records;
|
||||
this.data = data.records;
|
||||
// if(this.getUserConfig.insuranceOn == 1){
|
||||
// this.data.forEach((ele)=>{
|
||||
// if(!ele.effect){
|
||||
@@ -498,12 +467,12 @@ export default {
|
||||
backIndex() {
|
||||
this.$emit("refresh");
|
||||
},
|
||||
forgetPwd(){
|
||||
this.phone=this.userInfo.account;
|
||||
var pat=/(\d{3})\d*(\d{4})/;
|
||||
this.phone=this.phone.replace(pat,'$1****$2');
|
||||
this.resetPwdDialogVisible=true;
|
||||
this.resetPwdForm={};
|
||||
forgetPwd() {
|
||||
this.phone = this.userInfo.account;
|
||||
var pat = /(\d{3})\d*(\d{4})/;
|
||||
this.phone = this.phone.replace(pat, '$1****$2');
|
||||
this.resetPwdDialogVisible = true;
|
||||
this.resetPwdForm = {};
|
||||
},
|
||||
/*获取验证码*/
|
||||
getCode() {
|
||||
@@ -534,11 +503,11 @@ export default {
|
||||
submitResetPwd() {
|
||||
this.$refs.resetPwdForm.validate(valid => {
|
||||
if (valid) {
|
||||
resetPwd(this.userInfo.account,this.resetPwdForm.pwd,this.resetPwdForm.code).then(()=>{
|
||||
resetPwd(this.userInfo.account, this.resetPwdForm.pwd, this.resetPwdForm.code).then(() => {
|
||||
this.$message.success('密码重置成功');
|
||||
this.resetPwdDialogVisible=false;
|
||||
this.resetPwdDialogVisible = false;
|
||||
})
|
||||
.catch((err)=>{
|
||||
.catch((err) => {
|
||||
this.$message.error(err);
|
||||
})
|
||||
}
|
||||
@@ -549,24 +518,28 @@ export default {
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.selectBtn{
|
||||
.selectBtn {
|
||||
color: #787879 !important;
|
||||
}
|
||||
.selectBtn:hover{
|
||||
}
|
||||
|
||||
.selectBtn:hover {
|
||||
color: #787879 !important;
|
||||
}
|
||||
.tipsWrap{
|
||||
}
|
||||
|
||||
.tipsWrap {
|
||||
font-size: 14px;
|
||||
color: #ff0000;
|
||||
position: absolute;
|
||||
top: 26px;
|
||||
left: 120px;
|
||||
}
|
||||
.employ-employNum-count{
|
||||
|
||||
.employ-employNum-count {
|
||||
color: #2098ee;
|
||||
}
|
||||
.employ-forgetPwd{
|
||||
}
|
||||
|
||||
.employ-forgetPwd {
|
||||
float: right;
|
||||
margin-top: -33px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -56,15 +56,19 @@
|
||||
<!--自定义操作栏-->
|
||||
<div slot="menu" slot-scope="{ size, type, row }">
|
||||
<!-- <el-button type="text" size="mini" @click="recommend(row)">重点人群推送</el-button> -->
|
||||
<el-button type="text" size="mini" @click="employ(row, 1)">申请录用</el-button>
|
||||
<el-button v-if="row.reviewState === 1" type="text" size="mini" @click="employ(row, 1)">申请录用</el-button>
|
||||
<el-button icon="el-icon-view" type="text" v-if="row.reviewState === 8" size="mini" @click="employmentNum(row)">
|
||||
已录用
|
||||
</el-button>
|
||||
<el-button icon="el-icon-view" :size="size" :type="type" @click.stop="rowView(row)"
|
||||
v-show="vaildData(permission.tenant_mission_view, false)">查看
|
||||
</el-button>
|
||||
<!-- <save-button icon="el-icon-check" :size="size" :type="type" @click="rowCopy(row, 'copy')">复制</save-button> -->
|
||||
<el-button icon="el-icon-edit" :size="size" :type="type" @click="rowCopy(row, 'edit')"
|
||||
v-if="row.reviewState === 0 || row.reviewState === 1"
|
||||
:disabled="row.signUpCount !== 0" v-show="vaildData(permission.tenant_mission_edit, false)">编辑
|
||||
</el-button>
|
||||
<el-button v-if="row.reviewState !== 8" icon="el-icon-delete" :size="size" :type="type"
|
||||
<el-button v-if="row.reviewState !== 9" icon="el-icon-delete" :size="size" :type="type"
|
||||
@click="$refs.crud.rowDel(row)"
|
||||
:disabled="row.signUpCount !== 0" v-show="vaildData(permission.tenant_mission_cancel, false)">取消
|
||||
</el-button>
|
||||
|
||||
@@ -1,107 +1,7 @@
|
||||
<template>
|
||||
<basic-container>
|
||||
<!--搜索栏-->
|
||||
<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="search.missionTitle" placeholder="任务名称" clearable></el-input>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="机构名称:">
|
||||
<el-input
|
||||
v-model="search.companyName"
|
||||
placeholder="机构名称"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="岗位编码:">
|
||||
<el-input
|
||||
v-model="search.missionNo"
|
||||
placeholder="岗位编码"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="地址:">
|
||||
<el-input
|
||||
v-model="search.address"
|
||||
placeholder="北京-北京市-崇文区"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="岗位名称:">
|
||||
<el-input
|
||||
v-model="search.missionTitle"
|
||||
placeholder="岗位名称"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="零工工种:">
|
||||
<el-input
|
||||
v-model="search.worktypeNames"
|
||||
placeholder="零工工种"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="审核状态:">
|
||||
<el-select v-model="search.reviewState">
|
||||
<el-option
|
||||
v-for="(item, index) in recruitStatus"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="学历:">
|
||||
<el-select v-model="search.education">
|
||||
<el-option
|
||||
v-for="(item, index) in educationState"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="任务状态:">
|
||||
<el-select v-model="search.status" placeholder="任务状态" style="width:100%">
|
||||
<el-option
|
||||
v-for="(item,key,index) in missionTypes"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="">
|
||||
<el-select v-model="search.state" placeholder="请选择搜索时间类型" style="width: 100%" @change="date">
|
||||
<el-option
|
||||
v-for="(item, key, index) in timeScreenTerm"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="">
|
||||
<el-date-picker
|
||||
:disabled="!search.state"
|
||||
v-model="timeValue"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
format="yyyy 年 MM 月 dd 日"
|
||||
value-format="yyyy-MM-dd"
|
||||
@change="dateChange">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<tool-tip ></tool-tip> -->
|
||||
|
||||
<div class="searchBtn">
|
||||
<el-button type="primary" size="small" icon="el-icon-search" @click="handleSearch">搜 索</el-button>
|
||||
<el-button size="small" icon="el-icon-delete" @click="handleClear">清 空</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<avue-form :option="option" v-model="search" @submit="handleSearch" @reset-change="handleClear"></avue-form>
|
||||
<!--/搜索栏-->
|
||||
<waiting-mission ref="waiting" v-if="search.status === 1" @refresh="handleClear"></waiting-mission>
|
||||
<ongoing-mission ref="onging" v-if="search.status === 2" @refresh="handleClear"></ongoing-mission>
|
||||
@@ -116,7 +16,11 @@ import OngoingMission from './Table/OngoingMission'
|
||||
import FinishedMission from './Table/FinishedMission'
|
||||
import ExpiredMission from './Table/ExpiredMission'
|
||||
import {companyMissionState, educationState, recruitStatus} from '@/common/dic'
|
||||
import {getDeptMyTree} from "@/api/tenant/talents";
|
||||
|
||||
const searchData = {
|
||||
status: 1
|
||||
}
|
||||
export default {
|
||||
comments: {},
|
||||
name: "tenant_mission",
|
||||
@@ -134,10 +38,10 @@ export default {
|
||||
currentPage: 1,
|
||||
total: 0,
|
||||
},
|
||||
search: {
|
||||
status: 1
|
||||
},
|
||||
timeScreenTerm: [{
|
||||
search: Object.assign({}, searchData),
|
||||
depTree: [],
|
||||
timeScreenTerm: [
|
||||
{
|
||||
value: 2,
|
||||
label: '开始日期',
|
||||
},
|
||||
@@ -156,18 +60,85 @@ export default {
|
||||
FinishedMission,
|
||||
ExpiredMission
|
||||
},
|
||||
computed: {},
|
||||
computed: {
|
||||
option() {
|
||||
return {
|
||||
menuSpan: 6,
|
||||
column: [
|
||||
{
|
||||
label: "所属机构",
|
||||
prop: "deptId",
|
||||
type: "tree",
|
||||
multiple: false,
|
||||
dicData: this.depTree,
|
||||
props: {
|
||||
label: "title",
|
||||
value: 'value'
|
||||
},
|
||||
span: 6,
|
||||
},
|
||||
{
|
||||
label: '机构名称',
|
||||
prop: 'companyName',
|
||||
span: 6,
|
||||
},
|
||||
{
|
||||
label: '岗位名称',
|
||||
prop: 'missionTitle',
|
||||
span: 6,
|
||||
},
|
||||
{
|
||||
label: '地址',
|
||||
prop: 'address',
|
||||
placeholder: "北京-北京市-崇文区",
|
||||
span: 6,
|
||||
}, {
|
||||
label: '零工工种',
|
||||
prop: 'worktypeNames',
|
||||
span: 6,
|
||||
},
|
||||
{
|
||||
label: '审核状态',
|
||||
prop: 'reviewState',
|
||||
type: 'select',
|
||||
dicData: recruitStatus,
|
||||
span: 6,
|
||||
}, {
|
||||
label: '学历',
|
||||
prop: 'education',
|
||||
type: 'select',
|
||||
dicData: educationState,
|
||||
span: 6,
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
created() {
|
||||
this.getDept()
|
||||
},
|
||||
methods: {
|
||||
handleSearch() {
|
||||
|
||||
handleSearch(form, done) {
|
||||
if (this.search.status === 1) {
|
||||
this.$refs.waiting.onLoad(this.page, this.search);
|
||||
this.$refs.waiting.onLoad(this.page, this.$api.filterObject(this.search));
|
||||
} else if (this.search.status === 2) {
|
||||
this.$refs.onging.onLoad(this.page, this.search);
|
||||
this.$refs.onging.onLoad(this.page, this.$api.filterObject(this.search));
|
||||
} else if (this.search.status === 3) {
|
||||
this.$refs.finished.onLoad(this.page, this.search);
|
||||
this.$refs.finished.onLoad(this.page, this.$api.filterObject(this.search));
|
||||
} else if (this.search.status === 4) {
|
||||
this.$refs.expired.onLoad(this.page, this.search);
|
||||
this.$refs.expired.onLoad(this.page, this.$api.filterObject(this.search));
|
||||
}
|
||||
done && done()
|
||||
},
|
||||
async getDept() {
|
||||
let params = {
|
||||
tenantId: '000000'
|
||||
}
|
||||
let resData = await getDeptMyTree(params)
|
||||
if (resData.data.code === 200) {
|
||||
this.depTree = resData.data.data
|
||||
}
|
||||
},
|
||||
date() {
|
||||
@@ -192,26 +163,10 @@ export default {
|
||||
|
||||
},
|
||||
handleClear() {
|
||||
let curStatus = this.search.status;
|
||||
this.search = {
|
||||
status: curStatus,
|
||||
missionNo: '',
|
||||
missionTitle: '',
|
||||
stime: '',
|
||||
etime: '',
|
||||
etimePubBeginTime: '',
|
||||
etimePubEndTime: '',
|
||||
stimeBeginTime: '',
|
||||
stimeEndTime: '',
|
||||
etimeBeninTime: '',
|
||||
etimeEndTime: '',
|
||||
|
||||
}
|
||||
this.timeValue = '';
|
||||
this.endDateRange = '';
|
||||
this.beginTimeValue = "";
|
||||
this.successTimeValue = "";
|
||||
this.$nextTick(() => {
|
||||
this.search = Object.assign({}, searchData)
|
||||
this.handleSearch()
|
||||
})
|
||||
},
|
||||
// 开始时间
|
||||
beginDateChange(val) {
|
||||
|
||||
@@ -27,13 +27,17 @@
|
||||
<!--自定义列-->
|
||||
<template slot="period" slot-scope="{row}">
|
||||
<span v-if="row.startTime && row.endTime">
|
||||
<el-tag type="warning" v-if="row.serviceStatus==0">{{dateFormat(row.startTime)}}-{{dateFormat(row.endTime)}}</el-tag>
|
||||
<el-tag type="success" v-if="row.serviceStatus==1">{{dateFormat(row.startTime)}}-{{dateFormat(row.endTime)}}</el-tag>
|
||||
<el-tag type="danger" v-if="row.serviceStatus==2">{{dateFormat(row.startTime)}}-{{dateFormat(row.endTime)}}</el-tag>
|
||||
<el-tag type="info" v-if="row.serviceStatus==3">{{dateFormat(row.startTime)}}-{{dateFormat(row.endTime)}}</el-tag>
|
||||
<el-tag type="warning"
|
||||
v-if="row.serviceStatus==0">{{ dateFormat(row.startTime) }}-{{ dateFormat(row.endTime) }}</el-tag>
|
||||
<el-tag type="success"
|
||||
v-if="row.serviceStatus==1">{{ dateFormat(row.startTime) }}-{{ dateFormat(row.endTime) }}</el-tag>
|
||||
<el-tag type="danger"
|
||||
v-if="row.serviceStatus==2">{{ dateFormat(row.startTime) }}-{{ dateFormat(row.endTime) }}</el-tag>
|
||||
<el-tag type="info"
|
||||
v-if="row.serviceStatus==3">{{ dateFormat(row.startTime) }}-{{ dateFormat(row.endTime) }}</el-tag>
|
||||
</span>
|
||||
</template>
|
||||
<template slot="serviceStatus" slot-scope="{row}" >
|
||||
<template slot="serviceStatus" slot-scope="{row}">
|
||||
<span>
|
||||
<el-tag type="warning" v-if="row.serviceStatus==0">未生效</el-tag>
|
||||
<el-tag type="success" v-if="row.serviceStatus==1">生效中</el-tag>
|
||||
@@ -52,7 +56,8 @@
|
||||
size="mini"
|
||||
@click="$refs.resume.openDialog(row)"
|
||||
v-if="row.userId && row.userId !== '0'"
|
||||
>查看简历</el-button
|
||||
>查看简历
|
||||
</el-button
|
||||
>
|
||||
<div v-else>暂无简历</div>
|
||||
</div>
|
||||
@@ -64,7 +69,7 @@
|
||||
</template>
|
||||
<!--/自定义列-->
|
||||
<template v-slot:cardNumber="{row}">
|
||||
<span>{{idNumberDDesensitization(row.cardNumber)}}</span>
|
||||
<span>{{ idNumberDDesensitization(row.cardNumber) }}</span>
|
||||
</template>
|
||||
|
||||
</avue-crud>
|
||||
@@ -73,14 +78,15 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { employList, cancelEmploy, } from "@/api/tenant/postzp";
|
||||
import {getCode,resetPwd} from "@/api/manage/econtract.js";//api
|
||||
import {employList, cancelEmploy,} from "@/api/tenant/postzp";
|
||||
import {getCode, resetPwd} from "@/api/manage/econtract.js";//api
|
||||
import Resume from "@/components/resume/index";
|
||||
import { idNumberDDesensitization } from "@/util/util";
|
||||
import {idNumberDDesensitization} from "@/util/util";
|
||||
import {mapGetters} from 'vuex'
|
||||
import { dateFormat } from "@/util/date";
|
||||
import {dateFormat} from "@/util/date";
|
||||
import {getConfig} from '@/api/tenant/config'
|
||||
import EmployInformation from "./EmployInformation";
|
||||
|
||||
export default {
|
||||
comments: {},
|
||||
components: {
|
||||
@@ -92,11 +98,10 @@ export default {
|
||||
},
|
||||
|
||||
data() {
|
||||
const validatePwdLength=(rule,value,callback)=>{
|
||||
if(value.length!=6 || isNaN(Number(value))){
|
||||
const validatePwdLength = (rule, value, callback) => {
|
||||
if (value.length != 6 || isNaN(Number(value))) {
|
||||
callback(new Error('请输入6位数的数字密码'));
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
}
|
||||
@@ -104,44 +109,42 @@ export default {
|
||||
const validatePwd = (rule, value, callback) => {
|
||||
if (value != this.resetPwdForm.pwd) {
|
||||
callback(new Error('两次输入密码不一致'));
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
const validPwdNums=(rule,value,callback)=>{
|
||||
if(value.length!=6 || isNaN(Number(value))){
|
||||
const validPwdNums = (rule, value, callback) => {
|
||||
if (value.length != 6 || isNaN(Number(value))) {
|
||||
callback(new Error('请输入6位数的数字密码'));
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
selectTaskInfo:{},
|
||||
getUserConfig:{},
|
||||
selectTaskInfo: {},
|
||||
getUserConfig: {},
|
||||
checkDisplayVisible: false,
|
||||
fpTitleId:'',
|
||||
fpTitleId: '',
|
||||
fpData: {},
|
||||
pwdFormRules:{
|
||||
pwd:[
|
||||
pwdFormRules: {
|
||||
pwd: [
|
||||
{
|
||||
required:true,message:'请输入密码',trigger:'blur'
|
||||
required: true, message: '请输入密码', trigger: 'blur'
|
||||
},
|
||||
{
|
||||
validator:validatePwdLength,trigger:'blur'
|
||||
validator: validatePwdLength, trigger: 'blur'
|
||||
},
|
||||
|
||||
]
|
||||
},
|
||||
selectionFlag:true,
|
||||
selectionFlag: true,
|
||||
/*忘记密码*/
|
||||
resetPwdDialogVisible:false,
|
||||
resetPwdForm:{},
|
||||
formLabelWidth:'150px',
|
||||
resetPwdDialogVisible: false,
|
||||
resetPwdForm: {},
|
||||
formLabelWidth: '150px',
|
||||
msgText: '获取验证码',
|
||||
msgTime:120,
|
||||
msgTime: 120,
|
||||
//重置密码校验
|
||||
resetPwdRules: {
|
||||
code: [
|
||||
@@ -168,13 +171,13 @@ export default {
|
||||
|
||||
},
|
||||
|
||||
loadingbut:false,
|
||||
loadingbuttext:'确定',
|
||||
downLoadRow:{},
|
||||
dataCurClick:{},
|
||||
employDataIds:1,
|
||||
employNum:1,
|
||||
imgStr:'',
|
||||
loadingbut: false,
|
||||
loadingbuttext: '确定',
|
||||
downLoadRow: {},
|
||||
dataCurClick: {},
|
||||
employDataIds: 1,
|
||||
employNum: 1,
|
||||
imgStr: '',
|
||||
isIndeterminate: false,
|
||||
checkAll: false,
|
||||
checked: false,
|
||||
@@ -183,7 +186,7 @@ export default {
|
||||
selectionList: [],
|
||||
dialogVisible: false,
|
||||
dialogVisible1: false,
|
||||
contractId:'',
|
||||
contractId: '',
|
||||
labelPosition: 'right',
|
||||
pwdForm: {
|
||||
pwd: ''
|
||||
@@ -227,11 +230,11 @@ export default {
|
||||
editBtn: false,
|
||||
excelBtn: false,
|
||||
columnBtn: false,
|
||||
searchBtn: true,
|
||||
searchShow: true,
|
||||
searchBtn: false,
|
||||
searchShow: false,
|
||||
searchMenuSpan: 6,
|
||||
searchLabelWidth: 60,
|
||||
menu:false,
|
||||
menu: false,
|
||||
// menuPosition: "center",
|
||||
labelPosition: "right",
|
||||
border: true,
|
||||
@@ -258,15 +261,12 @@ export default {
|
||||
{
|
||||
label: "姓名",
|
||||
prop: "realName",
|
||||
search: true,
|
||||
searchSpan: 4,
|
||||
width:70,
|
||||
},
|
||||
{
|
||||
label: "性别",
|
||||
prop: "sex",
|
||||
search: false,
|
||||
width:50,
|
||||
dicData: [
|
||||
{
|
||||
label: "男",
|
||||
@@ -282,48 +282,17 @@ export default {
|
||||
label: "年龄",
|
||||
prop: "age",
|
||||
search: false,
|
||||
width:50,
|
||||
},
|
||||
{
|
||||
label: "手机号",
|
||||
prop: "telphone",
|
||||
search: false,
|
||||
width:100,
|
||||
},
|
||||
{
|
||||
label: "身份证",
|
||||
prop: "cardNumber",
|
||||
search: false,
|
||||
slot: true,
|
||||
width:110
|
||||
},
|
||||
{
|
||||
label: "工种",
|
||||
prop: "workTypes",
|
||||
},
|
||||
{
|
||||
label: "来源",
|
||||
prop: "src",
|
||||
search: false,
|
||||
width:70,
|
||||
},
|
||||
{
|
||||
label: "人才库",
|
||||
prop: "groupId",
|
||||
type: "tree",
|
||||
span: 24,
|
||||
search: true,
|
||||
display: true,
|
||||
width: '150',
|
||||
dicUrl: `/api/jobslink-api/tenant/talents/group/listAll`,
|
||||
dicFormatter: (res) => {
|
||||
return res.data.list; //返回字典的层级结构
|
||||
},
|
||||
props: {
|
||||
label: "groupName",
|
||||
value: "id",
|
||||
},
|
||||
placeholder: "请选择分组",
|
||||
},
|
||||
],
|
||||
};
|
||||
@@ -341,25 +310,25 @@ export default {
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
checkDisplayVisibleClose(){
|
||||
checkDisplayVisibleClose() {
|
||||
this.checkDisplayVisible = false;
|
||||
},
|
||||
rowEmployDisabled(){
|
||||
rowEmployDisabled() {
|
||||
},
|
||||
dateFormat(date){
|
||||
return dateFormat(new Date(date),'yyyy/MM/dd')
|
||||
dateFormat(date) {
|
||||
return dateFormat(new Date(date), 'yyyy/MM/dd')
|
||||
},
|
||||
idNumberDDesensitization,
|
||||
drawerClose(){
|
||||
drawerClose() {
|
||||
this.$emit('refresh');
|
||||
this.drawer = false;
|
||||
},
|
||||
radioButtonChange(){
|
||||
radioButtonChange() {
|
||||
this.query.realName = '';
|
||||
this.query.groupId = '';
|
||||
if(this.query.status == 2){
|
||||
if (this.query.status == 2) {
|
||||
this.selectionFlag = false;
|
||||
}else{
|
||||
} else {
|
||||
this.selectionFlag = true;
|
||||
}
|
||||
},
|
||||
@@ -382,7 +351,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",
|
||||
@@ -456,7 +425,7 @@ export default {
|
||||
},
|
||||
/*加载数据*/
|
||||
onLoad(page, params) {
|
||||
getConfig().then((res)=>{
|
||||
getConfig().then((res) => {
|
||||
this.getUserConfig = res.data.data;
|
||||
});
|
||||
this.loading = true;
|
||||
@@ -469,7 +438,7 @@ export default {
|
||||
).then((res) => {
|
||||
const data = res.data.data;
|
||||
this.page.total = data.total;
|
||||
this.data=data.records;
|
||||
this.data = data.records;
|
||||
// if(this.getUserConfig.insuranceOn == 1){
|
||||
// this.data.forEach((ele)=>{
|
||||
// if(!ele.effect){
|
||||
@@ -498,12 +467,12 @@ export default {
|
||||
backIndex() {
|
||||
this.$emit("refresh");
|
||||
},
|
||||
forgetPwd(){
|
||||
this.phone=this.userInfo.account;
|
||||
var pat=/(\d{3})\d*(\d{4})/;
|
||||
this.phone=this.phone.replace(pat,'$1****$2');
|
||||
this.resetPwdDialogVisible=true;
|
||||
this.resetPwdForm={};
|
||||
forgetPwd() {
|
||||
this.phone = this.userInfo.account;
|
||||
var pat = /(\d{3})\d*(\d{4})/;
|
||||
this.phone = this.phone.replace(pat, '$1****$2');
|
||||
this.resetPwdDialogVisible = true;
|
||||
this.resetPwdForm = {};
|
||||
},
|
||||
/*获取验证码*/
|
||||
getCode() {
|
||||
@@ -534,11 +503,11 @@ export default {
|
||||
submitResetPwd() {
|
||||
this.$refs.resetPwdForm.validate(valid => {
|
||||
if (valid) {
|
||||
resetPwd(this.userInfo.account,this.resetPwdForm.pwd,this.resetPwdForm.code).then(()=>{
|
||||
resetPwd(this.userInfo.account, this.resetPwdForm.pwd, this.resetPwdForm.code).then(() => {
|
||||
this.$message.success('密码重置成功');
|
||||
this.resetPwdDialogVisible=false;
|
||||
this.resetPwdDialogVisible = false;
|
||||
})
|
||||
.catch((err)=>{
|
||||
.catch((err) => {
|
||||
this.$message.error(err);
|
||||
})
|
||||
}
|
||||
@@ -549,24 +518,28 @@ export default {
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.selectBtn{
|
||||
.selectBtn {
|
||||
color: #787879 !important;
|
||||
}
|
||||
.selectBtn:hover{
|
||||
}
|
||||
|
||||
.selectBtn:hover {
|
||||
color: #787879 !important;
|
||||
}
|
||||
.tipsWrap{
|
||||
}
|
||||
|
||||
.tipsWrap {
|
||||
font-size: 14px;
|
||||
color: #ff0000;
|
||||
position: absolute;
|
||||
top: 26px;
|
||||
left: 120px;
|
||||
}
|
||||
.employ-employNum-count{
|
||||
|
||||
.employ-employNum-count {
|
||||
color: #2098ee;
|
||||
}
|
||||
.employ-forgetPwd{
|
||||
}
|
||||
|
||||
.employ-forgetPwd {
|
||||
float: right;
|
||||
margin-top: -33px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -59,16 +59,18 @@
|
||||
<!--自定义操作栏-->
|
||||
<div slot="menu" slot-scope="{ size, type, row }">
|
||||
<!-- <el-button type="text" size="mini" @click="recommend(row)">重点人群推送</el-button> -->
|
||||
<el-button type="text" size="mini" @click="employ(row, 1)">申请录用</el-button>
|
||||
<el-button type="text" v-if="row.reviewState === 1" size="mini" @click="employ(row, 1)">申请录用</el-button>
|
||||
<el-button type="text" v-if="row.reviewState === 2" size="mini" @click="employmentNum(row)">已录用</el-button>
|
||||
<el-button icon="el-icon-view" :size="size" :type="type" @click.stop="rowView(row)"
|
||||
v-show="vaildData(permission.tenant_mission_view, false)">查看
|
||||
</el-button>
|
||||
<!-- <save-button icon="el-icon-check" :size="size" :type="type" @click="rowCopy(row, 'copy')">复制</save-button> -->
|
||||
<el-button icon="el-icon-edit" :size="size" :type="type" @click="rowCopy(row, 'edit')" :disabled="false"
|
||||
v-if="row.reviewState === 0 || row.reviewState === 1"
|
||||
v-show="vaildData(permission.tenant_mission_edit, false)">编辑
|
||||
</el-button>
|
||||
<el-button icon="el-icon-delete" :size="size" :type="type" @click="$refs.crud.rowDel(row)" :disabled="false"
|
||||
v-show="vaildData(permission.tenant_mission_cancel, false)" v-if="row.reviewState !== 8">取消
|
||||
v-show="vaildData(permission.tenant_mission_cancel, false)" v-if="row.reviewState !== 9">取消
|
||||
</el-button>
|
||||
<!-- <el-button type="text" size="mini" @click="contrast(row)"
|
||||
>比对人才库</el-button> -->
|
||||
|
||||
@@ -1,156 +1,8 @@
|
||||
<template>
|
||||
<basic-container>
|
||||
<!--搜索栏-->
|
||||
<!-- <el-form size="small" label-position="right" :inline="true" style="padding-left: 10px;padding-right: 10px;">
|
||||
<el-row :span="24">
|
||||
<el-form-item label-width="0">
|
||||
<el-select v-model="search.status" placeholder="岗位状态" style="width:100%">
|
||||
<el-option v-for="(item, key, index) in missionTypes" :key="index" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
<el-radio-group v-model="search.status" size="small">
|
||||
<el-radio-button v-for="(item, key, index) in missionTypes" :key="index" :label="item.value">{{ item.label }}
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
|
||||
</el-form-item>
|
||||
<el-form-item label="岗位编号:">
|
||||
<el-input v-model="search.missionNo" placeholder="岗位编号" clearable></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="岗位名称:">
|
||||
<el-input v-model="search.missionTitle" placeholder="岗位名称" clearable></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="">
|
||||
<el-select v-model="search.state" placeholder="请选择搜索时间类型" style="width: 100%" @change="date">
|
||||
<el-option v-for="(item, key, index) in timeScreenTerm" :key="index" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="">
|
||||
<el-date-picker :disabled="!search.state" v-model="timeValue" type="daterange" range-separator="至"
|
||||
start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd"
|
||||
@change="dateChange">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<tool-tip></tool-tip>
|
||||
|
||||
|
||||
<el-form-item label="报名截止时间:">
|
||||
<el-date-picker v-model="endDateRange" type="daterange" range-separator="至" start-placeholder="开始日期"
|
||||
end-placeholder="结束日期" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd" @change="endDateChange">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="开始时间:">
|
||||
<el-date-picker v-model="beginTimeValue" type="daterange" range-separator="至" start-placeholder="开始日期"
|
||||
end-placeholder="结束日期" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd" @change="beginDateChange">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="完成时间:">
|
||||
<el-date-picker v-model="successTimeValue" type="daterange" range-separator="至" start-placeholder="开始日期"
|
||||
end-placeholder="结束日期" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd" @change="successDateChange">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
||||
<div class="searchBtn">
|
||||
<el-button type="primary" size="small" icon="el-icon-search" @click="handleSearch">搜 索</el-button>
|
||||
<el-button size="small" icon="el-icon-delete" @click="handleClear">清 空</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
</el-form> -->
|
||||
<el-form size="small" label-position="right" :inline="true">
|
||||
<el-row :span="24">
|
||||
<el-form-item label="机构名称:">
|
||||
<el-input
|
||||
v-model="search.companyName"
|
||||
placeholder="机构名称"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="岗位编码:">
|
||||
<el-input
|
||||
v-model="search.missionNo"
|
||||
placeholder="岗位编码"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="岗位名称:">
|
||||
<el-input
|
||||
v-model="search.jobName"
|
||||
placeholder="岗位名称"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="地址:">
|
||||
<el-input
|
||||
v-model="search.address"
|
||||
placeholder="地址"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="零工岗位工种:">
|
||||
<el-input
|
||||
v-model="search.worktypeNames"
|
||||
placeholder="零工岗位工种"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="学历:">
|
||||
<el-select v-model="search.education">
|
||||
<el-option
|
||||
v-for="(item, index) in educationState"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="审核状态:">
|
||||
<el-select v-model="search.reviewState">
|
||||
<el-option
|
||||
v-for="(item, index) in recruitStatus"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item>-->
|
||||
<!-- <el-select v-model="search.type" placeholder="请选择搜索时间类型">-->
|
||||
<!-- <el-option label="岗位开始日期" :value="0"></el-option>-->
|
||||
<!-- <el-option label="岗位结束日期" :value="2"></el-option>-->
|
||||
<!-- <!– <el-option label="报名截止日期" :value="3"></el-option> –>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- <el-form-item label="日期范围">
|
||||
<el-date-picker
|
||||
v-model="search.time"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="yyyy-MM-dd"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="岗位状态">
|
||||
<el-select v-model="search.jobStatus">
|
||||
<el-option
|
||||
v-for="(item, index) in mStatusList"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<div class="searchBtn">
|
||||
<el-button type="primary" size="small" icon="el-icon-search" @click="handleSearch">搜 索</el-button>
|
||||
<el-button size="small" icon="el-icon-delete" @click="handleClear">清 空</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<!--/搜索栏-->
|
||||
<avue-form :option="searchOption" v-model="search" @submit="handleSearch" @reset-change="handleClear"></avue-form>
|
||||
<!--搜索栏-->
|
||||
<waiting-mission ref="waiting" v-if="search.status === 1" @refresh="handleClear"></waiting-mission>
|
||||
<ongoing-mission ref="onging" v-if="search.status === 2" @refresh="handleClear"></ongoing-mission>
|
||||
<finished-mission ref="finished" v-if="search.status === 3" @refresh="handleClear"></finished-mission>
|
||||
@@ -164,9 +16,12 @@ import OngoingMission from './Table/OngoingMission'
|
||||
import FinishedMission from './Table/FinishedMission'
|
||||
import ExpiredMission from './Table/ExpiredMission'
|
||||
import {companyMissionState, recruitStatus, educationState} from '@/common/dic'
|
||||
import {getDeptMyTree} from "@/api/tenant/talents";
|
||||
|
||||
// import {mapGetters} from "vuex";
|
||||
|
||||
const searchData = {
|
||||
status: 1
|
||||
}
|
||||
export default {
|
||||
comments: {},
|
||||
name: "tenant_mission",
|
||||
@@ -194,9 +49,8 @@ export default {
|
||||
value: 9,
|
||||
},
|
||||
],
|
||||
search: {
|
||||
status: 1
|
||||
},
|
||||
search: Object.assign({}, searchData),
|
||||
depTree: [],
|
||||
timeScreenTerm: [{
|
||||
value: 1,
|
||||
label: '报名截止日期',
|
||||
@@ -217,11 +71,76 @@ export default {
|
||||
FinishedMission,
|
||||
ExpiredMission
|
||||
},
|
||||
computed: {},
|
||||
computed: {
|
||||
searchOption() {
|
||||
return {
|
||||
menuSpan: 6,
|
||||
column: [
|
||||
{
|
||||
label: "所属机构",
|
||||
prop: "deptId",
|
||||
type: "tree",
|
||||
multiple: false,
|
||||
dicData: this.depTree,
|
||||
props: {
|
||||
label: "title",
|
||||
value: 'value'
|
||||
},
|
||||
span: 6,
|
||||
},
|
||||
{
|
||||
label: '机构名称',
|
||||
prop: 'companyName',
|
||||
span: 6,
|
||||
},
|
||||
{
|
||||
label: '岗位名称',
|
||||
prop: 'missionTitle',
|
||||
span: 6,
|
||||
},
|
||||
{
|
||||
label: '地址',
|
||||
prop: 'address',
|
||||
placeholder: "北京-北京市-崇文区",
|
||||
span: 6,
|
||||
}, {
|
||||
label: '零工工种',
|
||||
prop: 'worktypeNames',
|
||||
span: 6,
|
||||
},
|
||||
{
|
||||
label: '审核状态',
|
||||
prop: 'reviewState',
|
||||
type: 'select',
|
||||
dicData: recruitStatus,
|
||||
span: 6,
|
||||
}, {
|
||||
label: '学历',
|
||||
prop: 'education',
|
||||
type: 'select',
|
||||
dicData: educationState,
|
||||
span: 6,
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
created() {
|
||||
this.getDept()
|
||||
},
|
||||
methods: {
|
||||
handleSearch() {
|
||||
let params = {...this.search}
|
||||
async getDept() {
|
||||
let params = {
|
||||
tenantId: '000000'
|
||||
}
|
||||
let resData = await getDeptMyTree(params)
|
||||
if (resData.data.code === 200) {
|
||||
this.depTree = resData.data.data
|
||||
}
|
||||
},
|
||||
handleSearch(from, done) {
|
||||
let params = this.$api.filterObject(this.search)
|
||||
if (this.search.time) {
|
||||
params.stime = this.search.time[0],
|
||||
params.etime = this.search.time[1]
|
||||
@@ -239,6 +158,7 @@ export default {
|
||||
console.log("444444444");
|
||||
this.$refs.expired.onLoad(this.page, params);
|
||||
}
|
||||
done && done()
|
||||
},
|
||||
date() {
|
||||
this.dateChange(this.timeValue)
|
||||
@@ -263,28 +183,10 @@ export default {
|
||||
|
||||
},
|
||||
handleClear() {
|
||||
let curStatus = this.search.status;
|
||||
this.search = {
|
||||
status: curStatus,
|
||||
missionNo: '',
|
||||
missionTitle: '',
|
||||
stime: '',
|
||||
etime: '',
|
||||
etimePubBeginTime: '',
|
||||
etimePubEndTime: '',
|
||||
stimeBeginTime: '',
|
||||
stimeEndTime: '',
|
||||
etimeBeninTime: '',
|
||||
etimeEndTime: '',
|
||||
jobName: '',
|
||||
companyName: '',
|
||||
jobStatus: ''
|
||||
}
|
||||
this.timeValue = '';
|
||||
this.endDateRange = '';
|
||||
this.beginTimeValue = "";
|
||||
this.successTimeValue = "";
|
||||
this.$nextTick(() => {
|
||||
this.search = Object.assign({}, searchData)
|
||||
this.handleSearch()
|
||||
})
|
||||
},
|
||||
// 开始时间
|
||||
beginDateChange(val) {
|
||||
|
||||
@@ -28,7 +28,7 @@ import {getMapData} from '@/api/desk/notice'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
getPageUrl: "http://10.165.0.173/largescreen/",
|
||||
getPageUrl: process.env.VUE_APP_LARGESCREEN,
|
||||
// getPageUrl: "http://39.98.184.58/largescreen/",
|
||||
fullScreenFlag: false,
|
||||
fullScreenFlagKey: 0,
|
||||
|
||||
Reference in New Issue
Block a user