diff --git a/src/api/resource/oss.js b/src/api/resource/oss.js
index d120f38..60d1fb8 100644
--- a/src/api/resource/oss.js
+++ b/src/api/resource/oss.js
@@ -1,72 +1,86 @@
-import request from '@/router/axios';
-import {getToken} from '@/util/auth'
+import request from "@/router/axios";
+import { getToken } from "@/util/auth";
-export const getList =
- (current, size, params) => {
- return request({
- url: '/api/jobslink-api/resource/oss/list',
- method: 'get',
- params: {
- ...params,
- current,
- size,
- }
- })
+export const getList = (current, size, params) => {
+ return request({
+ url: "/api/jobslink-api/resource/oss/list",
+ method: "get",
+ params: {
+ ...params,
+ current,
+ size
}
+ });
+};
-export const getDetail =
- (id) => {
- return request({
- url: '/api/jobslink-api/resource/oss/detail',
- method: 'get',
- params: {id}
- })
+export const getDetail = id => {
+ return request({
+ url: "/api/jobslink-api/resource/oss/detail",
+ method: "get",
+ params: { id }
+ });
+};
+
+export const remove = ids => {
+ return request({
+ url: "/api/jobslink-api/resource/oss/remove",
+ method: "post",
+ params: {
+ ids
}
+ });
+};
-export const remove =
- (ids) => {
- return request({
- url: '/api/jobslink-api/resource/oss/remove',
- method: 'post',
- params: {
- ids,
- }
- })
- }
+export const add = row => {
+ return request({
+ url: "/api/jobslink-api/resource/oss/submit",
+ method: "post",
+ data: row
+ });
+};
-export const add =
- (row) => {
- return request(
- {url: '/api/jobslink-api/resource/oss/submit', method: 'post', data: row})
- }
+export const update = row => {
+ return request({
+ url: "/api/jobslink-api/resource/oss/submit",
+ method: "post",
+ data: row
+ });
+};
-export const update =
- (row) => {
- return request(
- {url: '/api/jobslink-api/resource/oss/submit', method: 'post', data: row})
- }
-
-export const enable =
- (id) => {
- return request({
- url: '/api/jobslink-api/resource/oss/enable',
- method: 'post',
- params: {id}
- })
- }
-
-export const putFile = (type) => `/api/jobslink-api/resource/file/save?Jobslink-Auth=${getToken()}?bussinessType=${type || 11}`
+export const enable = id => {
+ return request({
+ url: "/api/jobslink-api/resource/oss/enable",
+ method: "post",
+ params: { id }
+ });
+};
+export const putFile = type =>
+ `/api/jobslink-api/resource/file/save?Jobslink-Auth=${getToken()}?bussinessType=${type ||
+ 11}`;
export const putFileFun = (file, onUploadProgress) => {
const data = new FormData();
- data.append('file', file);
+ data.append("file", file);
return request({
- url: '/api/jobslink-api/resource/file/save?bussinessType=11',
- method: 'post',
- headers: {'Content-Type': 'multipart/form-data'},
+ url: "/api/jobslink-api/resource/file/save?bussinessType=11",
+ method: "post",
+ headers: { "Content-Type": "multipart/form-data" },
data,
onUploadProgress
- })
-}
+ });
+};
+
+export const putFileUpload = (file, type, onUploadProgress) => {
+ const data = new FormData();
+ data.append("file", file);
+
+ return request({
+ url: "/api/jobslink-api/resource/file/save?bussinessType=" + type,
+ method: "post",
+ headers: { "Content-Type": "multipart/form-data" },
+ data,
+ onUploadProgress
+ });
+};
diff --git a/src/api/tenant/common.js b/src/api/tenant/common.js
index fbedce8..f03d90c 100644
--- a/src/api/tenant/common.js
+++ b/src/api/tenant/common.js
@@ -1,12 +1,12 @@
import request from "@/router/axios";
-import { validatenull } from "@/util/validate";
+import {validatenull} from "@/util/validate";
/*获取行业类型*/
export const getTrade = companyId => {
- return new Promise(function(resolve, reject) {
+ return new Promise(function (resolve, reject) {
request({
url: "/api/jobslink-api/tenant/trade/base/all",
method: "get",
- params: { companyId }
+ params: {companyId}
})
.then(resp => {
const data = validatenull(resp.data.data) ? [] : resp.data.data;
@@ -18,11 +18,11 @@ export const getTrade = companyId => {
/*根据行业类型获取工种*/
export const getWork = tradeId => {
- return new Promise(function(resolve, reject) {
+ return new Promise(function (resolve, reject) {
request({
url: "/api/jobslink-api/tenant/worktypes/base/getlist",
method: "get",
- params: { tradeId }
+ params: {tradeId}
})
.then(resp => {
const data = validatenull(resp.data.data) ? [] : resp.data.data;
diff --git a/src/api/tenant/serve.js b/src/api/tenant/serve.js
index fff15a2..355ff15 100644
--- a/src/api/tenant/serve.js
+++ b/src/api/tenant/serve.js
@@ -312,6 +312,32 @@ export const phoneUpdate = (params) => {
});
};
+export const serveUpdate = (params) => {
+ return request({
+ url: "/api/jobslink-api/serve/serveUpdate",
+ method: "post",
+ params
+ });
+};
+
+export const serveRegion = (params) => {
+ return request({
+ url: "/api/jobslink-api/serve/region",
+ method: "get",
+ params
+ });
+};
+
+
+export const serveExitReason = (params) => {
+ return request({
+ url: "/api/jobslink-api/serve/exitReason",
+ method: "get",
+ params
+ });
+};
+
+
export const getMsgContent = (params) => {
return request({
url: "/api/jobslink-api/serve/getMsgContent",
diff --git a/src/common/dic.js b/src/common/dic.js
index ad5bbdb..2853df0 100644
--- a/src/common/dic.js
+++ b/src/common/dic.js
@@ -1,190 +1,189 @@
export const wagesStatus = [
- {value: 0, label: "未支付"},
- {value: 1, label: "已支付"},
- {value: 2, label: "已取消"},
- {value: 3, label: "已过期"},
- {value: 9, label: "异常"},
+ { value: 0, label: "未支付" },
+ { value: 1, label: "已支付" },
+ { value: 2, label: "已取消" },
+ { value: 3, label: "已过期" },
+ { value: 9, label: "异常" }
];
export const orderGoodStatus = [
- {value: 0, label: "未支付"},
- {value: 1, label: "已支付"},
+ { value: 0, label: "未支付" },
+ { value: 1, label: "已支付" }
];
export const insuranceStatus = [
- {value: 1, label: "生效中"},
- {value: 2, label: "即将失效"},
- {value: 3, label: "已失效"},
- {value: 0, label: "未生效"},
+ { value: 1, label: "生效中" },
+ { value: 2, label: "即将失效" },
+ { value: 3, label: "已失效" },
+ { value: 0, label: "未生效" }
];
export const orderGoods = [
- {value: 1, label: "服务费订单"},
- {value: 0, label: "工资订单"},
+ { value: 1, label: "服务费订单" },
+ { value: 0, label: "工资订单" }
];
export const timeStatus = [
- {value: 0, label: "开始时间"},
- {value: 1, label: "结束时间"},
+ { value: 0, label: "开始时间" },
+ { value: 1, label: "结束时间" }
// { value: 2, label: "截止时间" },
];
export const jobStatus = [
// { value: "", label: "全部" },
- {value: 9, label: "审核未通过"},
- {value: 1, label: "招聘中"},
+ { value: 9, label: "审核未通过" },
+ { value: 1, label: "招聘中" },
// { value: 2, label: "任务中" },
- {value: 3, label: "已完成"},
- {value: 4, label: "已失效"},
-
+ { value: 3, label: "已完成" },
+ { value: 4, label: "已失效" }
];
export const bondState = [
- {value: "", label: "全部"},
- {value: 0, label: "已缴"},
- {value: 2, label: "免缴"},
- {value: 1, label: "未缴"},
+ { value: "", label: "全部" },
+ { value: 0, label: "已缴" },
+ { value: 2, label: "免缴" },
+ { value: 1, label: "未缴" }
];
export const enableState = [
- {value: "", label: "全部"},
- {value: 1, label: "启用"},
- {value: 0, label: "停用"},
+ { value: "", label: "全部" },
+ { value: 1, label: "启用" },
+ { value: 0, label: "停用" }
];
export const payState = [
- {value: "", label: "全部"},
- {value: 0, label: "未支付"},
- {value: 1, label: "已支付"},
+ { value: "", label: "全部" },
+ { value: 0, label: "未支付" },
+ { value: 1, label: "已支付" }
];
export const taskState = [
- {value: 1, label: "岗位汇总"},
- {value: 2, label: "岗位明细"},
+ { value: 1, label: "岗位汇总" },
+ { value: 2, label: "岗位明细" }
];
export const postState = [
- {value: 1, label: "岗位汇总"},
- {value: 2, label: "岗位明细"},
+ { value: 1, label: "岗位汇总" },
+ { value: 2, label: "岗位明细" }
];
export const enterpriseState = [
- {value: 1, label: "审核中企业"},
- {value: 2, label: "合作中企业"},
- {value: 3, label: "终止合作企业"},
+ { value: 1, label: "审核中企业" },
+ { value: 2, label: "合作中企业" },
+ { value: 3, label: "终止合作企业" }
];
export const companyMissionState = [
- {value: 1, label: "招聘中"},
- {value: 2, label: "任务中"},
- {value: 3, label: "已完成"},
- {value: 4, label: "已失效"},
+ { value: 1, label: "招聘中" },
+ { value: 2, label: "任务中" },
+ { value: 3, label: "已完成" },
+ { value: 4, label: "已失效" }
];
export const companyPostState = [
- {value: 1, label: "招聘中"},
+ { value: 1, label: "招聘中" },
// { value: 2, label: "已招" },
- {value: 3, label: "已完成"},
- {value: 4, label: "未发布"},
+ { value: 3, label: "已完成" },
+ { value: 4, label: "未发布" }
];
//电子签章管理
export const esignatureState = [
- {value: 0, label: "待签发"},
- {value: 1, label: "签发成功"},
- {value: 2, label: "签发失败"},
+ { value: 0, label: "待签发" },
+ { value: 1, label: "签发成功" },
+ { value: 2, label: "签发失败" }
];
//线上代发工资状态
export const onLinePayState = [
- {value: "wait", label: "待确定"},
- {value: "ing", label: "发放中"},
- {value: "moreThan", label: "超三倍工资"},
- {value: "success", label: "发放成功"},
- {value: "fail", label: "发放失败"},
- {value: "pause", label: "暂不发放"},
- {value: "all", label: "发放历史"},
+ { value: "wait", label: "待确定" },
+ { value: "ing", label: "发放中" },
+ { value: "moreThan", label: "超三倍工资" },
+ { value: "success", label: "发放成功" },
+ { value: "fail", label: "发放失败" },
+ { value: "pause", label: "暂不发放" },
+ { value: "all", label: "发放历史" }
];
//个税校准管理状态
export const incomeTaxState = [
- {value: 1, label: "待校准"},
- {value: 2, label: "待确定"},
- {value: 3, label: "补发中"},
- {value: 4, label: "补发成功"},
- {value: 5, label: "补发失败"},
- {value: 6, label: "无需补发"},
+ { value: 1, label: "待校准" },
+ { value: 2, label: "待确定" },
+ { value: 3, label: "补发中" },
+ { value: 4, label: "补发成功" },
+ { value: 5, label: "补发失败" },
+ { value: 6, label: "无需补发" }
];
//线下代发工资状态
export const offLinePayState = [
- {value: "wait", label: "待发放"},
- {value: "success", label: "发放成功"},
- {value: "all", label: "发放历史"},
+ { value: "wait", label: "待发放" },
+ { value: "success", label: "发放成功" },
+ { value: "all", label: "发放历史" }
];
//线上代发发放渠道
export const payType = [
- {value: 0, label: "银联线上"},
- {value: 1, label: "其他发放"},
+ { value: 0, label: "银联线上" },
+ { value: 1, label: "其他发放" }
];
//个税校准管理状态
export const examineListState = [
{
value: 3,
- label: "待完善",
+ label: "待完善"
},
{
value: 4,
- label: "待审核",
+ label: "待审核"
},
{
value: 0,
- label: "审核通过",
+ label: "审核通过"
},
{
value: 1,
- label: "审核不通过",
+ label: "审核不通过"
},
{
value: 5,
- label: "暂不处理",
+ label: "暂不处理"
},
{
value: 9,
- label: "终止合作",
- },
+ label: "终止合作"
+ }
];
export const missionState = [
...companyMissionState,
{
label: "审核未通过",
- value: 9,
- },
+ value: 9
+ }
];
//商保状态
export const insureState = [
{
value: 0,
- label: "未生效",
+ label: "未生效"
},
{
value: 1,
- label: "生效中",
+ label: "生效中"
},
{
value: 2,
- label: "即将失效",
+ label: "即将失效"
},
{
value: 3,
- label: "已失效",
+ label: "已失效"
},
{
value: 4,
- label: "已生效",
+ label: "已生效"
},
{
value: 5,
- label: "已过期",
+ label: "已过期"
},
{
value: 6,
- label: "已失效",
- },
+ label: "已失效"
+ }
];
export const wageUnitCategoryState = [
- {value: 1, label: "元/人·时", disable: false},
- {value: 2, label: "元/人·天", disable: false},
- {value: 3, label: "元/人·月", disable: true},
- {value: 4, label: "其他", disable: true},
+ { value: 1, label: "元/人·时", disable: false },
+ { value: 2, label: "元/人·天", disable: false },
+ { value: 3, label: "元/人·月", disable: true },
+ { value: 4, label: "其他", disable: true }
// { value: 0, label: "元/人·次", disable: true },
// { value: 4, label: "元/人·周", disable: true },
// { value: 5, label: "元/人·个", disable: true },
@@ -194,198 +193,206 @@ export const wageUnitCategoryState = [
export const wageOptionsMonth = [
{
value: "2000元(含)以下/月",
- label: "2000元(含)以下/月",
+ label: "2000元(含)以下/月"
},
{
value: "2000-5000元(含)/月",
- label: "2000-5000元(含)/月",
+ label: "2000-5000元(含)/月"
},
{
value: "5000-8000元(含)/月",
- label: "5000-8000元(含)/月",
+ label: "5000-8000元(含)/月"
},
{
value: "8000-10000元(含)/月",
- label: "8000-10000元(含)/月",
+ label: "8000-10000元(含)/月"
},
{
value: "10000-15000元(含)/月",
- label: "10000-15000元(含)/月",
+ label: "10000-15000元(含)/月"
},
{
value: "15000-20000元(含)/月",
- label: "15000-20000元(含)/月",
+ label: "15000-20000元(含)/月"
},
{
value: "20000-25000元(含)/月",
- label: "20000-25000元(含)/月",
+ label: "20000-25000元(含)/月"
},
{
value: "25000-30000元(含)/月",
- label: "25000-30000元(含)/月",
+ label: "25000-30000元(含)/月"
},
{
value: "30000元以上/月",
- label: "30000元以上/月",
+ label: "30000元以上/月"
},
{
value: "面议、暂无要求",
- label: "面议、暂无要求",
- },
+ label: "面议、暂无要求"
+ }
];
export const wageOptionsWithNoMonth = [
{
value: "10-15元/小时",
- label: "10-15元/小时",
+ label: "10-15元/小时"
},
{
value: "16-20元/小时",
- label: "16-20元/小时",
+ label: "16-20元/小时"
},
{
value: "21-25元/小时",
- label: "21-25元/小时",
+ label: "21-25元/小时"
},
{
value: "26-30元/小时",
- label: "26-30元/小时",
+ label: "26-30元/小时"
},
{
value: "30元/小时以上",
- label: "30元/小时以上",
+ label: "30元/小时以上"
},
{
value: "100-150元/天",
- label: "100-150元/天",
+ label: "100-150元/天"
},
{
value: "151-200元/天",
- label: "151-200元/天",
+ label: "151-200元/天"
},
{
value: "201-250元/天",
- label: "201-250元/天",
+ label: "201-250元/天"
},
{
value: "251-300元/天",
- label: "251-300元/天",
+ label: "251-300元/天"
},
{
value: "300元/天以上",
- label: "300元/天以上",
+ label: "300元/天以上"
},
{
value: "30000元以上/月",
- label: "30000元以上/月",
+ label: "30000元以上/月"
},
{
value: "面议、暂无要求",
- label: "面议、暂无要求",
- },
+ label: "面议、暂无要求"
+ }
];
export const educationState = [
{
label: "不限",
- value: 8,
+ value: 8
},
{
label: "初中及以下",
- value: 7,
+ value: 7
},
{
label: "中专/中技",
- value: 6,
+ value: 6
},
{
label: "高中",
- value: 5,
+ value: 5
},
{
label: "大专",
- value: 4,
+ value: 4
},
{
label: "本科",
- value: 3,
+ value: 3
},
{
label: "硕士",
- value: 2,
+ value: 2
},
{
label: "博士",
- value: 1,
+ value: 1
},
{
label: "MBA/EMBA",
- value: 0,
- },
+ value: 0
+ }
];
export const genderState = [
{
label: "不限男女",
- value: 0,
+ value: 0
},
{
label: "男",
- value: 1,
+ value: 1
},
{
label: "女",
- value: 2,
- },
+ value: 2
+ }
];
// 服务类型
export const serviceType = [
- {value: 0, label: "其他指导和服务"},
- {value: 1, label: "就业指导课程宣讲"},
- {value: 2, label: "职业选择"},
- {value: 3, label: "求职择业心理辅导"},
- {value: 4, label: "就业政策宣讲与就业市场分析"},
- {value: 5, label: "求职简历面试技巧辅导"},
- {value: 6, label: "劳动权益与法律保障解读"},
- {value: 7, label: "创业服务与辅导"},
- {value: 8, label: "职场适应与职业发展指导"},
- {value: 9, label: "就业典型案例宣传与就业干预"},
+ { value: 0, label: "其他指导和服务" },
+ { value: 1, label: "就业指导课程宣讲" },
+ { value: 2, label: "职业选择" },
+ { value: 3, label: "求职择业心理辅导" },
+ { value: 4, label: "就业政策宣讲与就业市场分析" },
+ { value: 5, label: "求职简历面试技巧辅导" },
+ { value: 6, label: "劳动权益与法律保障解读" },
+ { value: 7, label: "创业服务与辅导" },
+ { value: 8, label: "职场适应与职业发展指导" },
+ { value: 9, label: "就业典型案例宣传与就业干预" }
];
export const recruitStatus = [
- {value: 0, label: "未审核"},
- {value: 1, label: "通过"},
- {value: 8, label: "关闭"},
- {value: 9, label: "已驳回"},
+ { value: 0, label: "未审核" },
+ { value: 1, label: "通过" },
+ { value: 8, label: "关闭" },
+ { value: 9, label: "已驳回" }
];
export const dataSourcesEnum = [
// { value: -1, label: "总集数据中心" },
- {value: 1, label: "数据共享中心"},
- {value: 2, label: "企业发布"},
- {value: 3, label: "社区发布"},
- {value: 4, label: "互联网采集"},
-]
+ { value: 1, label: "数据共享中心" },
+ { value: 2, label: "企业发布" },
+ { value: 3, label: "社区发布" },
+ { value: 4, label: "互联网采集" }
+];
export const companyEnum = [
- {value: 1, label: "机关/事业单位"},
- {value: 2, label: "国有企业"},
- {value: 3, label: "私营企业"},
- {value: 4, label: "外商及港澳台投资企业"},
- {value: 5, label: "股份制企业"},
- {value: 6, label: "学校/下级学院"},
- {value: 7, label: "医院"},
- {value: 8, label: "律师事务所"},
- {value: 9, label: "银行"},
- {value: 10, label: "非盈利社会组织"},
- {value: 11, label: "其它"},
-]
+ { value: 1, label: "机关/事业单位" },
+ { value: 2, label: "国有企业" },
+ { value: 3, label: "私营企业" },
+ { value: 4, label: "外商及港澳台投资企业" },
+ { value: 5, label: "股份制企业" },
+ { value: 6, label: "学校/下级学院" },
+ { value: 7, label: "医院" },
+ { value: 8, label: "律师事务所" },
+ { value: 9, label: "银行" },
+ { value: 10, label: "非盈利社会组织" },
+ { value: 11, label: "其它" }
+];
export const addressColumn = [
- {value: '95', label: "绵竹市"},
- {value: '185', label: "广汉市"},
- {value: '143', label: "旌阳区"},
- {value: '150', label: "罗江区"},
- {value: '42', label: "什邡市"},
- {value: '156', label: "中江县"},
- {value: '44139628', label: "经济技术开发区"},
- {value: '79194151', label: "德阳市开发区"},
-]
+ { value: "95", label: "绵竹市" },
+ { value: "185", label: "广汉市" },
+ { value: "143", label: "旌阳区" },
+ { value: "150", label: "罗江区" },
+ { value: "42", label: "什邡市" },
+ { value: "156", label: "中江县" },
+ { value: "44139628", label: "经济技术开发区" },
+ { value: "79194151", label: "德阳市开发区" }
+];
+
+export const serveTypeOptions = [
+ { label: "线下日志", value: 0 },
+ { label: "跟踪服务", value: 1 },
+ { label: "推送岗位日志", value: 2 },
+ { label: "推送政策日志", value: 3 },
+ { label: "温馨提示", value: 4 }
+];
diff --git a/src/page/login/userlogin.vue b/src/page/login/userlogin.vue
index 1c2d8a4..de3a175 100644
--- a/src/page/login/userlogin.vue
+++ b/src/page/login/userlogin.vue
@@ -5,22 +5,15 @@
{{ $t('login.phoneLogin') }}
-
-
+
+
-
-
+
+
@@ -37,12 +30,8 @@
- {{ $t('login.submit') }}
+ {{
+ $t('login.submit') }}
@@ -51,14 +40,14 @@
+
+
diff --git a/src/views/tenant/main/serve/followUpVisit/rulesForm.js b/src/views/tenant/main/serve/followUpVisit/rulesForm.js
new file mode 100644
index 0000000..c2d71b5
--- /dev/null
+++ b/src/views/tenant/main/serve/followUpVisit/rulesForm.js
@@ -0,0 +1,121 @@
+const allFieldsHidden = {
+ isServe: false, // 本人是否需要服务
+ isTrain: false, //本人是否需要培训
+ isWork: false, // 本人是否有就业意愿
+ isReject: false, // 是否拒绝就业服务
+ isJustCase: false, // 拒绝服务有无正当理由
+ salary: false, // 期望薪资
+ isExit: false, // 是否要退出
+ workSkillOne: false, // 第一求职意愿
+ workSkillTwo: false, // 第二求职意愿
+ workPlace: false, // 就业区县
+ exitReason: false, // 不退出原因
+ exitReasonTitle: "不退出原因",
+ rejectReason: false, // 拒绝服务理由
+ rejectResonUrl: false, // 文件佐证资料上传
+ regmanage: false, // 失业登记管理<按钮>
+ PersonalBaseInfo: false // 个人基础信息修改<按钮>
+};
+
+const categoryVisibilityRules = {
+ 潜在可享受职业培训政策人员: form => {
+ const showTrain = form.isServe === 1; // 联动规则
+ // 需要先全部隐藏,再打开需要的
+ return {
+ ...allFieldsHidden,
+ isServe: true,
+ regmanage: true,
+ PersonalBaseInfo: true,
+ isTrain: showTrain
+ };
+ },
+
+ 潜在登记失业人员: form => {
+ const showServe = form.isWork === 1;
+ const showTrain = showServe && form.isServe === 1;
+ // const showInpute = showTrain && form.isTrain === 1;
+
+ return {
+ ...allFieldsHidden,
+ isServe: showServe,
+ isTrain: showTrain,
+ isWork: true,
+ PersonalBaseInfo: false,
+ salary: showTrain,
+ workSkillOne: showTrain,
+ workSkillTwo: showTrain,
+ workPlace: showTrain
+ };
+ },
+
+ 潜在的就业困难退出人员: form => {
+ const showExitReason = form.isExit === 0;
+
+ return {
+ ...allFieldsHidden,
+ isExit: true,
+ exitReason: showExitReason,
+ exitReasonTitle: "是否应退出就业困难人群"
+ };
+ },
+
+ 潜在返乡未就业农村劳动力: form => {
+ const showServe = form.isWork === 1;
+ const showTrain = showServe && form.isServe === 1;
+
+ return {
+ ...allFieldsHidden,
+ isServe: showServe,
+ isTrain: showTrain,
+ isWork: true,
+ PersonalBaseInfo: true,
+ salary: showTrain,
+ workSkillOne: showTrain,
+ workSkillTwo: showTrain,
+ workPlace: showTrain
+ };
+ },
+
+ 潜在就业困难人员: form => {
+ const showServe = form.isWork === 1;
+ const showTrain = showServe && form.isServe === 1;
+ // const showInpute = showTrain && form.isTrain === 1;
+
+ return {
+ ...allFieldsHidden,
+ isServe: showServe,
+ isTrain: showTrain,
+ isWork: true,
+ PersonalBaseInfo: false,
+ salary: showTrain,
+ workSkillOne: showTrain,
+ workSkillTwo: showTrain,
+ workPlace: showTrain
+ };
+ },
+
+ 潜在就业见习申请人员: form => {
+ return {
+ ...allFieldsHidden,
+ isServe: true
+ };
+ },
+
+ 领取失业补助金人员: form => {
+ const showReason = form.isReject === 1;
+
+ return {
+ ...allFieldsHidden,
+ isReject: true,
+ isJustCase: showReason,
+ rejectReason: showReason,
+ rejectResonUrl: showReason
+ };
+ },
+
+ default: () => {
+ return allFieldsHidden;
+ }
+};
+
+export default categoryVisibilityRules;
diff --git a/src/views/tenant/main/serve/index.vue b/src/views/tenant/main/serve/index.vue
index df9b509..0eb3227 100644
--- a/src/views/tenant/main/serve/index.vue
+++ b/src/views/tenant/main/serve/index.vue
@@ -7,36 +7,35 @@
服务分组管理
新建分组
+ v-if="vaildData(permission.tenant_main_serve_index_groupadd, false)" @click="updateGroups('add')">新建分组
-
+
-
-
-
+
+
- {{ data.groupName || data.name }}
+ {{ data.groupName || data.name }}
+
+
+ updateGroups('edit', data)">
+
+ removeGroups(data)">
+
+
-
- updateGroups('edit', data)">
-
- removeGroups(data)">
-
-
-
@@ -44,18 +43,9 @@
-
+
@@ -72,23 +62,11 @@
- 回访
+ 回访
- 推送服务
+ 推送服务
- 管理服务日志
+ 管理服务日志
@@ -96,50 +74,28 @@
-
-
+
- 查看详情
+ 查看详情
-
-
+
-
@@ -149,7 +105,7 @@
-
@@ -158,9 +114,9 @@
- {{
- item
- }}
+ {{
+ item
+ }}
@@ -179,27 +135,15 @@
-
-
+
编辑
+ v-if="row.serveTheme !== '人工推送岗位' && row.serveTheme !== '人工推送政策'" v-show="row.serveName === '手工录入服务日志'"
+ @click="$refs.logCrud.rowEdit(row, index2)">编辑
+
+ 删除
-
-
+
+
-
-
-
-
- {{ phone }}
-
-
-
-
-
-
-
- 是
- 否
-
-
-
-
- 是
- 否
-
-
-
-
-
+
@@ -281,17 +186,18 @@ import {
getListAllPolicy,
getListAllTalents, getMatchPolicy, getMatchServeList, getMatchWorkStation,
getServeListTalents,
- removeDept, removeServeLog, updateServeLog, getPhoneList, phoneUpdate
+ removeDept, removeServeLog, updateServeLog, getPhoneList, serveRegion, serveExitReason
} from "@/api/tenant/serve";
-import {mapGetters} from "vuex";
+import { mapGetters } from "vuex";
import addGroups from "./Dialog/addGroup";
-import {getLabelList} from "@/api/tenant/common";
+import { getLabelList, getWorkTypes } from "@/api/tenant/common";
import missionView from "../../mission/Table/missionView.vue";
import workView from "../../works/Table/missionView.vue"
import TextTooltip from "@/components/text-tooltip/index.vue";
-import {serviceType} from "@/common/dic";
+import { serveTypeOptions, serviceType } from "@/common/dic";
import PushService from './Dialog/pushService2.vue'
-import {getDeptMyTree} from "@/api/tenant/talents";
+import { getDeptMyTree } from "@/api/tenant/talents";
+import FollowUpDialog from "@/views/tenant/main/serve/followUpVisit/qzjyknry.vue";
const page = {
size: 10,
@@ -299,11 +205,16 @@ const page = {
total: 0,
}
export default {
- components: {addGroups, missionView, workView, TextTooltip, PushService},
+ components: { FollowUpDialog, addGroups, missionView, workView, TextTooltip, PushService },
data() {
return {
+ exitReasonOptions: [],
arr: [],
worktypeDic: {},
+ arr_2: [],
+ worktypeDic_2: {},
+ workSkillsOptions: [],
+ areaOptions: [],
treeData: [],
loading: false,
tenantId: null,
@@ -337,20 +248,30 @@ export default {
list: [],
isServe: 0,
isTrain: 0,
+ isWork: 1,
+ salary: 4000,
+ workSkillOne: '',
+ workSkillTwo: '',
},
phoneItem: null,
depTree: [],
rules: {
isServe: [
- {required: true, message: '请选择是否服务', trigger: 'change'}
+ { required: true, message: '请选择是否服务', trigger: 'change' }
],
isTrain: [
- {required: true, message: '请选择是否培训', trigger: 'change'}
+ { required: true, message: '请选择是否培训', trigger: 'change' }
+ ],
+ isWork: [
+ { required: true, message: '请选择是否有就业意愿', trigger: 'change' }
+ ],
+ salary: [
+ { required: true, message: '请选择期望薪资', trigger: 'change' }
],
},
logOption: {
editBtn: false,
- delBtn: true,
+ delBtn: false,
addBtn: true,
viewBtn: true,
border: true,
@@ -388,12 +309,7 @@ export default {
label: '服务类型',
prop: 'serveType',
type: 'select',
- dicData: [
- {label: '普通日志', value: 0},
- {label: '回访日志', value: 1},
- {label: '推送岗位日志', value: 2},
- {label: '推送政策日志', value: 3},
- ],
+ dicData: serveTypeOptions,
display: false,
}, {
label: '服务主题',
@@ -452,7 +368,7 @@ export default {
for (let j = 0; j < this.arr.length; j++) {
const key = this.arr[j];
if (this.worktypeDic.hasOwnProperty(key)) {
- rel.push({name: key})
+ rel.push({ name: key })
}
}
// for (let i = 0; i < this.tempWorkType.length; i++) {
@@ -509,9 +425,30 @@ export default {
searchLabelWidth: 100,
searchSpan: 8,
},
+ // {
+ // label: '专业',
+ // prop: 'aac183Major'
+ // },
{
- label: '专业',
- prop: 'aac183Major'
+ label: '性别',
+ prop: 'aac004',
+ type: 'select',
+ dicUrl: "/api/jobslink-api/system/dict-biz/tadict?code=AAC004",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ rules: [
+ {
+ required: true,
+ message: "请输入性别",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: '常驻地址',
+ prop: 'residentAddress',
},
{
label: "毕业年份",
@@ -545,25 +482,48 @@ export default {
prop: 'aac010'
},
{
- label: "政策推送次数",
- prop: "servePolicyCount",
- searchType: 'number',
- search: unemployedCollegeStudents,
- searchLabelWidth: 100,
- searchSpan: 8,
+ label: "最小服务次数",
+ prop: "serveCountDown", // 后端对应的【最小】次数查询字段
+ type: "number",
+ search: true,
+ hide: true, // 不在列表中展示
+ display: false, // 不在表单中展示
+ searchSpan: 8, // 栅格占 4 (两个加起来是 8)
+ searchLabelWidth: 80,
},
{
- label: "岗位服务次数",
- prop: "serveCount",
- searchType: 'number',
- search: unemployedCollegeStudents,
- searchLabelWidth: 100,
- searchSpan: 8,
+ label: "最大服务次数",
+ prop: "serveCountUp", // 后端对应的【最大】次数查询字段
+ type: "number",
+ search: true,
+ hide: true,
+ display: false,
+ searchSpan: 8, // 栅格占 4
+ searchLabelWidth: 80,
+ },
+ // {
+ // label: "政策推送次数",
+ // prop: "servePolicyCount",
+ // searchType: 'number',
+ // search: unemployedCollegeStudents,
+ // searchLabelWidth: 100,
+ // searchSpan: 8,
+ // },
+ // {
+ // label: "岗位服务次数",
+ // prop: "serveCount",
+ // searchType: 'number',
+ // search: unemployedCollegeStudents,
+ // searchLabelWidth: 100,
+ // searchSpan: 8,
+ // },
+ {
+ label: "服务次数",
+ prop: "serveTotalCount",
},
{
label: "识别原因",
prop: "labelsBase",
- width: 100,
}
]
}
@@ -604,129 +564,129 @@ export default {
label: '政策名称',
prop: 'name'
},
- {
- label: "政策级别",
- prop: "level",
- span: 12,
- hide: true,
+ {
+ label: "政策级别",
+ prop: "level",
+ span: 12,
+ hide: true,
+ },
+ {
+ label: "政策文号",
+ prop: "number",
+ span: 12,
+ hide: true,
+ },
+ {
+ label: "发文机构",
+ prop: "issuingAuthority",
+ span: 12,
+ hide: true,
+ },
+ {
+ label: "分组",
+ prop: "groupId",
+ type: "tree",
+ hide: true,
+ span: 12,
+ display: true,
+ placeholder: "请选择 分组",
+ },
+ {
+ label: "有效性",
+ prop: "status",
+ type: "tree",
+ span: 12,
+ hide: true,
+ display: true,
+ dicData: [{ name: "有效", value: 1 }, { name: "无效", value: 0 }],
+ props: {
+ label: "name",
+ value: "value",
},
- {
- label: "政策文号",
- prop: "number",
- span: 12,
- hide: true,
+ },
+ {
+ label: "服务类型",
+ prop: "stype",
+ type: "tree",
+ span: 12,
+ display: true,
+ hide: true,
+ dicData: serviceType,
+ props: {
+ label: "label",
+ value: "value",
},
- {
- label: "发文机构",
- prop: "issuingAuthority",
- span: 12,
- hide: true,
- },
- {
- label: "分组",
- prop: "groupId",
- type: "tree",
- hide: true,
- span: 12,
- display: true,
- placeholder: "请选择 分组",
- },
- {
- label: "有效性",
- prop: "status",
- type: "tree",
- span: 12,
- hide: true,
- display: true,
- dicData: [{name: "有效", value: 1}, {name: "无效", value: 0}],
- props: {
- label: "name",
- value: "value",
+ rules: [
+ {
+ required: true,
+ message: "请选择服务类型",
+ trigger: "change",
},
- },
- {
- label: "服务类型",
- prop: "stype",
- type: "tree",
- span: 12,
- display: true,
- hide: true,
- dicData: serviceType,
- props: {
- label: "label",
- value: "value",
- },
- rules: [
- {
- required: true,
- message: "请选择服务类型",
- trigger: "change",
- },
- ],
- placeholder: "请选择 服务类型",
- },
- {
- label: "发文字号",
- prop: "issuingNumber",
- hide: true,
- span: 12,
- // row: true,
- maxlength: 50,
- showWordLimit: true,
- },
- {
- label: "类别",
- prop: "category",
- span: 12,
- hide: true,
- maxlength: 50,
- showWordLimit: true,
- },
- {
- label: "标签",
- prop: "labelName",
- hide: false,
- formslot: true,
- span: 24,
- },
- {
- label: "政策文件名",
- prop: "policyFileName",
- hide: true,
- span: 24,
- },
- {
- label: '政策内容',
- prop: 'policyContent',
- slot: true,
- hide: true,
- formslot: true,
- span: 24,
- },
- {
- label: "指南文件名",
- prop: "guidelineFileName",
- hide: true,
- span: 24,
- maxlength: 50,
- showWordLimit: true,
- },
- {
- label: "指南内容",
- prop: "guidelineContent",
- hide: true,
- formslot: true,
- span: 24,
- },
- {
- label: "备注",
- prop: "remarks",
- type: "textarea",
- hide: true,
- span: 24,
- maxlength: 100,
- showWordLimit: true,
- },
+ ],
+ placeholder: "请选择 服务类型",
+ },
+ {
+ label: "发文字号",
+ prop: "issuingNumber",
+ hide: true,
+ span: 12,
+ // row: true,
+ maxlength: 50,
+ showWordLimit: true,
+ },
+ {
+ label: "类别",
+ prop: "category",
+ span: 12,
+ hide: true,
+ maxlength: 50,
+ showWordLimit: true,
+ },
+ {
+ label: "标签",
+ prop: "labelName",
+ hide: false,
+ formslot: true,
+ span: 24,
+ },
+ {
+ label: "政策文件名",
+ prop: "policyFileName",
+ hide: true,
+ span: 24,
+ },
+ {
+ label: '政策内容',
+ prop: 'policyContent',
+ slot: true,
+ hide: true,
+ formslot: true,
+ span: 24,
+ },
+ {
+ label: "指南文件名",
+ prop: "guidelineFileName",
+ hide: true,
+ span: 24,
+ maxlength: 50,
+ showWordLimit: true,
+ },
+ {
+ label: "指南内容",
+ prop: "guidelineContent",
+ hide: true,
+ formslot: true,
+ span: 24,
+ },
+ {
+ label: "备注",
+ prop: "remarks",
+ type: "textarea",
+ hide: true,
+ span: 24,
+ maxlength: 100,
+ showWordLimit: true,
+ },
]
}
},
@@ -739,19 +699,6 @@ export default {
this.getDept()
},
methods: {
- // rowStyle(column) {
- // if (column.row.serveTheme === '人工推送岗位' || column.row.serveTheme === '人工推送政策') {
- // this.logOption.editBtn = true
- // } else {
- // this.logOption.editBtn = false
- // }
- // },
- handleBasicUpdate() {
- window.open('http://10.160.7.100:8000/jyback/template/general.html#/generalPage?_modulePartId_=1000076072', '_blank');
- },
- handelJobIntention() {
- this.$message({type: "info", message: "功能未配置"});
- },
async getDept() {
let params = {
tenantId: '000000'
@@ -771,55 +718,62 @@ export default {
})
})
},
- handelPhoneConfirm() {
- let _this = this
- let phone = ''
- if (this.phoneForm.list.length) phone = this.phoneForm.list[0];
- // if (/^1[3-9]{1}\d{9}/.test(this.phoneForm.phone)) phone = this.phoneForm.phone;
- if (phone) {
- this.$confirm(`手机号为:${phone}`, {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- }).then(async (res) => {
- let params = {
- idNumber: _this.phoneItem.idNumber,
- phone,
- serveId: this.selectInfo.id,
- serveUserId: this.phoneItem.serveUserId,
- isServe: this.phoneForm.isServe,
- isTrain: this.phoneForm.isTrain
- }
- let resData = await phoneUpdate(params)
- if (resData.data.code === 200) {
- _this.$message.success("手机号更新成功");
- _this.handlePhoneClose()
- }
- })
- } else {
- this.$message.error("请选择或输入用户手机号!");
- }
- },
- handlePhoneClose() {
- this.phoneDialogVisible = false
- this.phoneForm.phone = ''
- this.phoneForm.list = []
- this.phoneForm.isServe = 0
- this.phoneForm.isTrain = 0
- },
+ // 5. 重写 phoneDataList 方法
async phoneDataList(item) {
- let params = {
- idNumber: item.idNumber
- }
- let resData = await getPhoneList(params)
- if (resData.data.code === 200) {
- this.phoneList = resData.data.data
- this.phoneItem = item
- this.phoneDialogVisible = true
- this.phoneForm.isServe = item.isServe
- this.phoneForm.isTrain = item.isTrain
- } else {
- this.$message.error("用户数据异常!");
+ // 开启 Loading
+ const loadingInstance = this.$loading({
+ lock: true,
+ text: '正在加载数据...',
+ spinner: 'el-icon-loading',
+ background: 'rgba(0, 0, 0, 0.7)'
+ });
+
+ try {
+ // 1. 获取电话列表
+ let params = { idNumber: item.idNumber };
+ let resData = await getPhoneList(params);
+
+ // 2. (如果需要) 获取技能列表
+ if (this.workSkillsOptions.length === 0) {
+ let skillsRes = await getWorkTypes(1);
+ if (skillsRes.data.code === 200) {
+ this.workSkillsOptions = skillsRes.data.data;
+ }
+ }
+
+ if (this.areaOptions.length === 0) {
+ let regsRes = await serveRegion();
+ if (regsRes.data.code === 200) {
+ this.areaOptions = regsRes.data.data;
+ }
+ }
+
+ if (this.exitReasonOptions.length === 0) {
+ let Reason = await serveExitReason();
+ if (Reason.data.code === 200) {
+ this.exitReasonOptions = Reason.data.data;
+ }
+ }
+
+
+ // 检查电话列表API结果
+ if (resData.data.code === 200) {
+ // 成功: 关闭 loading, 传递数据, 打开弹窗
+ loadingInstance.close();
+ this.phoneList = resData.data.data;
+ this.phoneItem = item;
+ this.phoneDialogVisible = true;
+ } else {
+ // 失败: 关闭 loading, 显示错误
+ loadingInstance.close();
+ this.$message.error("用户数据异常!");
+ }
+
+ } catch (error) {
+ // 异常: 关闭 loading, 显示错误
+ console.error("Error loading follow-up data:", error);
+ loadingInstance.close();
+ this.$message.error("获取用户数据失败!");
}
},
/*点击分组加载相应人才列表*/
@@ -859,7 +813,7 @@ export default {
this.$nextTick(function () {
this.$refs.tree.setCurrentKey(groupId);
}); //默认高亮
- this.nodeClick({id: groupId});
+ this.nodeClick({ id: groupId });
} else {
if (this.treeData.length) {
const serveId2 = this.treeData[0].id
@@ -867,9 +821,10 @@ export default {
this.$nextTick(function () {
this.$refs.tree.setCurrentKey(serveId);
}); //默认高亮第一个
- this.nodeClick({id: serveId});
+ this.nodeClick({ id: serveId });
}
}
+ this.selectInfo = data[0].children[0]
this.loading = false;
});
},
@@ -888,8 +843,8 @@ export default {
const h = this.$createElement;
this.$confirm(
h("div", null, [
- h("p", {style: "font-size: 16px"}, "您确定要删除此分组吗? "),
- h("p", {style: "color: red"}, "一旦删除则无法找回"),
+ h("p", { style: "font-size: 16px" }, "您确定要删除此分组吗? "),
+ h("p", { style: "color: red" }, "一旦删除则无法找回"),
]),
{
type: "warning",
@@ -933,6 +888,9 @@ export default {
.catch(() => {
});
},
+ callbackPopup() {
+ this.onLoad(this.page, this.query);
+ },
/*加载人才列表 */
onLoad(page, params = {}) {
this.loading = true;
@@ -940,10 +898,12 @@ export default {
current: page.currentPage,
size: page.size,
id: this.tenantId,
- ...params
+ }
+ for (const paramsKey in params) {
+ params[paramsKey] !== '' ? paramsed[paramsKey] = params[paramsKey] : null
}
getServeListTalents(paramsed).then((res) => {
- const {records, current, size, total} = res.data.data
+ const { records, current, size, total } = res.data.data
this.dataSource = records
this.loading = false;
this.page.size = size
@@ -990,7 +950,7 @@ export default {
serveId: this.selectInfo.id,
companyId: this.selectInfo.companyId
}).then(res => {
- const {records, current, size, total} = res.data.data
+ const { records, current, size, total } = res.data.data
this.innerDrawer1 = true
this.workData = records
this.workPage.size = size
@@ -1000,9 +960,9 @@ export default {
},
// 匹配政策
matchPolicy(row) {
- getMatchPolicy({id: row.id, serveId: this.selectInfo.id, serveUserId: row.serveUserId}).then(res => {
+ getMatchPolicy({ id: row.id, serveId: this.selectInfo.id, serveUserId: row.serveUserId }).then(res => {
let _this = this;
- const {records, current, size, total} = res.data.data
+ const { records, current, size, total } = res.data.data
_this.policyData = records
_this.innerDrawer2 = true
_this.policyPage.size = size
@@ -1021,7 +981,7 @@ export default {
size: this.logPage.size
}).then(res => {
let _this = this;
- const {records, current, size, total} = res.data.data
+ const { records, current, size, total } = res.data.data
_this.logData = records
_this.innerDrawer3 = true
_this.logPage.size = size
@@ -1076,7 +1036,7 @@ export default {
type: "warning",
})
.then(() => {
- return removeServeLog({ids: row.id});
+ return removeServeLog({ ids: row.id });
})
.then(() => {
this.serveLog(this.selectUserServeLog)
@@ -1144,6 +1104,4 @@ export default {
}
-
+
diff --git a/src/views/tenant/main/serve/index2.vue b/src/views/tenant/main/serve/index2.vue
new file mode 100644
index 0000000..41fd2c7
--- /dev/null
+++ b/src/views/tenant/main/serve/index2.vue
@@ -0,0 +1,1279 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ data.groupName || data.name }}
+
+
+ updateGroups('edit', data)">
+
+ removeGroups(data)">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 回访
+
+ 推送服务
+
+ 管理服务日志
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查看详情
+
+
+
+
+
+
+
+
+
+
+ {{ row.policyContent.length > 50 ? row.policyContent.substring(0, 50) : row.policyContent }}
+
+
+
+
+
+ {{ row.labelName.length > 50 ? row.labelName.substring(0, 50) : row.labelName }}
+
+
+
+
+ {{
+ item
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 来源:{{ phone.DATASOURCE }} 电话号码: {{ phone.PHONE }}
+
+
+
+
+
+
+
+
+ 是
+ 否
+
+
+
+
+ 是
+ 否
+
+
+
+
+ 是
+ 否
+
+
+
+
+
+ 元/月
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/tenant/main/talents/personnelserve/index.vue b/src/views/tenant/main/talents/personnelserve/index.vue
index 048df06..2147324 100644
--- a/src/views/tenant/main/talents/personnelserve/index.vue
+++ b/src/views/tenant/main/talents/personnelserve/index.vue
@@ -76,6 +76,7 @@ import {isvalidatemobile} from "@/util/validate";
import {getDept, getDeptMyTree} from "@/api/tenant/talents";
import {addServeLog, getMainServeUserLog, removeServeLog, updateServeLog} from "@/api/tenant/serve";
import {cloneDeep} from "lodash";
+import {serveTypeOptions} from "@/common/dic";
const page = {
size: 10,
@@ -382,12 +383,7 @@ export default {
label: '服务类型',
prop: 'serveType',
type: 'select',
- dicData: [
- {label: '普通日志', value: 0},
- {label: '回访日志', value: 1},
- {label: '推送岗位日志', value: 2},
- {label: '推送政策日志', value: 3},
- ],
+ dicData: serveTypeOptions,
display: false,
}, {
label: '服务主题',
diff --git a/vue.config.js b/vue.config.js
index 4f99925..e8edf03 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -27,7 +27,7 @@ module.exports = {
port: 1888,
proxy: {
"/api": {
- target: 'http://192.168.3.11:8000',
+ target: 'http://39.98.44.136:6013',
// target: 'http://10.165.0.173:8000',
ws: true,
changeOrigin: true,