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_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_SUPPER_MAP = http://10.165.0.44:1205/proxy/rest/maps/c02c6f51f3ab4190bffd5e3e54cf5ac4/111013e9067749488d44841208771768
|
||||||
VUE_APP_TIANDITU_APIKEY = e4266a5e84fe6c10f60c559967f0a03f
|
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_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_SUPPER_MAP = http://10.165.0.44:1205/proxy/rest/maps/c02c6f51f3ab4190bffd5e3e54cf5ac4/111013e9067749488d44841208771768
|
||||||
VUE_APP_TIANDITU_APIKEY = e4266a5e84fe6c10f60c559967f0a03f
|
VUE_APP_TIANDITU_APIKEY = e4266a5e84fe6c10f60c559967f0a03f
|
||||||
|
VUE_APP_LARGESCREEN = http://10.165.0.77/largescreen/
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import request from '@/router/axios';
|
import request from '@/router/axios';
|
||||||
import { getToken } from '@/util/auth'
|
import {getToken} from '@/util/auth'
|
||||||
// 企业列表
|
// 企业列表
|
||||||
export const getList =
|
export const getList =
|
||||||
(current, size, params) => {
|
(current, size, params) => {
|
||||||
@@ -13,32 +13,32 @@ export const getList =
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 企业列表
|
// 企业列表
|
||||||
export const getListNew =
|
export const getListNew =
|
||||||
(current, size, params) => {
|
(current, size, params) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/tenant/company/manage/listNew',
|
url: '/api/jobslink-api/tenant/company/manage/listNew',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: {
|
params: {
|
||||||
...params,
|
...params,
|
||||||
current,
|
current,
|
||||||
size,
|
size,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
//暂不处理
|
//暂不处理
|
||||||
export const getNoProcessing =
|
export const getNoProcessing =
|
||||||
(id, desc, status) => {
|
(id, desc, status) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/tenant/company/noProcessing',
|
url: '/api/jobslink-api/tenant/company/noProcessing',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: {
|
params: {
|
||||||
id,
|
id,
|
||||||
desc,
|
desc,
|
||||||
status,
|
status,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 认证企业列表菜单
|
// 认证企业列表菜单
|
||||||
export const getMenuList =
|
export const getMenuList =
|
||||||
(current, size, params) => {
|
(current, size, params) => {
|
||||||
@@ -59,34 +59,34 @@ export const getDetail =
|
|||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/tenant/company/detail',
|
url: '/api/jobslink-api/tenant/company/detail',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: { id }
|
params: {id}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const detailCompany =
|
export const detailCompany =
|
||||||
(id) => {
|
(params) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/tenant/company/detailCompany',
|
url: '/api/jobslink-api/tenant/company/detailCompany',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: { id }
|
params: params
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 仅保存或提交审核
|
// 仅保存或提交审核
|
||||||
export const detailNew =
|
export const detailNew =
|
||||||
(flag,company,saveFlag) => {
|
(flag, company, saveFlag) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/tenant/company/detailNew',
|
url: '/api/jobslink-api/tenant/company/detailNew',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: {flag,company,saveFlag}
|
data: {flag, company, saveFlag}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
//审核接口
|
//审核接口
|
||||||
export const review =
|
export const review =
|
||||||
(id,status,desc) => {
|
(id, status, desc) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/tenant/company/review',
|
url: '/api/jobslink-api/tenant/company/review',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: { id ,status ,desc}
|
params: {id, status, desc}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 企业开户
|
// 企业开户
|
||||||
@@ -115,39 +115,41 @@ export const configDetail =
|
|||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/tenant/base/config/detail',
|
url: '/api/jobslink-api/tenant/base/config/detail',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: { companyId, tenantId }
|
params: {companyId, tenantId}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
//下载全部
|
//下载全部
|
||||||
export const downloadList =
|
export const downloadList =
|
||||||
(urls) => {
|
(urls) => {
|
||||||
return `/api/jobslink-api/tenant/company/downloadList?urls=${urls}&Jobslink-Auth=${getToken()}`
|
return `/api/jobslink-api/tenant/company/downloadList?urls=${urls}&Jobslink-Auth=${getToken()}`
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取一堆公司信息
|
// 获取一堆公司信息
|
||||||
function getCompanyInfo(companyId) {
|
function getCompanyInfo(companyId) {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/tenant/company/examineInfo',
|
url: '/api/jobslink-api/tenant/company/examineInfo',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: { companyId }
|
params: {companyId}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取一堆公司信息
|
// 获取一堆公司信息
|
||||||
function getCompanyInfoNew(companyId) {
|
function getCompanyInfoNew(companyId) {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/tenant/company/examineInfoNew',
|
url: '/api/jobslink-api/tenant/company/examineInfoNew',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: { companyId }
|
params: {companyId}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 审核通过
|
// 审核通过
|
||||||
export const examine =
|
export const examine =
|
||||||
(companyId) => {
|
(companyId) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/tenant/company/examine',
|
url: '/api/jobslink-api/tenant/company/examine',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
params: { companyId }
|
params: {companyId}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -174,7 +176,7 @@ export const reject =
|
|||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/tenant/company/reject',
|
url: '/api/jobslink-api/tenant/company/reject',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
params: { companyId, remarks }
|
params: {companyId, remarks}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,7 +184,7 @@ function state(companyId, flag) {
|
|||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/tenant/company/status',
|
url: '/api/jobslink-api/tenant/company/status',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
params: { companyId, flag }
|
params: {companyId, flag}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -222,7 +224,7 @@ export const getAdmin =
|
|||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
getCompanyInfo(companyId)
|
getCompanyInfo(companyId)
|
||||||
.then(function (resp) {
|
.then(function (resp) {
|
||||||
const result = { data: { data: resp.data.data.user } };
|
const result = {data: {data: resp.data.data.user}};
|
||||||
resolve(result)
|
resolve(result)
|
||||||
})
|
})
|
||||||
.catch(reject)
|
.catch(reject)
|
||||||
@@ -237,28 +239,28 @@ export const getConfig =
|
|||||||
.then(function (resp) {
|
.then(function (resp) {
|
||||||
const data = resp.data.data
|
const data = resp.data.data
|
||||||
const result = {
|
const result = {
|
||||||
data: { data: { config: data.config, fee: data.fee } }
|
data: {data: {config: data.config, fee: data.fee}}
|
||||||
};
|
};
|
||||||
resolve(result)
|
resolve(result)
|
||||||
})
|
})
|
||||||
.catch(reject)
|
.catch(reject)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 获取配置
|
// 获取配置
|
||||||
export const getConfigNew =
|
export const getConfigNew =
|
||||||
(companyId) => {
|
(companyId) => {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
getCompanyInfoNew(companyId)
|
getCompanyInfoNew(companyId)
|
||||||
.then(function (resp) {
|
.then(function (resp) {
|
||||||
const data = resp.data.data
|
const data = resp.data.data
|
||||||
const result = {
|
const result = {
|
||||||
data: { data: { config: data.config, fee: data.fee } }
|
data: {data: {config: data.config, fee: data.fee}}
|
||||||
};
|
};
|
||||||
resolve(result)
|
resolve(result)
|
||||||
})
|
})
|
||||||
.catch(reject)
|
.catch(reject)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 设置配置
|
// 设置配置
|
||||||
export const setConfig =
|
export const setConfig =
|
||||||
(data) => {
|
(data) => {
|
||||||
@@ -284,7 +286,7 @@ export const serviceEnable = (id, companyId) => {
|
|||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/tenant/config/service/fee/isEnabled',
|
url: '/api/jobslink-api/tenant/config/service/fee/isEnabled',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: { id, companyId }
|
data: {id, companyId}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,134 +1,134 @@
|
|||||||
import request from '@/router/axios';
|
import request from '@/router/axios';
|
||||||
|
|
||||||
export const getList =
|
export const getList =
|
||||||
(current, size, params, deptId) => {
|
(current, size, params, deptId) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/system/tuser/page',
|
url: '/api/jobslink-api/system/tuser/page',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: {
|
params: {
|
||||||
...params,
|
current,
|
||||||
current,
|
size,
|
||||||
size,
|
deptId,
|
||||||
deptId,
|
...params,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getAllList =
|
export const getAllList =
|
||||||
(current, size, params, tenantId) => {
|
(current, size, params, tenantId) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/system/tuser/list',
|
url: '/api/jobslink-api/system/tuser/list',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: {
|
params: {
|
||||||
...params,
|
...params,
|
||||||
current,
|
current,
|
||||||
size,
|
size,
|
||||||
tenantId,
|
tenantId,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const remove =
|
export const remove =
|
||||||
(ids) => {
|
(ids) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/system/tuser/remove',
|
url: '/api/jobslink-api/system/tuser/remove',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
params: {
|
params: {
|
||||||
ids,
|
ids,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const add =
|
export const add =
|
||||||
(row) => {
|
(row) => {
|
||||||
return request(
|
return request(
|
||||||
{url: '/api/jobslink-api/system/tuser/submit', method: 'post', data: row})
|
{url: '/api/jobslink-api/system/tuser/submit', method: 'post', data: row})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const update =
|
export const update =
|
||||||
(row) => {
|
(row) => {
|
||||||
return request(
|
return request(
|
||||||
{url: '/api/jobslink-api/system/tuser/update', method: 'post', data: row})
|
{url: '/api/jobslink-api/system/tuser/update', method: 'post', data: row})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getUser =
|
export const getUser =
|
||||||
(id) => {
|
(id) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/system/tuser/detail',
|
url: '/api/jobslink-api/system/tuser/detail',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: {
|
params: {
|
||||||
id,
|
id,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getUserInfo =
|
export const getUserInfo =
|
||||||
() => {
|
() => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/system/tuser/info',
|
url: '/api/jobslink-api/system/tuser/info',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const resetPassword =
|
export const resetPassword =
|
||||||
(userIds) => {
|
(userIds) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/system/tuser/reset-password',
|
url: '/api/jobslink-api/system/tuser/reset-password',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
params: {
|
params: {
|
||||||
userIds,
|
userIds,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const updatePassword =
|
export const updatePassword =
|
||||||
(oldPassword, newPassword, newPassword1) => {
|
(oldPassword, newPassword, newPassword1) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/system/tuser/update-password',
|
url: '/api/jobslink-api/system/tuser/update-password',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
params: {
|
params: {
|
||||||
oldPassword,
|
oldPassword,
|
||||||
newPassword,
|
newPassword,
|
||||||
newPassword1,
|
newPassword1,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const updateInfo =
|
export const updateInfo =
|
||||||
(row) => {
|
(row) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/system/tuser/update-info',
|
url: '/api/jobslink-api/system/tuser/update-info',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: row
|
data: row
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const grant =
|
export const grant =
|
||||||
(userIds, roleIds) => {
|
(userIds, roleIds) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/system/tuser/grant',
|
url: '/api/jobslink-api/system/tuser/grant',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
params: {
|
params: {
|
||||||
userIds,
|
userIds,
|
||||||
roleIds,
|
roleIds,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const enableUser =
|
export const enableUser =
|
||||||
(ids) => {
|
(ids) => {
|
||||||
return request(
|
return request(
|
||||||
{url: '/api/jobslink-api/system/tuser/on', method: 'post', params: {ids}})
|
{url: '/api/jobslink-api/system/tuser/on', method: 'post', params: {ids}})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const disableUser =
|
export const disableUser =
|
||||||
(ids) => {
|
(ids) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/jobslink-api/system/tuser/off',
|
url: '/api/jobslink-api/system/tuser/off',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
params: {ids}
|
params: {ids}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getUserInfoById = (userId) => {
|
export const getUserInfoById = (userId) => {
|
||||||
return request({
|
return request({
|
||||||
|
|||||||
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 = [
|
export const serviceType = [
|
||||||
{
|
{value: 0, label: "其他指导和服务"},
|
||||||
label: "政策标签",
|
{value: 1, label: "就业指导课程宣讲"},
|
||||||
value: 0,
|
{value: 2, label: "职业选择"},
|
||||||
},
|
{value: 3, label: "求职择业心理辅导"},
|
||||||
{
|
{value: 4, label: "就业政策宣讲与就业市场分析"},
|
||||||
label: "个人标签",
|
{value: 5, label: "求职简历面试技巧辅导"},
|
||||||
value: 1,
|
{value: 6, label: "劳动权益与法律保障解读"},
|
||||||
},
|
{value: 7, label: "创业服务与辅导"},
|
||||||
{
|
{value: 8, label: "职场适应与职业发展指导"},
|
||||||
label: "服务标签",
|
{value: 9, label: "就业典型案例宣传与就业干预"},
|
||||||
value: 2,
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
|
|
||||||
export const recruitStatus = [
|
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))
|
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;
|
Vue.config.productionTip = false;
|
||||||
|
|
||||||
new Vue({router, store, i18n, render: h => h(App)}).$mount('#app')
|
new Vue({router, store, i18n, render: h => h(App)}).$mount('#app')
|
||||||
|
|||||||
@@ -600,7 +600,11 @@ export default {
|
|||||||
if (["edit", "view"].includes(type)) {
|
if (["edit", "view"].includes(type)) {
|
||||||
this.imgList = [];
|
this.imgList = [];
|
||||||
this.loading = true;
|
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.loading = false;
|
||||||
this.form = res.data.data;
|
this.form = res.data.data;
|
||||||
if (this.form.motoleyUrl) {
|
if (this.form.motoleyUrl) {
|
||||||
|
|||||||
@@ -1,128 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container>
|
<basic-container>
|
||||||
<!--搜索栏-->
|
<!--搜索栏-->
|
||||||
<el-form
|
<avue-form :option="searchOption" v-model="query" @submit="searchChange1" @reset-change="searchReset1"></avue-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-crud
|
<avue-crud
|
||||||
:option="option"
|
:option="option"
|
||||||
@@ -226,6 +105,7 @@ wageUnitCategoryState.map((item) => {
|
|||||||
wageUnitCategoryStateEnum[item.value] = item.label
|
wageUnitCategoryStateEnum[item.value] = item.label
|
||||||
})
|
})
|
||||||
import lodash from "lodash";
|
import lodash from "lodash";
|
||||||
|
import {getDeptMyTree} from "@/api/tenant/talents";
|
||||||
|
|
||||||
const message = lodash.throttle(
|
const message = lodash.throttle(
|
||||||
function (options) {
|
function (options) {
|
||||||
@@ -250,7 +130,7 @@ export default {
|
|||||||
view: {},
|
view: {},
|
||||||
form: {},
|
form: {},
|
||||||
selectionList: [],
|
selectionList: [],
|
||||||
query: {type: ''},
|
query: {type: '', reviewState: 0},
|
||||||
loading: false,
|
loading: false,
|
||||||
page: {
|
page: {
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
@@ -437,6 +317,7 @@ export default {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
data: [],
|
data: [],
|
||||||
|
depTree: [],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -456,8 +337,72 @@ export default {
|
|||||||
});
|
});
|
||||||
return ids;
|
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: {
|
methods: {
|
||||||
|
async getDept() {
|
||||||
|
let params = {
|
||||||
|
tenantId: '000000'
|
||||||
|
}
|
||||||
|
let resData = await getDeptMyTree(params)
|
||||||
|
if (resData.data.code === 200) {
|
||||||
|
this.depTree = resData.data.data
|
||||||
|
}
|
||||||
|
},
|
||||||
initData() {
|
initData() {
|
||||||
this.onLoad(this.page, this.query);
|
this.onLoad(this.page, this.query);
|
||||||
},
|
},
|
||||||
@@ -485,14 +430,15 @@ export default {
|
|||||||
this.onLoad(this.page, params);
|
this.onLoad(this.page, params);
|
||||||
done();
|
done();
|
||||||
},
|
},
|
||||||
searchChange1() {
|
searchChange1(form, done) {
|
||||||
if (this.query.time) {
|
if (this.query.time) {
|
||||||
this.query.stime = this.query.time[0];
|
this.query.stime = this.query.time[0];
|
||||||
this.query.etime = this.query.time[1];
|
this.query.etime = this.query.time[1];
|
||||||
// delete this.query.time;
|
// delete this.query.time;
|
||||||
}
|
}
|
||||||
this.page.currentPage = 1;
|
this.page.currentPage = 1
|
||||||
this.onLoad(this.page, this.query);
|
this.onLoad(this.page, this.query);
|
||||||
|
done && done()
|
||||||
},
|
},
|
||||||
searchReset1() {
|
searchReset1() {
|
||||||
this.query = {};
|
this.query = {};
|
||||||
@@ -528,11 +474,12 @@ export default {
|
|||||||
},
|
},
|
||||||
onLoad(page, params = {}) {
|
onLoad(page, params = {}) {
|
||||||
params = Object.assign(this.query, params);
|
params = Object.assign(this.query, params);
|
||||||
|
params = this.$api.filterObject(params)
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
getList(
|
getList(
|
||||||
page.currentPage,
|
page.currentPage,
|
||||||
page.pageSize,
|
page.pageSize,
|
||||||
Object.assign(this.query, params)
|
params
|
||||||
).then((res) => {
|
).then((res) => {
|
||||||
const data = res.data.data;
|
const data = res.data.data;
|
||||||
this.page.total = data.total;
|
this.page.total = data.total;
|
||||||
|
|||||||
@@ -1,84 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container>
|
<basic-container>
|
||||||
<!--搜索栏-->
|
<!--搜索栏-->
|
||||||
<el-form
|
<avue-form :option="searchOption" v-model="query" @submit="searchChange1" @reset-change="searchReset1"></avue-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-crud
|
<avue-crud
|
||||||
:option="option"
|
:option="option"
|
||||||
@@ -192,6 +115,7 @@ import {Message} from "element-ui";
|
|||||||
import lodash from "lodash";
|
import lodash from "lodash";
|
||||||
import {Auditing} from "@/api/manage/mission";
|
import {Auditing} from "@/api/manage/mission";
|
||||||
import PromptDialog from "@/components/promptDialog/index.vue";
|
import PromptDialog from "@/components/promptDialog/index.vue";
|
||||||
|
import {getDeptMyTree} from "@/api/tenant/talents";
|
||||||
|
|
||||||
const wageUnitCategoryStateEnum = {}
|
const wageUnitCategoryStateEnum = {}
|
||||||
wageUnitCategoryState.map((item) => {
|
wageUnitCategoryState.map((item) => {
|
||||||
@@ -220,7 +144,7 @@ export default {
|
|||||||
view: {},
|
view: {},
|
||||||
form: {},
|
form: {},
|
||||||
selectionList: [],
|
selectionList: [],
|
||||||
query: {type: ''},
|
query: {type: '', reviewState: 0},
|
||||||
loading: false,
|
loading: false,
|
||||||
page: {
|
page: {
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
@@ -405,6 +329,7 @@ export default {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
data: [],
|
data: [],
|
||||||
|
depTree: [],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -424,8 +349,72 @@ export default {
|
|||||||
});
|
});
|
||||||
return ids;
|
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: {
|
methods: {
|
||||||
|
async getDept() {
|
||||||
|
let params = {
|
||||||
|
tenantId: '000000'
|
||||||
|
}
|
||||||
|
let resData = await getDeptMyTree(params)
|
||||||
|
if (resData.data.code === 200) {
|
||||||
|
this.depTree = resData.data.data
|
||||||
|
}
|
||||||
|
},
|
||||||
initData() {
|
initData() {
|
||||||
this.onLoad(this.page, this.query);
|
this.onLoad(this.page, this.query);
|
||||||
},
|
},
|
||||||
@@ -456,7 +445,7 @@ export default {
|
|||||||
this.onLoad(this.page, params);
|
this.onLoad(this.page, params);
|
||||||
done();
|
done();
|
||||||
},
|
},
|
||||||
searchChange1() {
|
searchChange1(from, done) {
|
||||||
if (this.query.time) {
|
if (this.query.time) {
|
||||||
this.query.stime = this.query.time[0];
|
this.query.stime = this.query.time[0];
|
||||||
this.query.etime = this.query.time[1];
|
this.query.etime = this.query.time[1];
|
||||||
@@ -464,6 +453,7 @@ export default {
|
|||||||
}
|
}
|
||||||
this.page.currentPage = 1;
|
this.page.currentPage = 1;
|
||||||
this.onLoad(this.page, this.query);
|
this.onLoad(this.page, this.query);
|
||||||
|
done && done()
|
||||||
},
|
},
|
||||||
searchReset1() {
|
searchReset1() {
|
||||||
this.query = {};
|
this.query = {};
|
||||||
@@ -499,6 +489,7 @@ export default {
|
|||||||
},
|
},
|
||||||
onLoad(page, params = {}) {
|
onLoad(page, params = {}) {
|
||||||
params = Object.assign(this.query, params);
|
params = Object.assign(this.query, params);
|
||||||
|
params = this.$api.filterObject(params)
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
getList(
|
getList(
|
||||||
page.currentPage,
|
page.currentPage,
|
||||||
|
|||||||
@@ -2,50 +2,6 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<basic-container>
|
<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
|
<avue-crud
|
||||||
:option="option"
|
:option="option"
|
||||||
:table-loading="loading"
|
:table-loading="loading"
|
||||||
@@ -160,6 +116,7 @@ import {getToken} from "@/util/auth";
|
|||||||
import {isMobile} from "@/util/validate";
|
import {isMobile} from "@/util/validate";
|
||||||
import md5 from "js-md5";
|
import md5 from "js-md5";
|
||||||
import {excelAccept} from "@/common/accept";
|
import {excelAccept} from "@/common/accept";
|
||||||
|
import {getDeptMyTree} from "@/api/tenant/talents";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "user",
|
name: "user",
|
||||||
@@ -191,6 +148,7 @@ export default {
|
|||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
total: 0,
|
total: 0,
|
||||||
},
|
},
|
||||||
|
depTree: [],
|
||||||
init: {
|
init: {
|
||||||
roleTree: [],
|
roleTree: [],
|
||||||
deptTree: [],
|
deptTree: [],
|
||||||
@@ -203,7 +161,94 @@ export default {
|
|||||||
roleTreeObj: [],
|
roleTreeObj: [],
|
||||||
treeDeptId: "",
|
treeDeptId: "",
|
||||||
treeData: [],
|
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",
|
height: "auto",
|
||||||
calcHeight: 125,
|
calcHeight: 125,
|
||||||
tip: false,
|
tip: false,
|
||||||
@@ -217,6 +262,25 @@ export default {
|
|||||||
dialogType: "drawer",
|
dialogType: "drawer",
|
||||||
dialogClickModal: false,
|
dialogClickModal: false,
|
||||||
column: [
|
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: "所属部门",
|
label: "所属部门",
|
||||||
prop: "deptName",
|
prop: "deptName",
|
||||||
@@ -228,13 +292,20 @@ export default {
|
|||||||
prop: "account",
|
prop: "account",
|
||||||
// search: true,
|
// search: true,
|
||||||
display: false,
|
display: false,
|
||||||
|
search: true,
|
||||||
|
span: 6,
|
||||||
|
searchLabelWidth: 80,
|
||||||
|
searchSpan: 6,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "用户姓名",
|
label: "用户姓名",
|
||||||
prop: "realName",
|
prop: "realName",
|
||||||
// search: true,
|
// search: true,
|
||||||
display: false,
|
display: false,
|
||||||
|
search: true,
|
||||||
|
span: 6,
|
||||||
|
searchLabelWidth: 80,
|
||||||
|
searchSpan: 6,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "所属角色",
|
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() {
|
mounted() {
|
||||||
this.initData(this.userInfo.tenant_id);
|
this.initData(this.userInfo.tenant_id);
|
||||||
|
this.getDept()
|
||||||
},
|
},
|
||||||
methods: {
|
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) {
|
nodeClick(data) {
|
||||||
this.treeDeptId = data.id;
|
this.treeDeptId = data.id;
|
||||||
this.page.currentPage = 1;
|
this.page.currentPage = 1;
|
||||||
|
|||||||
@@ -198,6 +198,7 @@
|
|||||||
:page.sync="logPage"
|
:page.sync="logPage"
|
||||||
@size-change="logSizeChange"
|
@size-change="logSizeChange"
|
||||||
@current-change="logCurrentChange"
|
@current-change="logCurrentChange"
|
||||||
|
ref="logCrud"
|
||||||
>
|
>
|
||||||
<!-- <template slot="menuLeft">
|
<!-- <template slot="menuLeft">
|
||||||
<el-button @click="addNewLog" icon="el-icon-plus" type="primary" size="mini">添加</el-button>
|
<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>
|
||||||
<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> -->
|
||||||
|
<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>
|
</avue-crud>
|
||||||
</el-drawer>
|
</el-drawer>
|
||||||
<!--新建 编辑分组dialog-->
|
<!--新建 编辑分组dialog-->
|
||||||
@@ -313,7 +321,83 @@ export default {
|
|||||||
list: []
|
list: []
|
||||||
},
|
},
|
||||||
phoneItem: null,
|
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: {
|
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() {
|
created() {
|
||||||
this.initDept();
|
this.initDept();
|
||||||
@@ -702,6 +708,13 @@ export default {
|
|||||||
this.getDept()
|
this.getDept()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// rowStyle(column) {
|
||||||
|
// if (column.row.serveTheme === '人工推送岗位' || column.row.serveTheme === '人工推送政策') {
|
||||||
|
// this.logOption.editBtn = true
|
||||||
|
// } else {
|
||||||
|
// this.logOption.editBtn = false
|
||||||
|
// }
|
||||||
|
// },
|
||||||
async getDept() {
|
async getDept() {
|
||||||
let params = {
|
let params = {
|
||||||
tenantId: '000000'
|
tenantId: '000000'
|
||||||
@@ -733,7 +746,8 @@ export default {
|
|||||||
}).then(async (res) => {
|
}).then(async (res) => {
|
||||||
let params = {
|
let params = {
|
||||||
idNumber: _this.phoneItem.idNumber,
|
idNumber: _this.phoneItem.idNumber,
|
||||||
phone
|
phone,
|
||||||
|
serveId: this.selectInfo.id,
|
||||||
}
|
}
|
||||||
let resData = await phoneUpdate(params)
|
let resData = await phoneUpdate(params)
|
||||||
if (resData.data.code === 200) {
|
if (resData.data.code === 200) {
|
||||||
|
|||||||
@@ -235,11 +235,11 @@
|
|||||||
back-text="不符合"
|
back-text="不符合"
|
||||||
dialogWidth="60%"
|
dialogWidth="60%"
|
||||||
:isInputInfo="false"
|
:isInputInfo="false"
|
||||||
:placeholder="`请输入不符合潜在 ${selectGroupName} 的具体原因`"
|
:placeholder="`请输入不符合 ${selectGroupName} 的具体原因`"
|
||||||
:sub-title="[
|
:sub-title="[
|
||||||
`请核实人员相关信息,进行以下操作:`,
|
`请核实人员相关信息,进行以下操作:`,
|
||||||
`符合:表示为已初步判定该人员符合 ${selectGroupName} 相关条件,但仍需与该人员主动联系并进一步核实,最终以省就业3.0实际政策经办情况为准。`,
|
`符合:表示为已初步判定该人员符合 ${selectGroupName} 相关条件,但仍需与该人员主动联系并进一步核实,最终以省就业3.0实际政策经办情况为准。`,
|
||||||
`不符合:表示经核查后该人员不符合 ${selectGroupName} 相关条件,并将该人员从潜在的{就业困难}列表中剔除。`,
|
`不符合:表示经核查后该人员不符合 ${selectGroupName} 相关条件,并将该人员从 ${selectGroupName} 列表中剔除。`,
|
||||||
'核实完成后会产生服务日志记录。'
|
'核实完成后会产生服务日志记录。'
|
||||||
]"
|
]"
|
||||||
:tips="dialogTips"
|
:tips="dialogTips"
|
||||||
@@ -896,7 +896,7 @@ export default {
|
|||||||
this.selectGroupName = groupInfo.groupName
|
this.selectGroupName = groupInfo.groupName
|
||||||
switch (groupInfo.groupName) {
|
switch (groupInfo.groupName) {
|
||||||
case '潜在就业困难人员':
|
case '潜在就业困难人员':
|
||||||
this.dialogTips = ['人员已死亡', '已经进行就业登记', '享受养老保险待遇', '不满足男性大于等于50岁女性大于等于40岁', '不满足失业登记一年以上', '存在工商信息']
|
this.dialogTips = ['人员已经死亡', '已经进行就业登记', '享受养老保险待遇', '不满足男性大于等于50岁女性大于等于40岁', '不满足失业登记一年以上', '存在工商信息']
|
||||||
break
|
break
|
||||||
case '潜在登记失业人员':
|
case '潜在登记失业人员':
|
||||||
this.dialogTips = ['不满足断保3个月', '存在工商信息']
|
this.dialogTips = ['不满足断保3个月', '存在工商信息']
|
||||||
@@ -908,10 +908,10 @@ export default {
|
|||||||
this.dialogTips = ['已经进行就业登记', '存在工商信息', '不是以个人身份参保']
|
this.dialogTips = ['已经进行就业登记', '存在工商信息', '不是以个人身份参保']
|
||||||
break
|
break
|
||||||
case '潜在公益性岗位申请人员':
|
case '潜在公益性岗位申请人员':
|
||||||
this.dialogTips = ['人员已死亡', '已经进行就业登记', '享受养老保险待遇', '不满足男性大于等于50岁女性大于等于40岁', '不满足失业登记一年以上', '存在工商信息']
|
this.dialogTips = ['人员已经死亡', '已经进行就业登记', '享受养老保险待遇', '不满足男性大于等于50岁女性大于等于40岁', '不满足失业登记一年以上', '存在工商信息']
|
||||||
break
|
break
|
||||||
case '潜在就业见习申请人员':
|
case '潜在就业见习申请人员':
|
||||||
this.dialogTips = ['已就业登记', '不满足16-24岁']
|
this.dialogTips = ['已经进行就业登记', '不满足16-24岁']
|
||||||
break
|
break
|
||||||
default :
|
default :
|
||||||
this.dialogTips = []
|
this.dialogTips = []
|
||||||
@@ -936,7 +936,7 @@ export default {
|
|||||||
return talentsApproval(params);
|
return talentsApproval(params);
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.initDept();
|
// this.initDept();
|
||||||
this.onLoad(this.page, this.query);
|
this.onLoad(this.page, this.query);
|
||||||
this.dialogFlag = false
|
this.dialogFlag = false
|
||||||
this.$message.success('操作成功');
|
this.$message.success('操作成功');
|
||||||
@@ -964,8 +964,8 @@ export default {
|
|||||||
return talentsApproval(params);
|
return talentsApproval(params);
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.initDept();
|
// this.initDept();
|
||||||
this.onLoad(this.page, this.query);
|
// this.onLoad(this.page, this.query);
|
||||||
this.dialogFlag = false
|
this.dialogFlag = false
|
||||||
this.$message.success('操作成功');
|
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}">
|
<template slot="period" slot-scope="{row}">
|
||||||
<span v-if="row.startTime && row.endTime">
|
<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="warning"
|
||||||
<el-tag type="success" v-if="row.serviceStatus==1">{{dateFormat(row.startTime)}}-{{dateFormat(row.endTime)}}</el-tag>
|
v-if="row.serviceStatus==0">{{ 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="success"
|
||||||
<el-tag type="info" v-if="row.serviceStatus==3">{{dateFormat(row.startTime)}}-{{dateFormat(row.endTime)}}</el-tag>
|
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>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
<template slot="serviceStatus" slot-scope="{row}" >
|
<template slot="serviceStatus" slot-scope="{row}">
|
||||||
<span>
|
<span>
|
||||||
<el-tag type="warning" v-if="row.serviceStatus==0">未生效</el-tag>
|
<el-tag type="warning" v-if="row.serviceStatus==0">未生效</el-tag>
|
||||||
<el-tag type="success" v-if="row.serviceStatus==1">生效中</el-tag>
|
<el-tag type="success" v-if="row.serviceStatus==1">生效中</el-tag>
|
||||||
@@ -41,7 +45,7 @@
|
|||||||
<el-tag type="info" v-if="row.serviceStatus==3">已失效</el-tag>
|
<el-tag type="info" v-if="row.serviceStatus==3">已失效</el-tag>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
<template slot="missionDate" slot-scope="{ row }">
|
<template slot="missionDate" slot-scope="{ row }">
|
||||||
<div>{{ row.startDate }}至{{ row.endDate }}</div>
|
<div>{{ row.startDate }}至{{ row.endDate }}</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -52,7 +56,8 @@
|
|||||||
size="mini"
|
size="mini"
|
||||||
@click="$refs.resume.openDialog(row)"
|
@click="$refs.resume.openDialog(row)"
|
||||||
v-if="row.userId && row.userId !== '0'"
|
v-if="row.userId && row.userId !== '0'"
|
||||||
>查看简历</el-button
|
>查看简历
|
||||||
|
</el-button
|
||||||
>
|
>
|
||||||
<div v-else>暂无简历</div>
|
<div v-else>暂无简历</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -64,7 +69,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<!--/自定义列-->
|
<!--/自定义列-->
|
||||||
<template v-slot:cardNumber="{row}">
|
<template v-slot:cardNumber="{row}">
|
||||||
<span>{{idNumberDDesensitization(row.cardNumber)}}</span>
|
<span>{{ idNumberDDesensitization(row.cardNumber) }}</span>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</avue-crud>
|
</avue-crud>
|
||||||
@@ -73,14 +78,15 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { employList, cancelEmploy, } from "@/api/tenant/mission";
|
import {employList, cancelEmploy,} from "@/api/tenant/mission";
|
||||||
import {getCode,resetPwd} from "@/api/manage/econtract.js";//api
|
import {getCode, resetPwd} from "@/api/manage/econtract.js";//api
|
||||||
import Resume from "@/components/resume/index";
|
import Resume from "@/components/resume/index";
|
||||||
import { idNumberDDesensitization } from "@/util/util";
|
import {idNumberDDesensitization} from "@/util/util";
|
||||||
import {mapGetters} from 'vuex'
|
import {mapGetters} from 'vuex'
|
||||||
import { dateFormat } from "@/util/date";
|
import {dateFormat} from "@/util/date";
|
||||||
import {getConfig} from '@/api/tenant/config'
|
import {getConfig} from '@/api/tenant/config'
|
||||||
import EmployInformation from "./EmployInformation";
|
import EmployInformation from "./EmployInformation";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
comments: {},
|
comments: {},
|
||||||
components: {
|
components: {
|
||||||
@@ -92,89 +98,86 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
const validatePwdLength=(rule,value,callback)=>{
|
const validatePwdLength = (rule, value, callback) => {
|
||||||
if(value.length!=6 || isNaN(Number(value))){
|
if (value.length != 6 || isNaN(Number(value))) {
|
||||||
callback(new Error('请输入6位数的数字密码'));
|
callback(new Error('请输入6位数的数字密码'));
|
||||||
}
|
} else {
|
||||||
else{
|
callback();
|
||||||
callback();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const validatePwd = (rule, value, callback) => {
|
const validatePwd = (rule, value, callback) => {
|
||||||
if (value != this.resetPwdForm.pwd) {
|
if (value != this.resetPwdForm.pwd) {
|
||||||
callback(new Error('两次输入密码不一致'));
|
callback(new Error('两次输入密码不一致'));
|
||||||
}
|
} else {
|
||||||
else {
|
callback();
|
||||||
callback();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
const validPwdNums=(rule,value,callback)=>{
|
|
||||||
if(value.length!=6 || isNaN(Number(value))){
|
|
||||||
callback(new Error('请输入6位数的数字密码'));
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
callback();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
const validPwdNums = (rule, value, callback) => {
|
||||||
|
if (value.length != 6 || isNaN(Number(value))) {
|
||||||
|
callback(new Error('请输入6位数的数字密码'));
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
selectTaskInfo:{},
|
selectTaskInfo: {},
|
||||||
getUserConfig:{},
|
getUserConfig: {},
|
||||||
checkDisplayVisible: false,
|
checkDisplayVisible: false,
|
||||||
fpTitleId:'',
|
fpTitleId: '',
|
||||||
fpData: {},
|
fpData: {},
|
||||||
pwdFormRules:{
|
pwdFormRules: {
|
||||||
pwd:[
|
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,
|
resetPwdDialogVisible: false,
|
||||||
resetPwdForm:{},
|
resetPwdForm: {},
|
||||||
formLabelWidth:'150px',
|
formLabelWidth: '150px',
|
||||||
msgText: '获取验证码',
|
msgText: '获取验证码',
|
||||||
msgTime:120,
|
msgTime: 120,
|
||||||
//重置密码校验
|
//重置密码校验
|
||||||
resetPwdRules: {
|
resetPwdRules: {
|
||||||
code: [
|
code: [
|
||||||
{
|
{
|
||||||
required: true, message: '请输入验证码', trigger: 'blur'
|
required: true, message: '请输入验证码', trigger: 'blur'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
pwd: [
|
pwd: [
|
||||||
{
|
{
|
||||||
required: true, message: '请输入密码', trigger: 'blur'
|
required: true, message: '请输入密码', trigger: 'blur'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
validator: validPwdNums, trigger: 'blur'
|
validator: validPwdNums, trigger: 'blur'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
pwd2: [
|
pwd2: [
|
||||||
{
|
{
|
||||||
required: true, message: '请输入确认密码', trigger: 'blur'
|
required: true, message: '请输入确认密码', trigger: 'blur'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
validator: validatePwd, trigger: 'blur'
|
validator: validatePwd, trigger: 'blur'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
loadingbut:false,
|
loadingbut: false,
|
||||||
loadingbuttext:'确定',
|
loadingbuttext: '确定',
|
||||||
downLoadRow:{},
|
downLoadRow: {},
|
||||||
dataCurClick:{},
|
dataCurClick: {},
|
||||||
employDataIds:1,
|
employDataIds: 1,
|
||||||
employNum:1,
|
employNum: 1,
|
||||||
imgStr:'',
|
imgStr: '',
|
||||||
isIndeterminate: false,
|
isIndeterminate: false,
|
||||||
checkAll: false,
|
checkAll: false,
|
||||||
checked: false,
|
checked: false,
|
||||||
@@ -183,11 +186,11 @@ export default {
|
|||||||
selectionList: [],
|
selectionList: [],
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
dialogVisible1: false,
|
dialogVisible1: false,
|
||||||
contractId:'',
|
contractId: '',
|
||||||
labelPosition: 'right',
|
labelPosition: 'right',
|
||||||
pwdForm: {
|
pwdForm: {
|
||||||
pwd: ''
|
pwd: ''
|
||||||
},
|
},
|
||||||
page: {
|
page: {
|
||||||
pageSize: 20,
|
pageSize: 20,
|
||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
@@ -227,11 +230,11 @@ export default {
|
|||||||
editBtn: false,
|
editBtn: false,
|
||||||
excelBtn: false,
|
excelBtn: false,
|
||||||
columnBtn: false,
|
columnBtn: false,
|
||||||
searchBtn: true,
|
searchBtn: false,
|
||||||
searchShow: true,
|
searchShow: false,
|
||||||
searchMenuSpan: 6,
|
searchMenuSpan: 6,
|
||||||
searchLabelWidth: 60,
|
searchLabelWidth: 60,
|
||||||
menu:false,
|
menu: false,
|
||||||
// menuPosition: "center",
|
// menuPosition: "center",
|
||||||
labelPosition: "right",
|
labelPosition: "right",
|
||||||
border: true,
|
border: true,
|
||||||
@@ -258,15 +261,12 @@ export default {
|
|||||||
{
|
{
|
||||||
label: "姓名",
|
label: "姓名",
|
||||||
prop: "realName",
|
prop: "realName",
|
||||||
search: true,
|
|
||||||
searchSpan: 4,
|
searchSpan: 4,
|
||||||
width:70,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "性别",
|
label: "性别",
|
||||||
prop: "sex",
|
prop: "sex",
|
||||||
search: false,
|
search: false,
|
||||||
width:50,
|
|
||||||
dicData: [
|
dicData: [
|
||||||
{
|
{
|
||||||
label: "男",
|
label: "男",
|
||||||
@@ -282,48 +282,17 @@ export default {
|
|||||||
label: "年龄",
|
label: "年龄",
|
||||||
prop: "age",
|
prop: "age",
|
||||||
search: false,
|
search: false,
|
||||||
width:50,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "手机号",
|
label: "手机号",
|
||||||
prop: "telphone",
|
prop: "telphone",
|
||||||
search: false,
|
search: false,
|
||||||
width:100,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "身份证",
|
label: "身份证",
|
||||||
prop: "cardNumber",
|
prop: "cardNumber",
|
||||||
search: false,
|
search: false,
|
||||||
slot: true,
|
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,31 +310,31 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
checkDisplayVisibleClose(){
|
checkDisplayVisibleClose() {
|
||||||
this.checkDisplayVisible = false;
|
this.checkDisplayVisible = false;
|
||||||
},
|
},
|
||||||
rowEmployDisabled(){
|
rowEmployDisabled() {
|
||||||
},
|
},
|
||||||
dateFormat(date){
|
dateFormat(date) {
|
||||||
return dateFormat(new Date(date),'yyyy/MM/dd')
|
return dateFormat(new Date(date), 'yyyy/MM/dd')
|
||||||
},
|
},
|
||||||
idNumberDDesensitization,
|
idNumberDDesensitization,
|
||||||
drawerClose(){
|
drawerClose() {
|
||||||
this.$emit('refresh');
|
this.$emit('refresh');
|
||||||
this.drawer = false;
|
this.drawer = false;
|
||||||
},
|
},
|
||||||
radioButtonChange(){
|
radioButtonChange() {
|
||||||
this.query.realName = '';
|
this.query.realName = '';
|
||||||
this.query.groupId = '';
|
this.query.groupId = '';
|
||||||
if(this.query.status == 2){
|
if (this.query.status == 2) {
|
||||||
this.selectionFlag = false;
|
this.selectionFlag = false;
|
||||||
}else{
|
} else {
|
||||||
this.selectionFlag = true;
|
this.selectionFlag = true;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
/*打开drawer*/
|
/*打开drawer*/
|
||||||
openDialog(row, status) {
|
openDialog(row, status) {
|
||||||
this.selectTaskInfo = row;
|
this.selectTaskInfo = row;
|
||||||
this.missionId = row.missionNo;
|
this.missionId = row.missionNo;
|
||||||
this.query = {
|
this.query = {
|
||||||
status: status,
|
status: status,
|
||||||
@@ -382,7 +351,7 @@ export default {
|
|||||||
const h = this.$createElement;
|
const h = this.$createElement;
|
||||||
this.$confirm(
|
this.$confirm(
|
||||||
h("div", null, [
|
h("div", null, [
|
||||||
h("p", { style: "font-size: 16px" }, "您确定要取消录用该人员吗? "),
|
h("p", {style: "font-size: 16px"}, "您确定要取消录用该人员吗? "),
|
||||||
]),
|
]),
|
||||||
{
|
{
|
||||||
type: "warning",
|
type: "warning",
|
||||||
@@ -456,8 +425,8 @@ export default {
|
|||||||
},
|
},
|
||||||
/*加载数据*/
|
/*加载数据*/
|
||||||
onLoad(page, params) {
|
onLoad(page, params) {
|
||||||
getConfig().then((res)=>{
|
getConfig().then((res) => {
|
||||||
this.getUserConfig = res.data.data;
|
this.getUserConfig = res.data.data;
|
||||||
});
|
});
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
let paramscur = params ? Object.assign(params, this.query) : this.query;
|
let paramscur = params ? Object.assign(params, this.query) : this.query;
|
||||||
@@ -469,7 +438,7 @@ export default {
|
|||||||
).then((res) => {
|
).then((res) => {
|
||||||
const data = res.data.data;
|
const data = res.data.data;
|
||||||
this.page.total = data.total;
|
this.page.total = data.total;
|
||||||
this.data=data.records;
|
this.data = data.records;
|
||||||
// if(this.getUserConfig.insuranceOn == 1){
|
// if(this.getUserConfig.insuranceOn == 1){
|
||||||
// this.data.forEach((ele)=>{
|
// this.data.forEach((ele)=>{
|
||||||
// if(!ele.effect){
|
// if(!ele.effect){
|
||||||
@@ -498,75 +467,79 @@ export default {
|
|||||||
backIndex() {
|
backIndex() {
|
||||||
this.$emit("refresh");
|
this.$emit("refresh");
|
||||||
},
|
},
|
||||||
forgetPwd(){
|
forgetPwd() {
|
||||||
this.phone=this.userInfo.account;
|
this.phone = this.userInfo.account;
|
||||||
var pat=/(\d{3})\d*(\d{4})/;
|
var pat = /(\d{3})\d*(\d{4})/;
|
||||||
this.phone=this.phone.replace(pat,'$1****$2');
|
this.phone = this.phone.replace(pat, '$1****$2');
|
||||||
this.resetPwdDialogVisible=true;
|
this.resetPwdDialogVisible = true;
|
||||||
this.resetPwdForm={};
|
this.resetPwdForm = {};
|
||||||
},
|
},
|
||||||
/*获取验证码*/
|
/*获取验证码*/
|
||||||
getCode() {
|
getCode() {
|
||||||
this.msgKey = true;
|
this.msgKey = true;
|
||||||
this.msgText = "发送中...";
|
this.msgText = "发送中...";
|
||||||
getCode(this.userInfo.account)
|
getCode(this.userInfo.account)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.msgText = "剩余" + 120 + "s";
|
this.msgText = "剩余" + 120 + "s";
|
||||||
this.msgKey = true;
|
this.msgKey = true;
|
||||||
const time = setInterval(() => {
|
const time = setInterval(() => {
|
||||||
this.msgTime--;
|
this.msgTime--;
|
||||||
this.msgText = "剩余" + this.msgTime + "s";
|
this.msgText = "剩余" + this.msgTime + "s";
|
||||||
if (this.msgTime <= 0) {
|
if (this.msgTime <= 0) {
|
||||||
this.msgTime = 120;
|
this.msgTime = 120;
|
||||||
this.msgText = "重新获取";
|
this.msgText = "重新获取";
|
||||||
this.msgKey = false;
|
this.msgKey = false;
|
||||||
clearInterval(time);
|
clearInterval(time);
|
||||||
}
|
}
|
||||||
}, 1000);
|
}, 1000);
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
this.msgText = "重新获取";
|
this.msgText = "重新获取";
|
||||||
this.msgKey = false;
|
this.msgKey = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
/*重置密码*/
|
/*重置密码*/
|
||||||
submitResetPwd() {
|
submitResetPwd() {
|
||||||
this.$refs.resetPwdForm.validate(valid => {
|
this.$refs.resetPwdForm.validate(valid => {
|
||||||
if (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.$message.success('密码重置成功');
|
||||||
this.resetPwdDialogVisible=false;
|
this.resetPwdDialogVisible = false;
|
||||||
})
|
})
|
||||||
.catch((err)=>{
|
.catch((err) => {
|
||||||
this.$message.error(err);
|
this.$message.error(err);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.selectBtn{
|
.selectBtn {
|
||||||
color: #787879 !important;
|
color: #787879 !important;
|
||||||
}
|
}
|
||||||
.selectBtn:hover{
|
|
||||||
color: #787879 !important;
|
.selectBtn:hover {
|
||||||
}
|
color: #787879 !important;
|
||||||
.tipsWrap{
|
}
|
||||||
|
|
||||||
|
.tipsWrap {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #ff0000;
|
color: #ff0000;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 26px;
|
top: 26px;
|
||||||
left: 120px;
|
left: 120px;
|
||||||
}
|
}
|
||||||
.employ-employNum-count{
|
|
||||||
color: #2098ee;
|
.employ-employNum-count {
|
||||||
}
|
color: #2098ee;
|
||||||
.employ-forgetPwd{
|
}
|
||||||
float: right;
|
|
||||||
margin-top: -33px;
|
.employ-forgetPwd {
|
||||||
}
|
float: right;
|
||||||
|
margin-top: -33px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -56,15 +56,19 @@
|
|||||||
<!--自定义操作栏-->
|
<!--自定义操作栏-->
|
||||||
<div slot="menu" slot-scope="{ size, type, row }">
|
<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="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)"
|
<el-button icon="el-icon-view" :size="size" :type="type" @click.stop="rowView(row)"
|
||||||
v-show="vaildData(permission.tenant_mission_view, false)">查看
|
v-show="vaildData(permission.tenant_mission_view, false)">查看
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- <save-button icon="el-icon-check" :size="size" :type="type" @click="rowCopy(row, 'copy')">复制</save-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')"
|
<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)">编辑
|
:disabled="row.signUpCount !== 0" v-show="vaildData(permission.tenant_mission_edit, false)">编辑
|
||||||
</el-button>
|
</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)"
|
@click="$refs.crud.rowDel(row)"
|
||||||
:disabled="row.signUpCount !== 0" v-show="vaildData(permission.tenant_mission_cancel, false)">取消
|
:disabled="row.signUpCount !== 0" v-show="vaildData(permission.tenant_mission_cancel, false)">取消
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|||||||
@@ -1,107 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container>
|
<basic-container>
|
||||||
<!--搜索栏-->
|
<!--搜索栏-->
|
||||||
<el-form size="small" label-position="right" :inline="true" style="padding-left: 10px;padding-right: 10px;">
|
<avue-form :option="option" v-model="search" @submit="handleSearch" @reset-change="handleClear"></avue-form>
|
||||||
<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>
|
|
||||||
<!--/搜索栏-->
|
<!--/搜索栏-->
|
||||||
<waiting-mission ref="waiting" v-if="search.status === 1" @refresh="handleClear"></waiting-mission>
|
<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>
|
<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 FinishedMission from './Table/FinishedMission'
|
||||||
import ExpiredMission from './Table/ExpiredMission'
|
import ExpiredMission from './Table/ExpiredMission'
|
||||||
import {companyMissionState, educationState, recruitStatus} from '@/common/dic'
|
import {companyMissionState, educationState, recruitStatus} from '@/common/dic'
|
||||||
|
import {getDeptMyTree} from "@/api/tenant/talents";
|
||||||
|
|
||||||
|
const searchData = {
|
||||||
|
status: 1
|
||||||
|
}
|
||||||
export default {
|
export default {
|
||||||
comments: {},
|
comments: {},
|
||||||
name: "tenant_mission",
|
name: "tenant_mission",
|
||||||
@@ -134,13 +38,13 @@ export default {
|
|||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
total: 0,
|
total: 0,
|
||||||
},
|
},
|
||||||
search: {
|
search: Object.assign({}, searchData),
|
||||||
status: 1
|
depTree: [],
|
||||||
},
|
timeScreenTerm: [
|
||||||
timeScreenTerm: [{
|
{
|
||||||
value: 2,
|
value: 2,
|
||||||
label: '开始日期',
|
label: '开始日期',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 3,
|
value: 3,
|
||||||
label: '结束日期',
|
label: '结束日期',
|
||||||
@@ -156,18 +60,85 @@ export default {
|
|||||||
FinishedMission,
|
FinishedMission,
|
||||||
ExpiredMission
|
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: {},
|
watch: {},
|
||||||
|
created() {
|
||||||
|
this.getDept()
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleSearch() {
|
|
||||||
|
handleSearch(form, done) {
|
||||||
if (this.search.status === 1) {
|
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) {
|
} 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) {
|
} 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) {
|
} 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() {
|
date() {
|
||||||
@@ -192,26 +163,10 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
handleClear() {
|
handleClear() {
|
||||||
let curStatus = this.search.status;
|
this.$nextTick(() => {
|
||||||
this.search = {
|
this.search = Object.assign({}, searchData)
|
||||||
status: curStatus,
|
this.handleSearch()
|
||||||
missionNo: '',
|
})
|
||||||
missionTitle: '',
|
|
||||||
stime: '',
|
|
||||||
etime: '',
|
|
||||||
etimePubBeginTime: '',
|
|
||||||
etimePubEndTime: '',
|
|
||||||
stimeBeginTime: '',
|
|
||||||
stimeEndTime: '',
|
|
||||||
etimeBeninTime: '',
|
|
||||||
etimeEndTime: '',
|
|
||||||
|
|
||||||
}
|
|
||||||
this.timeValue = '';
|
|
||||||
this.endDateRange = '';
|
|
||||||
this.beginTimeValue = "";
|
|
||||||
this.successTimeValue = "";
|
|
||||||
this.handleSearch()
|
|
||||||
},
|
},
|
||||||
// 开始时间
|
// 开始时间
|
||||||
beginDateChange(val) {
|
beginDateChange(val) {
|
||||||
|
|||||||
@@ -27,13 +27,17 @@
|
|||||||
<!--自定义列-->
|
<!--自定义列-->
|
||||||
<template slot="period" slot-scope="{row}">
|
<template slot="period" slot-scope="{row}">
|
||||||
<span v-if="row.startTime && row.endTime">
|
<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="warning"
|
||||||
<el-tag type="success" v-if="row.serviceStatus==1">{{dateFormat(row.startTime)}}-{{dateFormat(row.endTime)}}</el-tag>
|
v-if="row.serviceStatus==0">{{ 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="success"
|
||||||
<el-tag type="info" v-if="row.serviceStatus==3">{{dateFormat(row.startTime)}}-{{dateFormat(row.endTime)}}</el-tag>
|
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>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
<template slot="serviceStatus" slot-scope="{row}" >
|
<template slot="serviceStatus" slot-scope="{row}">
|
||||||
<span>
|
<span>
|
||||||
<el-tag type="warning" v-if="row.serviceStatus==0">未生效</el-tag>
|
<el-tag type="warning" v-if="row.serviceStatus==0">未生效</el-tag>
|
||||||
<el-tag type="success" v-if="row.serviceStatus==1">生效中</el-tag>
|
<el-tag type="success" v-if="row.serviceStatus==1">生效中</el-tag>
|
||||||
@@ -41,7 +45,7 @@
|
|||||||
<el-tag type="info" v-if="row.serviceStatus==3">已失效</el-tag>
|
<el-tag type="info" v-if="row.serviceStatus==3">已失效</el-tag>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
<template slot="missionDate" slot-scope="{ row }">
|
<template slot="missionDate" slot-scope="{ row }">
|
||||||
<div>{{ row.startDate }}至{{ row.endDate }}</div>
|
<div>{{ row.startDate }}至{{ row.endDate }}</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -52,7 +56,8 @@
|
|||||||
size="mini"
|
size="mini"
|
||||||
@click="$refs.resume.openDialog(row)"
|
@click="$refs.resume.openDialog(row)"
|
||||||
v-if="row.userId && row.userId !== '0'"
|
v-if="row.userId && row.userId !== '0'"
|
||||||
>查看简历</el-button
|
>查看简历
|
||||||
|
</el-button
|
||||||
>
|
>
|
||||||
<div v-else>暂无简历</div>
|
<div v-else>暂无简历</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -64,7 +69,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<!--/自定义列-->
|
<!--/自定义列-->
|
||||||
<template v-slot:cardNumber="{row}">
|
<template v-slot:cardNumber="{row}">
|
||||||
<span>{{idNumberDDesensitization(row.cardNumber)}}</span>
|
<span>{{ idNumberDDesensitization(row.cardNumber) }}</span>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</avue-crud>
|
</avue-crud>
|
||||||
@@ -73,14 +78,15 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { employList, cancelEmploy, } from "@/api/tenant/postzp";
|
import {employList, cancelEmploy,} from "@/api/tenant/postzp";
|
||||||
import {getCode,resetPwd} from "@/api/manage/econtract.js";//api
|
import {getCode, resetPwd} from "@/api/manage/econtract.js";//api
|
||||||
import Resume from "@/components/resume/index";
|
import Resume from "@/components/resume/index";
|
||||||
import { idNumberDDesensitization } from "@/util/util";
|
import {idNumberDDesensitization} from "@/util/util";
|
||||||
import {mapGetters} from 'vuex'
|
import {mapGetters} from 'vuex'
|
||||||
import { dateFormat } from "@/util/date";
|
import {dateFormat} from "@/util/date";
|
||||||
import {getConfig} from '@/api/tenant/config'
|
import {getConfig} from '@/api/tenant/config'
|
||||||
import EmployInformation from "./EmployInformation";
|
import EmployInformation from "./EmployInformation";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
comments: {},
|
comments: {},
|
||||||
components: {
|
components: {
|
||||||
@@ -92,89 +98,86 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
const validatePwdLength=(rule,value,callback)=>{
|
const validatePwdLength = (rule, value, callback) => {
|
||||||
if(value.length!=6 || isNaN(Number(value))){
|
if (value.length != 6 || isNaN(Number(value))) {
|
||||||
callback(new Error('请输入6位数的数字密码'));
|
callback(new Error('请输入6位数的数字密码'));
|
||||||
}
|
} else {
|
||||||
else{
|
callback();
|
||||||
callback();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const validatePwd = (rule, value, callback) => {
|
const validatePwd = (rule, value, callback) => {
|
||||||
if (value != this.resetPwdForm.pwd) {
|
if (value != this.resetPwdForm.pwd) {
|
||||||
callback(new Error('两次输入密码不一致'));
|
callback(new Error('两次输入密码不一致'));
|
||||||
}
|
} else {
|
||||||
else {
|
callback();
|
||||||
callback();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
const validPwdNums=(rule,value,callback)=>{
|
|
||||||
if(value.length!=6 || isNaN(Number(value))){
|
|
||||||
callback(new Error('请输入6位数的数字密码'));
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
callback();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
const validPwdNums = (rule, value, callback) => {
|
||||||
|
if (value.length != 6 || isNaN(Number(value))) {
|
||||||
|
callback(new Error('请输入6位数的数字密码'));
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
selectTaskInfo:{},
|
selectTaskInfo: {},
|
||||||
getUserConfig:{},
|
getUserConfig: {},
|
||||||
checkDisplayVisible: false,
|
checkDisplayVisible: false,
|
||||||
fpTitleId:'',
|
fpTitleId: '',
|
||||||
fpData: {},
|
fpData: {},
|
||||||
pwdFormRules:{
|
pwdFormRules: {
|
||||||
pwd:[
|
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,
|
resetPwdDialogVisible: false,
|
||||||
resetPwdForm:{},
|
resetPwdForm: {},
|
||||||
formLabelWidth:'150px',
|
formLabelWidth: '150px',
|
||||||
msgText: '获取验证码',
|
msgText: '获取验证码',
|
||||||
msgTime:120,
|
msgTime: 120,
|
||||||
//重置密码校验
|
//重置密码校验
|
||||||
resetPwdRules: {
|
resetPwdRules: {
|
||||||
code: [
|
code: [
|
||||||
{
|
{
|
||||||
required: true, message: '请输入验证码', trigger: 'blur'
|
required: true, message: '请输入验证码', trigger: 'blur'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
pwd: [
|
pwd: [
|
||||||
{
|
{
|
||||||
required: true, message: '请输入密码', trigger: 'blur'
|
required: true, message: '请输入密码', trigger: 'blur'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
validator: validPwdNums, trigger: 'blur'
|
validator: validPwdNums, trigger: 'blur'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
pwd2: [
|
pwd2: [
|
||||||
{
|
{
|
||||||
required: true, message: '请输入确认密码', trigger: 'blur'
|
required: true, message: '请输入确认密码', trigger: 'blur'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
validator: validatePwd, trigger: 'blur'
|
validator: validatePwd, trigger: 'blur'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
loadingbut:false,
|
loadingbut: false,
|
||||||
loadingbuttext:'确定',
|
loadingbuttext: '确定',
|
||||||
downLoadRow:{},
|
downLoadRow: {},
|
||||||
dataCurClick:{},
|
dataCurClick: {},
|
||||||
employDataIds:1,
|
employDataIds: 1,
|
||||||
employNum:1,
|
employNum: 1,
|
||||||
imgStr:'',
|
imgStr: '',
|
||||||
isIndeterminate: false,
|
isIndeterminate: false,
|
||||||
checkAll: false,
|
checkAll: false,
|
||||||
checked: false,
|
checked: false,
|
||||||
@@ -183,11 +186,11 @@ export default {
|
|||||||
selectionList: [],
|
selectionList: [],
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
dialogVisible1: false,
|
dialogVisible1: false,
|
||||||
contractId:'',
|
contractId: '',
|
||||||
labelPosition: 'right',
|
labelPosition: 'right',
|
||||||
pwdForm: {
|
pwdForm: {
|
||||||
pwd: ''
|
pwd: ''
|
||||||
},
|
},
|
||||||
page: {
|
page: {
|
||||||
pageSize: 20,
|
pageSize: 20,
|
||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
@@ -227,11 +230,11 @@ export default {
|
|||||||
editBtn: false,
|
editBtn: false,
|
||||||
excelBtn: false,
|
excelBtn: false,
|
||||||
columnBtn: false,
|
columnBtn: false,
|
||||||
searchBtn: true,
|
searchBtn: false,
|
||||||
searchShow: true,
|
searchShow: false,
|
||||||
searchMenuSpan: 6,
|
searchMenuSpan: 6,
|
||||||
searchLabelWidth: 60,
|
searchLabelWidth: 60,
|
||||||
menu:false,
|
menu: false,
|
||||||
// menuPosition: "center",
|
// menuPosition: "center",
|
||||||
labelPosition: "right",
|
labelPosition: "right",
|
||||||
border: true,
|
border: true,
|
||||||
@@ -258,15 +261,12 @@ export default {
|
|||||||
{
|
{
|
||||||
label: "姓名",
|
label: "姓名",
|
||||||
prop: "realName",
|
prop: "realName",
|
||||||
search: true,
|
|
||||||
searchSpan: 4,
|
searchSpan: 4,
|
||||||
width:70,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "性别",
|
label: "性别",
|
||||||
prop: "sex",
|
prop: "sex",
|
||||||
search: false,
|
search: false,
|
||||||
width:50,
|
|
||||||
dicData: [
|
dicData: [
|
||||||
{
|
{
|
||||||
label: "男",
|
label: "男",
|
||||||
@@ -282,48 +282,17 @@ export default {
|
|||||||
label: "年龄",
|
label: "年龄",
|
||||||
prop: "age",
|
prop: "age",
|
||||||
search: false,
|
search: false,
|
||||||
width:50,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "手机号",
|
label: "手机号",
|
||||||
prop: "telphone",
|
prop: "telphone",
|
||||||
search: false,
|
search: false,
|
||||||
width:100,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "身份证",
|
label: "身份证",
|
||||||
prop: "cardNumber",
|
prop: "cardNumber",
|
||||||
search: false,
|
search: false,
|
||||||
slot: true,
|
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,31 +310,31 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
checkDisplayVisibleClose(){
|
checkDisplayVisibleClose() {
|
||||||
this.checkDisplayVisible = false;
|
this.checkDisplayVisible = false;
|
||||||
},
|
},
|
||||||
rowEmployDisabled(){
|
rowEmployDisabled() {
|
||||||
},
|
},
|
||||||
dateFormat(date){
|
dateFormat(date) {
|
||||||
return dateFormat(new Date(date),'yyyy/MM/dd')
|
return dateFormat(new Date(date), 'yyyy/MM/dd')
|
||||||
},
|
},
|
||||||
idNumberDDesensitization,
|
idNumberDDesensitization,
|
||||||
drawerClose(){
|
drawerClose() {
|
||||||
this.$emit('refresh');
|
this.$emit('refresh');
|
||||||
this.drawer = false;
|
this.drawer = false;
|
||||||
},
|
},
|
||||||
radioButtonChange(){
|
radioButtonChange() {
|
||||||
this.query.realName = '';
|
this.query.realName = '';
|
||||||
this.query.groupId = '';
|
this.query.groupId = '';
|
||||||
if(this.query.status == 2){
|
if (this.query.status == 2) {
|
||||||
this.selectionFlag = false;
|
this.selectionFlag = false;
|
||||||
}else{
|
} else {
|
||||||
this.selectionFlag = true;
|
this.selectionFlag = true;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
/*打开drawer*/
|
/*打开drawer*/
|
||||||
openDialog(row, status) {
|
openDialog(row, status) {
|
||||||
this.selectTaskInfo = row;
|
this.selectTaskInfo = row;
|
||||||
this.missionId = row.missionNo;
|
this.missionId = row.missionNo;
|
||||||
this.query = {
|
this.query = {
|
||||||
status: status,
|
status: status,
|
||||||
@@ -382,7 +351,7 @@ export default {
|
|||||||
const h = this.$createElement;
|
const h = this.$createElement;
|
||||||
this.$confirm(
|
this.$confirm(
|
||||||
h("div", null, [
|
h("div", null, [
|
||||||
h("p", { style: "font-size: 16px" }, "您确定要取消录用该人员吗? "),
|
h("p", {style: "font-size: 16px"}, "您确定要取消录用该人员吗? "),
|
||||||
]),
|
]),
|
||||||
{
|
{
|
||||||
type: "warning",
|
type: "warning",
|
||||||
@@ -456,8 +425,8 @@ export default {
|
|||||||
},
|
},
|
||||||
/*加载数据*/
|
/*加载数据*/
|
||||||
onLoad(page, params) {
|
onLoad(page, params) {
|
||||||
getConfig().then((res)=>{
|
getConfig().then((res) => {
|
||||||
this.getUserConfig = res.data.data;
|
this.getUserConfig = res.data.data;
|
||||||
});
|
});
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
let paramscur = params ? Object.assign(params, this.query) : this.query;
|
let paramscur = params ? Object.assign(params, this.query) : this.query;
|
||||||
@@ -469,7 +438,7 @@ export default {
|
|||||||
).then((res) => {
|
).then((res) => {
|
||||||
const data = res.data.data;
|
const data = res.data.data;
|
||||||
this.page.total = data.total;
|
this.page.total = data.total;
|
||||||
this.data=data.records;
|
this.data = data.records;
|
||||||
// if(this.getUserConfig.insuranceOn == 1){
|
// if(this.getUserConfig.insuranceOn == 1){
|
||||||
// this.data.forEach((ele)=>{
|
// this.data.forEach((ele)=>{
|
||||||
// if(!ele.effect){
|
// if(!ele.effect){
|
||||||
@@ -498,75 +467,79 @@ export default {
|
|||||||
backIndex() {
|
backIndex() {
|
||||||
this.$emit("refresh");
|
this.$emit("refresh");
|
||||||
},
|
},
|
||||||
forgetPwd(){
|
forgetPwd() {
|
||||||
this.phone=this.userInfo.account;
|
this.phone = this.userInfo.account;
|
||||||
var pat=/(\d{3})\d*(\d{4})/;
|
var pat = /(\d{3})\d*(\d{4})/;
|
||||||
this.phone=this.phone.replace(pat,'$1****$2');
|
this.phone = this.phone.replace(pat, '$1****$2');
|
||||||
this.resetPwdDialogVisible=true;
|
this.resetPwdDialogVisible = true;
|
||||||
this.resetPwdForm={};
|
this.resetPwdForm = {};
|
||||||
},
|
},
|
||||||
/*获取验证码*/
|
/*获取验证码*/
|
||||||
getCode() {
|
getCode() {
|
||||||
this.msgKey = true;
|
this.msgKey = true;
|
||||||
this.msgText = "发送中...";
|
this.msgText = "发送中...";
|
||||||
getCode(this.userInfo.account)
|
getCode(this.userInfo.account)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.msgText = "剩余" + 120 + "s";
|
this.msgText = "剩余" + 120 + "s";
|
||||||
this.msgKey = true;
|
this.msgKey = true;
|
||||||
const time = setInterval(() => {
|
const time = setInterval(() => {
|
||||||
this.msgTime--;
|
this.msgTime--;
|
||||||
this.msgText = "剩余" + this.msgTime + "s";
|
this.msgText = "剩余" + this.msgTime + "s";
|
||||||
if (this.msgTime <= 0) {
|
if (this.msgTime <= 0) {
|
||||||
this.msgTime = 120;
|
this.msgTime = 120;
|
||||||
this.msgText = "重新获取";
|
this.msgText = "重新获取";
|
||||||
this.msgKey = false;
|
this.msgKey = false;
|
||||||
clearInterval(time);
|
clearInterval(time);
|
||||||
}
|
}
|
||||||
}, 1000);
|
}, 1000);
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
this.msgText = "重新获取";
|
this.msgText = "重新获取";
|
||||||
this.msgKey = false;
|
this.msgKey = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
/*重置密码*/
|
/*重置密码*/
|
||||||
submitResetPwd() {
|
submitResetPwd() {
|
||||||
this.$refs.resetPwdForm.validate(valid => {
|
this.$refs.resetPwdForm.validate(valid => {
|
||||||
if (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.$message.success('密码重置成功');
|
||||||
this.resetPwdDialogVisible=false;
|
this.resetPwdDialogVisible = false;
|
||||||
})
|
})
|
||||||
.catch((err)=>{
|
.catch((err) => {
|
||||||
this.$message.error(err);
|
this.$message.error(err);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.selectBtn{
|
.selectBtn {
|
||||||
color: #787879 !important;
|
color: #787879 !important;
|
||||||
}
|
}
|
||||||
.selectBtn:hover{
|
|
||||||
color: #787879 !important;
|
.selectBtn:hover {
|
||||||
}
|
color: #787879 !important;
|
||||||
.tipsWrap{
|
}
|
||||||
|
|
||||||
|
.tipsWrap {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #ff0000;
|
color: #ff0000;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 26px;
|
top: 26px;
|
||||||
left: 120px;
|
left: 120px;
|
||||||
}
|
}
|
||||||
.employ-employNum-count{
|
|
||||||
color: #2098ee;
|
.employ-employNum-count {
|
||||||
}
|
color: #2098ee;
|
||||||
.employ-forgetPwd{
|
}
|
||||||
float: right;
|
|
||||||
margin-top: -33px;
|
.employ-forgetPwd {
|
||||||
}
|
float: right;
|
||||||
|
margin-top: -33px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -59,16 +59,18 @@
|
|||||||
<!--自定义操作栏-->
|
<!--自定义操作栏-->
|
||||||
<div slot="menu" slot-scope="{ size, type, row }">
|
<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="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)"
|
<el-button icon="el-icon-view" :size="size" :type="type" @click.stop="rowView(row)"
|
||||||
v-show="vaildData(permission.tenant_mission_view, false)">查看
|
v-show="vaildData(permission.tenant_mission_view, false)">查看
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- <save-button icon="el-icon-check" :size="size" :type="type" @click="rowCopy(row, 'copy')">复制</save-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"
|
<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)">编辑
|
v-show="vaildData(permission.tenant_mission_edit, false)">编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button icon="el-icon-delete" :size="size" :type="type" @click="$refs.crud.rowDel(row)" :disabled="false"
|
<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>
|
||||||
<!-- <el-button type="text" size="mini" @click="contrast(row)"
|
<!-- <el-button type="text" size="mini" @click="contrast(row)"
|
||||||
>比对人才库</el-button> -->
|
>比对人才库</el-button> -->
|
||||||
|
|||||||
@@ -1,156 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container>
|
<basic-container>
|
||||||
<!--搜索栏-->
|
<!--搜索栏-->
|
||||||
<!-- <el-form size="small" label-position="right" :inline="true" style="padding-left: 10px;padding-right: 10px;">
|
<avue-form :option="searchOption" v-model="search" @submit="handleSearch" @reset-change="handleClear"></avue-form>
|
||||||
<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>
|
|
||||||
<!--/搜索栏-->
|
|
||||||
<waiting-mission ref="waiting" v-if="search.status === 1" @refresh="handleClear"></waiting-mission>
|
<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>
|
<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>
|
<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 FinishedMission from './Table/FinishedMission'
|
||||||
import ExpiredMission from './Table/ExpiredMission'
|
import ExpiredMission from './Table/ExpiredMission'
|
||||||
import {companyMissionState, recruitStatus, educationState} from '@/common/dic'
|
import {companyMissionState, recruitStatus, educationState} from '@/common/dic'
|
||||||
|
import {getDeptMyTree} from "@/api/tenant/talents";
|
||||||
|
|
||||||
// import {mapGetters} from "vuex";
|
// import {mapGetters} from "vuex";
|
||||||
|
const searchData = {
|
||||||
|
status: 1
|
||||||
|
}
|
||||||
export default {
|
export default {
|
||||||
comments: {},
|
comments: {},
|
||||||
name: "tenant_mission",
|
name: "tenant_mission",
|
||||||
@@ -194,9 +49,8 @@ export default {
|
|||||||
value: 9,
|
value: 9,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
search: {
|
search: Object.assign({}, searchData),
|
||||||
status: 1
|
depTree: [],
|
||||||
},
|
|
||||||
timeScreenTerm: [{
|
timeScreenTerm: [{
|
||||||
value: 1,
|
value: 1,
|
||||||
label: '报名截止日期',
|
label: '报名截止日期',
|
||||||
@@ -217,11 +71,76 @@ export default {
|
|||||||
FinishedMission,
|
FinishedMission,
|
||||||
ExpiredMission
|
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: {},
|
watch: {},
|
||||||
|
created() {
|
||||||
|
this.getDept()
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleSearch() {
|
async getDept() {
|
||||||
let params = {...this.search}
|
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) {
|
if (this.search.time) {
|
||||||
params.stime = this.search.time[0],
|
params.stime = this.search.time[0],
|
||||||
params.etime = this.search.time[1]
|
params.etime = this.search.time[1]
|
||||||
@@ -239,6 +158,7 @@ export default {
|
|||||||
console.log("444444444");
|
console.log("444444444");
|
||||||
this.$refs.expired.onLoad(this.page, params);
|
this.$refs.expired.onLoad(this.page, params);
|
||||||
}
|
}
|
||||||
|
done && done()
|
||||||
},
|
},
|
||||||
date() {
|
date() {
|
||||||
this.dateChange(this.timeValue)
|
this.dateChange(this.timeValue)
|
||||||
@@ -263,28 +183,10 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
handleClear() {
|
handleClear() {
|
||||||
let curStatus = this.search.status;
|
this.$nextTick(() => {
|
||||||
this.search = {
|
this.search = Object.assign({}, searchData)
|
||||||
status: curStatus,
|
this.handleSearch()
|
||||||
missionNo: '',
|
})
|
||||||
missionTitle: '',
|
|
||||||
stime: '',
|
|
||||||
etime: '',
|
|
||||||
etimePubBeginTime: '',
|
|
||||||
etimePubEndTime: '',
|
|
||||||
stimeBeginTime: '',
|
|
||||||
stimeEndTime: '',
|
|
||||||
etimeBeninTime: '',
|
|
||||||
etimeEndTime: '',
|
|
||||||
jobName: '',
|
|
||||||
companyName: '',
|
|
||||||
jobStatus: ''
|
|
||||||
}
|
|
||||||
this.timeValue = '';
|
|
||||||
this.endDateRange = '';
|
|
||||||
this.beginTimeValue = "";
|
|
||||||
this.successTimeValue = "";
|
|
||||||
this.handleSearch()
|
|
||||||
},
|
},
|
||||||
// 开始时间
|
// 开始时间
|
||||||
beginDateChange(val) {
|
beginDateChange(val) {
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ import {getMapData} from '@/api/desk/notice'
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
getPageUrl: "http://10.165.0.173/largescreen/",
|
getPageUrl: process.env.VUE_APP_LARGESCREEN,
|
||||||
// getPageUrl: "http://39.98.184.58/largescreen/",
|
// getPageUrl: "http://39.98.184.58/largescreen/",
|
||||||
fullScreenFlag: false,
|
fullScreenFlag: false,
|
||||||
fullScreenFlagKey: 0,
|
fullScreenFlagKey: 0,
|
||||||
|
|||||||
Reference in New Issue
Block a user