flat: 修改全职岗位和零工岗位的问题
This commit is contained in:
@@ -59,6 +59,10 @@ export const putFile = type =>
|
|||||||
`/api/jobslink-api/resource/file/save?Jobslink-Auth=${getToken()}?bussinessType=${type ||
|
`/api/jobslink-api/resource/file/save?Jobslink-Auth=${getToken()}?bussinessType=${type ||
|
||||||
11}`;
|
11}`;
|
||||||
|
|
||||||
|
export const putFileObj = type =>
|
||||||
|
`/api/jobslink-api/resource/file/upload/file?Jobslink-Auth=${getToken()}?bussinessType=${type ||
|
||||||
|
18}`;
|
||||||
|
|
||||||
export const putFileFun = (file, onUploadProgress) => {
|
export const putFileFun = (file, onUploadProgress) => {
|
||||||
const data = new FormData();
|
const data = new FormData();
|
||||||
data.append("file", file);
|
data.append("file", file);
|
||||||
|
|||||||
@@ -14,6 +14,19 @@ export const getList = (current, size, params) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*获取全职岗位录入列表*/
|
||||||
|
export const findCompanyListInInviteAndWorks = (current, size, params) => {
|
||||||
|
return request({
|
||||||
|
url: '/api/jobslink-api/jkWorks/jkWorks/findCompanyListInInviteAndWorks',
|
||||||
|
method: 'get',
|
||||||
|
params: {
|
||||||
|
...params,
|
||||||
|
current,
|
||||||
|
size,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
/*获取已失效任务列表*/
|
/*获取已失效任务列表*/
|
||||||
export const getExpiredList = (current, size, params) => {
|
export const getExpiredList = (current, size, params) => {
|
||||||
return request({
|
return request({
|
||||||
|
|||||||
@@ -385,6 +385,7 @@ export const companyEnum = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
export const addressColumn = [
|
export const addressColumn = [
|
||||||
|
{ value: "1935850", label: "德阳市市本级" },
|
||||||
{ value: "95", label: "绵竹市" },
|
{ value: "95", label: "绵竹市" },
|
||||||
{ value: "185", label: "广汉市" },
|
{ value: "185", label: "广汉市" },
|
||||||
{ value: "143", label: "旌阳区" },
|
{ value: "143", label: "旌阳区" },
|
||||||
@@ -392,7 +393,7 @@ export const addressColumn = [
|
|||||||
{ value: "42", label: "什邡市" },
|
{ value: "42", label: "什邡市" },
|
||||||
{ value: "156", label: "中江县" },
|
{ value: "156", label: "中江县" },
|
||||||
{ value: "44139628", label: "经济技术开发区" },
|
{ value: "44139628", label: "经济技术开发区" },
|
||||||
{ value: "79194151", label: "德阳市开发区" }
|
// { value: "79194151", label: "德阳市开发区" }
|
||||||
];
|
];
|
||||||
|
|
||||||
export const serveTypeOptions = [
|
export const serveTypeOptions = [
|
||||||
|
|||||||
743
src/views/manage/station/mainList copy.vue
Normal file
743
src/views/manage/station/mainList copy.vue
Normal file
@@ -0,0 +1,743 @@
|
|||||||
|
<template>
|
||||||
|
<basic-container>
|
||||||
|
<avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form"
|
||||||
|
:permission="permissionList" :before-open="beforeOpen" :before-close="beforeClose" :page.sync="page"
|
||||||
|
@row-update="rowUpdate" @row-save="rowSave" @search-change="searchChange"
|
||||||
|
@search-reset="searchReset"
|
||||||
|
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
|
||||||
|
@on-load="onLoad">
|
||||||
|
<!-- <template slot="menu" slot-scope="{row}">-->
|
||||||
|
<!-- <el-button-->
|
||||||
|
<!-- v-if="vaildData(permission.manage_station_mainList_stop, false) && row.status !== 9"-->
|
||||||
|
<!-- size="small"-->
|
||||||
|
<!-- icon="el-icon-delete"-->
|
||||||
|
<!-- @click.stop="stop(row)"-->
|
||||||
|
<!-- type="text"-->
|
||||||
|
<!-- >终止合作</el-button>-->
|
||||||
|
<!-- </template>-->
|
||||||
|
|
||||||
|
|
||||||
|
<template #menu>
|
||||||
|
<el-button size="small" type="text" @click="rowDel">注销</el-button>
|
||||||
|
</template>
|
||||||
|
<template slot="authUrlIdImgForm">
|
||||||
|
<el-image style="width: 100px; height: 100px" :src="form.authUrlId"
|
||||||
|
:preview-src-list="[form.authUrlId]"></el-image>
|
||||||
|
</template>
|
||||||
|
<template slot="authUrlIdImgForm">
|
||||||
|
<el-image style="width: 100px; height: 100px" :src="form.authUrlId"
|
||||||
|
:preview-src-list="[form.authUrlId]"></el-image>
|
||||||
|
</template>
|
||||||
|
<template slot="identityUrl4IdImgForm">
|
||||||
|
<el-image style="width: 100px; height: 100px" :src="form.identityUrl4Id"
|
||||||
|
:preview-src-list="[form.identityUrl4Id]"></el-image>
|
||||||
|
</template>
|
||||||
|
<template slot="identityUrl5IdImgForm">
|
||||||
|
<el-image style="width: 100px; height: 100px" :src="form.identityUrl5Id"
|
||||||
|
:preview-src-list="[form.identityUrl5Id]"></el-image>
|
||||||
|
</template>
|
||||||
|
<template slot="attorneyUrlImgForm">
|
||||||
|
<el-image style="width: 100px; height: 100px" :src="form.attorneyUrl"
|
||||||
|
:preview-src-list="[form.attorneyUrl]"></el-image>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
</avue-crud>
|
||||||
|
</basic-container>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
companyInfoAdd,
|
||||||
|
companyStationInfo,
|
||||||
|
companyDetail,
|
||||||
|
companyUpdate,
|
||||||
|
stationStop,
|
||||||
|
removeMainList
|
||||||
|
} from "@/api/manage/main";
|
||||||
|
// import { getStationDic } from "@/api/manage/station";
|
||||||
|
import {mapGetters} from "vuex";
|
||||||
|
import {isMobile, check18IdCardNo, validatenull} from "@/util/validate";
|
||||||
|
import {putFile} from "@/api/resource/oss";
|
||||||
|
import {getTradeDic} from "@/api/manage/trade";
|
||||||
|
import {addressColumn, companyEnum} from "@/common/dic"
|
||||||
|
import {getDeptMyTree} from "@/api/tenant/talents";
|
||||||
|
|
||||||
|
const accept = [
|
||||||
|
"image/png",
|
||||||
|
"image/jpeg",
|
||||||
|
"image/svg+xml",
|
||||||
|
"image/gif",
|
||||||
|
"image/x-photoshop",
|
||||||
|
];
|
||||||
|
|
||||||
|
function getPath(path) {
|
||||||
|
const arr = path.split(',');
|
||||||
|
return arr[arr.length - 1];
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "manage_station_mainList",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
depTree: [],
|
||||||
|
form: {},
|
||||||
|
query: {},
|
||||||
|
loading: true,
|
||||||
|
page: {
|
||||||
|
pageSize: 10,
|
||||||
|
currentPage: 1,
|
||||||
|
total: 0,
|
||||||
|
},
|
||||||
|
checkDrawer: false,
|
||||||
|
data: [],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters(["userInfo", "permission"]),
|
||||||
|
permissionList() {
|
||||||
|
return {
|
||||||
|
addBtn: this.vaildData(
|
||||||
|
this.permission.manage_station_mainList_add,
|
||||||
|
false
|
||||||
|
),
|
||||||
|
viewBtn: this.vaildData(
|
||||||
|
this.permission.manage_station_mainList_view,
|
||||||
|
false
|
||||||
|
),
|
||||||
|
editBtn: this.vaildData(
|
||||||
|
this.permission.manage_station_mainList_edit,
|
||||||
|
false
|
||||||
|
),
|
||||||
|
};
|
||||||
|
},
|
||||||
|
option() {
|
||||||
|
return {
|
||||||
|
height: "auto",
|
||||||
|
tip: false,
|
||||||
|
searchShow: true,
|
||||||
|
searchMenuSpan: 6,
|
||||||
|
border: true,
|
||||||
|
index: true,
|
||||||
|
indexLabel: "序号",
|
||||||
|
viewBtn: true,
|
||||||
|
delBtn: false,
|
||||||
|
menuWidth: 250,
|
||||||
|
labelWidth: 151,
|
||||||
|
dialogClickModal: false,
|
||||||
|
dialogType: "drawer",
|
||||||
|
dialogFullscreen: true,
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
label: "所属机构",
|
||||||
|
prop: "deptId",
|
||||||
|
type: "tree",
|
||||||
|
multiple: false,
|
||||||
|
dicData: this.depTree,
|
||||||
|
props: {
|
||||||
|
label: "title",
|
||||||
|
value: 'value'
|
||||||
|
},
|
||||||
|
checkStrictly: true,
|
||||||
|
search: true,
|
||||||
|
span: 20,
|
||||||
|
hide: true,
|
||||||
|
searchLabelWidth: 80,
|
||||||
|
searchSpan: 6,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "用工单位",
|
||||||
|
prop: "comname",
|
||||||
|
search: true,
|
||||||
|
display: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "联系人",
|
||||||
|
prop: "manager",
|
||||||
|
search: false,
|
||||||
|
display: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "手机号码",
|
||||||
|
prop: "telphone",
|
||||||
|
display: false,
|
||||||
|
}
|
||||||
|
],
|
||||||
|
group: [
|
||||||
|
{
|
||||||
|
label: "",
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
type: "input",
|
||||||
|
label: "统一信用代码",
|
||||||
|
span: 12,
|
||||||
|
display: true,
|
||||||
|
size: "small",
|
||||||
|
prop: "companyTid",
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
whitespace: true,
|
||||||
|
message: "请输入统一信用代码",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
message: "请输入正确的统一信用代码",
|
||||||
|
min: 18,
|
||||||
|
max: 18,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
placeholder: "18位统一社会信用代码",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "input",
|
||||||
|
label: "用工单位",
|
||||||
|
span: 12,
|
||||||
|
display: true,
|
||||||
|
size: "small",
|
||||||
|
prop: "comname",
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
whitespace: true,
|
||||||
|
message: "请输入用工单位",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "input",
|
||||||
|
label: "法人姓名",
|
||||||
|
span: 12,
|
||||||
|
display: true,
|
||||||
|
size: "small",
|
||||||
|
prop: "masterName",
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
whitespace: true,
|
||||||
|
message: "请输入法人姓名",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "input",
|
||||||
|
label: "法人身份证号",
|
||||||
|
span: 12,
|
||||||
|
display: true,
|
||||||
|
size: "small",
|
||||||
|
prop: "masterIdentity",
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请输入身份证号",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
if (check18IdCardNo(value)) {
|
||||||
|
callback();
|
||||||
|
} else {
|
||||||
|
callback(new Error("身份证格式不正确"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "select",
|
||||||
|
label: "所在地区",
|
||||||
|
prop: "cityId",
|
||||||
|
span: 12,
|
||||||
|
dicData: addressColumn,
|
||||||
|
display: true,
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请选择所在地区",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "input",
|
||||||
|
label: "详细地址",
|
||||||
|
span: 12,
|
||||||
|
display: true,
|
||||||
|
size: "small",
|
||||||
|
prop: "companyAddress",
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
whitespace: true,
|
||||||
|
message: "请输入详细地址",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "input",
|
||||||
|
label: "经办人信息",
|
||||||
|
span: 12,
|
||||||
|
display: true,
|
||||||
|
size: "small",
|
||||||
|
prop: "manager",
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
whitespace: true,
|
||||||
|
message: "请输入联系人",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "input",
|
||||||
|
label: "经办人身份证号",
|
||||||
|
span: 12,
|
||||||
|
display: true,
|
||||||
|
size: "small",
|
||||||
|
prop: "managerIdCard",
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请输入身份证号",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
if (check18IdCardNo(value)) {
|
||||||
|
callback();
|
||||||
|
} else {
|
||||||
|
callback(new Error("身份证格式不正确"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "input",
|
||||||
|
label: "手机号码",
|
||||||
|
span: 12,
|
||||||
|
display: true,
|
||||||
|
size: "small",
|
||||||
|
prop: "telphone",
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
if (validatenull(value)) {
|
||||||
|
callback(new Error("请输入手机号码"));
|
||||||
|
} else if (isMobile(value)) {
|
||||||
|
callback();
|
||||||
|
} else {
|
||||||
|
callback(new Error("手机号码不正确"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "用工单位性质",
|
||||||
|
prop: "nature",
|
||||||
|
type: 'select',
|
||||||
|
dicUrl: "/api/jobslink-api/system/dict-biz/dictionary?code=company_nature",
|
||||||
|
dataType: "number",
|
||||||
|
props: {
|
||||||
|
label: "dictValue",
|
||||||
|
value: "dictKey",
|
||||||
|
},
|
||||||
|
// dicData: companyEnum,
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请输入用工单位性质",
|
||||||
|
trigger: "blur",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
span: 12,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "select",
|
||||||
|
label: "行业",
|
||||||
|
size: "small",
|
||||||
|
prop: "tradeId",
|
||||||
|
dicUrl: getTradeDic(),
|
||||||
|
props: {
|
||||||
|
label: "name",
|
||||||
|
value: "id"
|
||||||
|
},
|
||||||
|
dicFormatter(resp) {
|
||||||
|
var result = [];
|
||||||
|
resp.data.forEach(ele => {
|
||||||
|
if (ele.name != "1") {
|
||||||
|
result.push(ele)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
},
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
if (value == '请选择行业') {
|
||||||
|
callback(new Error('请选择行业'));
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
trigger: 'blur'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "textarea",
|
||||||
|
label: "用工单位介绍",
|
||||||
|
span: 20,
|
||||||
|
display: true,
|
||||||
|
size: "small",
|
||||||
|
prop: "companyDesc",
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
whitespace: true,
|
||||||
|
message: "请输入用工单位介绍",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "upload",
|
||||||
|
label: "法人身份证(人像)",
|
||||||
|
span: 12,
|
||||||
|
showFileList: false,
|
||||||
|
listType: "picture-img",
|
||||||
|
multiple: false,
|
||||||
|
propsHttp: {
|
||||||
|
// res: "data",
|
||||||
|
url: "msg",
|
||||||
|
},
|
||||||
|
canvasOption: {},
|
||||||
|
headers: [],
|
||||||
|
data: [],
|
||||||
|
accept,
|
||||||
|
size: "small",
|
||||||
|
prop: "identityUrl4Id",
|
||||||
|
action: putFile(5),
|
||||||
|
viewDisplay: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "upload",
|
||||||
|
label: "法人身份证(国徽)",
|
||||||
|
span: 12,
|
||||||
|
showFileList: false,
|
||||||
|
listType: "picture-img",
|
||||||
|
multiple: false,
|
||||||
|
propsHttp: {
|
||||||
|
// res: "data",
|
||||||
|
url: "msg",
|
||||||
|
},
|
||||||
|
canvasOption: {},
|
||||||
|
headers: [],
|
||||||
|
data: [],
|
||||||
|
accept,
|
||||||
|
size: "small",
|
||||||
|
prop: "identityUrl5Id",
|
||||||
|
action: putFile(5),
|
||||||
|
viewDisplay: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "upload",
|
||||||
|
label: "营业执照",
|
||||||
|
span: 12,
|
||||||
|
showFileList: false,
|
||||||
|
listType: "picture-img",
|
||||||
|
multiple: false,
|
||||||
|
propsHttp: {
|
||||||
|
// res: "data",
|
||||||
|
url: "msg",
|
||||||
|
},
|
||||||
|
accept,
|
||||||
|
canvasOption: {},
|
||||||
|
headers: [],
|
||||||
|
data: [],
|
||||||
|
size: "small",
|
||||||
|
prop: "authUrlId",
|
||||||
|
action: putFile(5),
|
||||||
|
viewDisplay: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "upload",
|
||||||
|
label: "授权书",
|
||||||
|
span: 12,
|
||||||
|
showFileList: false,
|
||||||
|
listType: "picture-img",
|
||||||
|
multiple: false,
|
||||||
|
formslot: true,
|
||||||
|
propsHttp: {
|
||||||
|
// res: "data",
|
||||||
|
url: "msg",
|
||||||
|
},
|
||||||
|
accept,
|
||||||
|
canvasOption: {},
|
||||||
|
headers: [],
|
||||||
|
data: [],
|
||||||
|
size: "small",
|
||||||
|
prop: "attorneyUrl",
|
||||||
|
action: putFile(5),
|
||||||
|
viewDisplay: false,
|
||||||
|
},
|
||||||
|
// 图片预览
|
||||||
|
{
|
||||||
|
label: "法人身份证(人像)",
|
||||||
|
span: 12,
|
||||||
|
prop: "identityUrl4IdImg",
|
||||||
|
formslot: true,
|
||||||
|
editDisplay: false,
|
||||||
|
addDisplay: false,
|
||||||
|
viewDisplay: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "法人身份证(国徽)",
|
||||||
|
span: 12,
|
||||||
|
prop: "identityUrl5IdImg",
|
||||||
|
formslot: true,
|
||||||
|
editDisplay: false,
|
||||||
|
addDisplay: false,
|
||||||
|
viewDisplay: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "营业执照照片",
|
||||||
|
span: 12,
|
||||||
|
prop: "authUrlIdImg",
|
||||||
|
formslot: true,
|
||||||
|
editDisplay: false,
|
||||||
|
addDisplay: false,
|
||||||
|
viewDisplay: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "授权书",
|
||||||
|
span: 12,
|
||||||
|
prop: "attorneyUrl",
|
||||||
|
formslot: true,
|
||||||
|
editDisplay: false,
|
||||||
|
addDisplay: false,
|
||||||
|
viewDisplay: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getDept()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async getDept() {
|
||||||
|
let params = {
|
||||||
|
tenantId: '000000'
|
||||||
|
}
|
||||||
|
let resData = await getDeptMyTree(params)
|
||||||
|
if (resData.data.code === 200) {
|
||||||
|
this.depTree = resData.data.data
|
||||||
|
}
|
||||||
|
},
|
||||||
|
initData() {
|
||||||
|
this.onLoad(this.page, this.query);
|
||||||
|
},
|
||||||
|
rowDel(row) {
|
||||||
|
const h = this.$createElement;
|
||||||
|
this.$confirm(
|
||||||
|
h("div", null, [
|
||||||
|
h("p", {style: "font-size: 16px"}, "您确定要注销此消息吗? "),
|
||||||
|
h("p", {style: "color: red"}, "一旦注销则无法找回"),
|
||||||
|
]),
|
||||||
|
{
|
||||||
|
type: "warning",
|
||||||
|
showClose: false,
|
||||||
|
showCancelButton: true,
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.then(() => {
|
||||||
|
return removeMainList({id: row.id, isDeleted: 1});
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.$message({
|
||||||
|
type: "success",
|
||||||
|
message: "操作成功!",
|
||||||
|
});
|
||||||
|
this.refreshChange();
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
});
|
||||||
|
},
|
||||||
|
rowSave(row, done, loading) {
|
||||||
|
console.log('rowSave')
|
||||||
|
row.authUrlId = getPath(row.authUrlId)
|
||||||
|
row.identityUrl4Id = getPath(row.identityUrl4Id)
|
||||||
|
row.identityUrl5Id = getPath(row.identityUrl5Id)
|
||||||
|
row.attorneyUrl = getPath(row.attorneyUrl)
|
||||||
|
// console.log(row, '----------------------------------');
|
||||||
|
companyInfoAdd({
|
||||||
|
authUrlId: row.authUrlId,
|
||||||
|
nature: row.nature,
|
||||||
|
tradeId: row.tradeId,
|
||||||
|
companyDesc: row.companyDesc,
|
||||||
|
cityId: row.cityId,
|
||||||
|
companyAddress: row.companyAddress,
|
||||||
|
companyName: row.companyName,
|
||||||
|
companyTid: row.companyTid,
|
||||||
|
comname: row.comname,
|
||||||
|
identityUrl4Id: row.identityUrl4Id,
|
||||||
|
identityUrl5Id: row.identityUrl5Id,
|
||||||
|
attorneyUrl: row.attorneyUrl,
|
||||||
|
manager: row.manager,
|
||||||
|
masterIdentity: row.masterIdentity,
|
||||||
|
masterName: row.masterName,
|
||||||
|
percent: row.percent,
|
||||||
|
stationId: row.stationId,
|
||||||
|
telphone: row.telphone,
|
||||||
|
}).then(
|
||||||
|
() => {
|
||||||
|
this.onLoad(this.page, this.params);
|
||||||
|
this.$message({
|
||||||
|
type: "success",
|
||||||
|
message: "操作成功!",
|
||||||
|
});
|
||||||
|
// 数据回调进行刷新
|
||||||
|
done(row);
|
||||||
|
},
|
||||||
|
() => {
|
||||||
|
loading();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
rowUpdate(row, index, done, loading) {
|
||||||
|
// console.log(row, 'rowUpdate')
|
||||||
|
row.authUrlId = getPath(row.authUrlId)
|
||||||
|
row.identityUrl4Id = getPath(row.identityUrl4Id)
|
||||||
|
row.identityUrl5Id = getPath(row.identityUrl5Id)
|
||||||
|
row.attorneyUrl = getPath(row.attorneyUrl)
|
||||||
|
companyUpdate({
|
||||||
|
id: row.id,
|
||||||
|
nature: row.nature,
|
||||||
|
tradeId: row.tradeId,
|
||||||
|
companyDesc: row.companyDesc,
|
||||||
|
authUrlId: row.authUrlId,
|
||||||
|
cityId: row.cityId,
|
||||||
|
companyAddress: row.companyAddress,
|
||||||
|
companyName: row.companyName,
|
||||||
|
companyTid: row.companyTid,
|
||||||
|
comname: row.comname,
|
||||||
|
identityUrl4Id: row.identityUrl4Id,
|
||||||
|
identityUrl5Id: row.identityUrl5Id,
|
||||||
|
attorneyUrl: row.attorneyUrl,
|
||||||
|
manager: row.manager,
|
||||||
|
masterIdentity: row.masterIdentity,
|
||||||
|
masterName: row.masterName,
|
||||||
|
percent: row.percent,
|
||||||
|
stationId: row.stationId,
|
||||||
|
telphone: row.telphone,
|
||||||
|
authType: 0
|
||||||
|
}).then(
|
||||||
|
() => {
|
||||||
|
this.$message({
|
||||||
|
type: "success",
|
||||||
|
message: "操作成功!",
|
||||||
|
});
|
||||||
|
// 数据回调进行刷新
|
||||||
|
done(row);
|
||||||
|
},
|
||||||
|
() => {
|
||||||
|
loading();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
searchReset() {
|
||||||
|
this.query = {};
|
||||||
|
this.onLoad(this.page);
|
||||||
|
},
|
||||||
|
searchChange(params, done) {
|
||||||
|
this.query = params;
|
||||||
|
this.page.currentPage = 1;
|
||||||
|
this.onLoad(this.page, params);
|
||||||
|
done();
|
||||||
|
},
|
||||||
|
beforeOpen(done, type) {
|
||||||
|
if (["add", "edit"].includes(type)) {
|
||||||
|
this.initData();
|
||||||
|
done();
|
||||||
|
}
|
||||||
|
if (["edit", "view"].includes(type)) {
|
||||||
|
this.loading = true;
|
||||||
|
var params = {
|
||||||
|
id: this.form.id,
|
||||||
|
authType: 0
|
||||||
|
}
|
||||||
|
companyDetail(params).then((res) => {
|
||||||
|
this.loading = false;
|
||||||
|
this.form = res.data.data;
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeClose(done) {
|
||||||
|
done();
|
||||||
|
},
|
||||||
|
currentChange(currentPage) {
|
||||||
|
this.page.currentPage = currentPage;
|
||||||
|
},
|
||||||
|
sizeChange(pageSize) {
|
||||||
|
this.page.pageSize = pageSize;
|
||||||
|
},
|
||||||
|
refreshChange() {
|
||||||
|
this.onLoad(this.page, this.query);
|
||||||
|
},
|
||||||
|
onLoad(page, params = {}) {
|
||||||
|
this.loading = true;
|
||||||
|
companyStationInfo(
|
||||||
|
page.currentPage,
|
||||||
|
page.pageSize,
|
||||||
|
Object.assign(this.query, params)
|
||||||
|
).then((res) => {
|
||||||
|
const data = res.data.data;
|
||||||
|
this.page.total = data.total;
|
||||||
|
this.data = data.records;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
stop(row) {
|
||||||
|
let h = this.$createElement;
|
||||||
|
this.$confirm(
|
||||||
|
h("p", {style: "color: #F56C6C"}, "一旦终止结算将会终止"),
|
||||||
|
"您确定要终止与此公司的合作吗?",
|
||||||
|
{
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning",
|
||||||
|
center: true,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.then(() => {
|
||||||
|
this.loading = true;
|
||||||
|
var params = {
|
||||||
|
companyId: row.id,
|
||||||
|
flag: 0,
|
||||||
|
authType: 0
|
||||||
|
}
|
||||||
|
stationStop(params)
|
||||||
|
.then(() => {
|
||||||
|
this.$message({
|
||||||
|
type: "success",
|
||||||
|
message: "操作成功!",
|
||||||
|
});
|
||||||
|
this.loading = false;
|
||||||
|
this.onLoad(this.page, this.params);
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
watch: {},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style></style>
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
<basic-container>
|
<basic-container>
|
||||||
<avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form"
|
<avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form"
|
||||||
:permission="permissionList" :before-open="beforeOpen" :before-close="beforeClose" :page.sync="page"
|
:permission="permissionList" :before-open="beforeOpen" :before-close="beforeClose" :page.sync="page"
|
||||||
@row-update="rowUpdate" @row-save="rowSave" @row-del="rowDel" @search-change="searchChange"
|
@row-update="rowUpdate" @row-save="rowSave" @search-change="searchChange"
|
||||||
@search-reset="searchReset"
|
@search-reset="searchReset"
|
||||||
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
|
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
|
||||||
@on-load="onLoad">
|
@on-load="onLoad">
|
||||||
@@ -15,6 +15,73 @@
|
|||||||
<!-- type="text"-->
|
<!-- type="text"-->
|
||||||
<!-- >终止合作</el-button>-->
|
<!-- >终止合作</el-button>-->
|
||||||
<!-- </template>-->
|
<!-- </template>-->
|
||||||
|
|
||||||
|
<!-- <template #attorneyUrlForm="{ type, disabled }"> -->
|
||||||
|
<!-- <div class="attorney-upload-container"> -->
|
||||||
|
<!-- 文件上传组件 -->
|
||||||
|
<!-- <div class="file-upload" style="margin-top: 10px;">
|
||||||
|
<avue-upload
|
||||||
|
v-model="form.attorneyUrl"
|
||||||
|
:action="actionurl"
|
||||||
|
list-type="picture-img"
|
||||||
|
:accept="['image/png','image/jpeg','image/svg+xml','image/gif','image/x-photoshop']"
|
||||||
|
:fileType="'image'"
|
||||||
|
@success="handleUploadSuccess"
|
||||||
|
:viewDisplay="true"
|
||||||
|
:props="{ label: 'msg', value: 'msg' }"
|
||||||
|
:propsHttp="{ url: 'msg'}"
|
||||||
|
@change="handleAttorneyUpload">
|
||||||
|
<template #attorneyUrlDesc>
|
||||||
|
<div class="el-upload__tip">请下载模板填写后上传,支持JPG/PNG格式</div>
|
||||||
|
</template>
|
||||||
|
</avue-upload>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<!-- 模版下载链接 -->
|
||||||
|
<!-- <div class="template-download">
|
||||||
|
<el-button type="text" @click="handleTemplate()" :loading="templateLoading">
|
||||||
|
点击下载模版
|
||||||
|
<i class="el-icon-download el-icon--right"></i>
|
||||||
|
</el-button>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<!-- 已上传文件预览 -->
|
||||||
|
<!-- <div v-if="form.attorneyUrl" class="file-preview" style="margin-top: 10px;">
|
||||||
|
<el-image
|
||||||
|
style="width: 100px; height: 100px"
|
||||||
|
:src="form.attorneyUrl"
|
||||||
|
:preview-src-list="[form.attorneyUrl]">
|
||||||
|
</el-image>
|
||||||
|
</div> -->
|
||||||
|
<!-- </div>
|
||||||
|
|
||||||
|
</template> -->
|
||||||
|
<template #attorneyUrlTemplateForm>
|
||||||
|
<div class="template-download">
|
||||||
|
<el-button type="text" @click="handleTemplate()" :loading="templateLoading">
|
||||||
|
点击下载模版
|
||||||
|
<i class="el-icon-download el-icon--right"></i>
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<!-- 其他资料上传 -->
|
||||||
|
<template #otherFileUrlListForm>
|
||||||
|
<avue-upload
|
||||||
|
v-model="form.otherFileUrlList"
|
||||||
|
:action="actionurl18"
|
||||||
|
:multiple="true"
|
||||||
|
:propsHttp="{ url: 'path', name: 'name', res: 'data'}"
|
||||||
|
:props="{ label: 'name', value: 'path' }"
|
||||||
|
:upload-after="uploadAfter"
|
||||||
|
:upload-delete="uploadDelete"
|
||||||
|
@change="handleOtherFileUpload">
|
||||||
|
</avue-upload>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template #menu="{row}">
|
||||||
|
<el-button size="small" type="text" @click="rowDel(row)">注销</el-button>
|
||||||
|
</template>
|
||||||
<template slot="authUrlIdImgForm">
|
<template slot="authUrlIdImgForm">
|
||||||
<el-image style="width: 100px; height: 100px" :src="form.authUrlId"
|
<el-image style="width: 100px; height: 100px" :src="form.authUrlId"
|
||||||
:preview-src-list="[form.authUrlId]"></el-image>
|
:preview-src-list="[form.authUrlId]"></el-image>
|
||||||
@@ -31,6 +98,17 @@
|
|||||||
<el-image style="width: 100px; height: 100px" :src="form.identityUrl5Id"
|
<el-image style="width: 100px; height: 100px" :src="form.identityUrl5Id"
|
||||||
:preview-src-list="[form.identityUrl5Id]"></el-image>
|
:preview-src-list="[form.identityUrl5Id]"></el-image>
|
||||||
</template>
|
</template>
|
||||||
|
<template slot="attorneyUrlImgForm">
|
||||||
|
<el-image style="width: 100px; height: 100px" :src="form.attorneyUrl"
|
||||||
|
:preview-src-list="[form.attorneyUrl]"></el-image>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template slot="otherFileUrlListImgForm">
|
||||||
|
<div style="width: 400px; height: 200px" >
|
||||||
|
<p style="margin: 0;" v-for="(item, index) in form.otherFileUrlList" :key="index">{{item.name}}</p>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
</avue-crud>
|
</avue-crud>
|
||||||
</basic-container>
|
</basic-container>
|
||||||
</template>
|
</template>
|
||||||
@@ -44,13 +122,15 @@ import {
|
|||||||
stationStop,
|
stationStop,
|
||||||
removeMainList
|
removeMainList
|
||||||
} from "@/api/manage/main";
|
} from "@/api/manage/main";
|
||||||
|
import {getDictionary} from "@/api/tenant/mission"
|
||||||
// import { getStationDic } from "@/api/manage/station";
|
// import { getStationDic } from "@/api/manage/station";
|
||||||
import {mapGetters} from "vuex";
|
import {mapGetters} from "vuex";
|
||||||
import {isMobile, check18IdCardNo, validatenull} from "@/util/validate";
|
import {isMobile, check18IdCardNo, validatenull} from "@/util/validate";
|
||||||
import {putFile} from "@/api/resource/oss";
|
import {putFile, putFileObj} from "@/api/resource/oss";
|
||||||
import {getTradeDic} from "@/api/manage/trade";
|
import {getTradeDic} from "@/api/manage/trade";
|
||||||
import {addressColumn, companyEnum} from "@/common/dic"
|
import {addressColumn, companyEnum} from "@/common/dic"
|
||||||
import {getDeptMyTree} from "@/api/tenant/talents";
|
import {getDeptMyTree} from "@/api/tenant/talents";
|
||||||
|
import {getTemplate} from "@/api/resource/template";
|
||||||
|
|
||||||
const accept = [
|
const accept = [
|
||||||
"image/png",
|
"image/png",
|
||||||
@@ -60,7 +140,9 @@ const accept = [
|
|||||||
"image/x-photoshop",
|
"image/x-photoshop",
|
||||||
];
|
];
|
||||||
|
|
||||||
function getPath(path) {
|
function getPath(path, done) {
|
||||||
|
console.log(path, 'path')
|
||||||
|
if (!path) return done();
|
||||||
const arr = path.split(',');
|
const arr = path.split(',');
|
||||||
return arr[arr.length - 1];
|
return arr[arr.length - 1];
|
||||||
}
|
}
|
||||||
@@ -80,6 +162,9 @@ export default {
|
|||||||
},
|
},
|
||||||
checkDrawer: false,
|
checkDrawer: false,
|
||||||
data: [],
|
data: [],
|
||||||
|
attorneyTemplateUrl: '', // 根据实际路径调整
|
||||||
|
otherFileList: [],
|
||||||
|
templateLoading: false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -110,7 +195,7 @@ export default {
|
|||||||
index: true,
|
index: true,
|
||||||
indexLabel: "序号",
|
indexLabel: "序号",
|
||||||
viewBtn: true,
|
viewBtn: true,
|
||||||
delBtn: true,
|
delBtn: false,
|
||||||
menuWidth: 250,
|
menuWidth: 250,
|
||||||
labelWidth: 151,
|
labelWidth: 151,
|
||||||
dialogClickModal: false,
|
dialogClickModal: false,
|
||||||
@@ -261,7 +346,7 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "input",
|
type: "input",
|
||||||
label: "联系人",
|
label: "经办人信息",
|
||||||
span: 12,
|
span: 12,
|
||||||
display: true,
|
display: true,
|
||||||
size: "small",
|
size: "small",
|
||||||
@@ -274,6 +359,29 @@ export default {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: "input",
|
||||||
|
label: "经办人身份证号",
|
||||||
|
span: 12,
|
||||||
|
display: true,
|
||||||
|
size: "small",
|
||||||
|
prop: "managerIdCard",
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请输入身份证号",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
if (check18IdCardNo(value)) {
|
||||||
|
callback();
|
||||||
|
} else {
|
||||||
|
callback(new Error("身份证格式不正确"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
type: "input",
|
type: "input",
|
||||||
label: "手机号码",
|
label: "手机号码",
|
||||||
@@ -424,6 +532,49 @@ export default {
|
|||||||
action: putFile(5),
|
action: putFile(5),
|
||||||
viewDisplay: false,
|
viewDisplay: false,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: "授权书模版下载",
|
||||||
|
span: 12,
|
||||||
|
showFileList: false,
|
||||||
|
multiple: false,
|
||||||
|
formslot: true,
|
||||||
|
size: "small",
|
||||||
|
prop: "attorneyUrlTemplate",
|
||||||
|
viewDisplay: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "upload",
|
||||||
|
label: "授权书",
|
||||||
|
span: 12,
|
||||||
|
showFileList: false,
|
||||||
|
listType: "picture-img",
|
||||||
|
multiple: false,
|
||||||
|
propsHttp: {
|
||||||
|
// res: "data",
|
||||||
|
url: "msg",
|
||||||
|
},
|
||||||
|
accept,
|
||||||
|
canvasOption: {},
|
||||||
|
headers: [],
|
||||||
|
data: [],
|
||||||
|
size: "small",
|
||||||
|
prop: "attorneyUrl",
|
||||||
|
action: putFile(5),
|
||||||
|
viewDisplay: false,
|
||||||
|
desc: 'hhhhhhhh'
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
type: "upload",
|
||||||
|
label: "其他资料上传",
|
||||||
|
span: 12,
|
||||||
|
showFileList: true,
|
||||||
|
formslot: true,
|
||||||
|
multiple: true,
|
||||||
|
size: "small",
|
||||||
|
prop: "otherFileUrlList",
|
||||||
|
viewDisplay: false,
|
||||||
|
},
|
||||||
// 图片预览
|
// 图片预览
|
||||||
{
|
{
|
||||||
label: "法人身份证(人像)",
|
label: "法人身份证(人像)",
|
||||||
@@ -452,10 +603,34 @@ export default {
|
|||||||
addDisplay: false,
|
addDisplay: false,
|
||||||
viewDisplay: true,
|
viewDisplay: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: "授权书",
|
||||||
|
span: 12,
|
||||||
|
prop: "attorneyUrlImg",
|
||||||
|
formslot: true,
|
||||||
|
editDisplay: false,
|
||||||
|
addDisplay: false,
|
||||||
|
viewDisplay: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "其他资料",
|
||||||
|
span: 12,
|
||||||
|
prop: "otherFileUrlListImg",
|
||||||
|
formslot: true,
|
||||||
|
editDisplay: false,
|
||||||
|
addDisplay: false,
|
||||||
|
viewDisplay: true,
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
actionurl() {
|
||||||
|
return putFile(5)
|
||||||
|
},
|
||||||
|
actionurl18() {
|
||||||
|
return putFileObj()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -475,11 +650,12 @@ export default {
|
|||||||
this.onLoad(this.page, this.query);
|
this.onLoad(this.page, this.query);
|
||||||
},
|
},
|
||||||
rowDel(row) {
|
rowDel(row) {
|
||||||
|
console.log(row, 'row')
|
||||||
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"}, "您确定要注销此消息吗? "),
|
||||||
h("p", {style: "color: red"}, "一旦删除则无法找回"),
|
h("p", {style: "color: red"}, "一旦注销则无法找回"),
|
||||||
]),
|
]),
|
||||||
{
|
{
|
||||||
type: "warning",
|
type: "warning",
|
||||||
@@ -502,16 +678,64 @@ export default {
|
|||||||
.catch(() => {
|
.catch(() => {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
// 授权书上传
|
||||||
|
handleAttorneyUpload(fileList, fileListAll) {
|
||||||
|
// console.log(fileList, fileListAll, '==========');
|
||||||
|
// if (fileListAll && fileListAll.length > 0) {
|
||||||
|
// const file = fileListAll[0];
|
||||||
|
// if (file.response) {
|
||||||
|
// // 假设上传成功后返回的URL在 response.msg 中
|
||||||
|
// this.$set(this.form, 'attorneyUrl', file.response.msg);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
uploadAfter(res, done) {
|
||||||
|
// 上传之后把数据存起来
|
||||||
|
// if (this.form.otherFileUrlList.length > 0) {
|
||||||
|
// this.otherFileList = [...this.form.otherFileUrlList, res]
|
||||||
|
// } else {
|
||||||
|
// this.otherFileList.push(res)
|
||||||
|
// }
|
||||||
|
this.otherFileList.push(res)
|
||||||
|
done()
|
||||||
|
},
|
||||||
|
handleUploadSuccess(res) {
|
||||||
|
console.log(res, '----')
|
||||||
|
// 上传之后把数据存起来
|
||||||
|
this.form.attorneyUrl = res.msg
|
||||||
|
console.log(res,this.form.attorneyUrl, '----')
|
||||||
|
},
|
||||||
|
uploadDelete(file, column){
|
||||||
|
if(column) {
|
||||||
|
console.log('this.otherFileListhou',column, this.otherFileList)
|
||||||
|
// 删除之后把数据删除
|
||||||
|
let list = this.otherFileList.filter(item => item.path !== column.url)
|
||||||
|
this.otherFileList = list
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
rowSave(row, done, loading) {
|
rowSave(row, done, loading) {
|
||||||
console.log('rowSave')
|
console.log('rowSave', row, this.otherFileList)
|
||||||
row.authUrlId = getPath(row.authUrlId)
|
row.authUrlId = getPath(row.authUrlId, done)
|
||||||
row.identityUrl4Id = getPath(row.identityUrl4Id)
|
row.identityUrl4Id = getPath(row.identityUrl4Id, done)
|
||||||
row.identityUrl5Id = getPath(row.identityUrl5Id)
|
row.identityUrl5Id = getPath(row.identityUrl5Id, done)
|
||||||
// console.log(row, '----------------------------------');
|
row.attorneyUrl = getPath(row.attorneyUrl, done)
|
||||||
|
|
||||||
|
row.otherFileUrlList = this.otherFileList
|
||||||
|
// dictValue
|
||||||
|
// let jobCompanyIndustry = this.getTradeDicData.find(i => i.id === row.tradeId).name
|
||||||
|
// let jobCompanyNature = this.getTradeDicData.find(i => i.dictKey === row.nature).dictValue
|
||||||
|
console.log(row.$tradeId, '----------------------------------');
|
||||||
companyInfoAdd({
|
companyInfoAdd({
|
||||||
authUrlId: row.authUrlId,
|
authUrlId: row.authUrlId,
|
||||||
nature: row.nature,
|
nature: row.nature,
|
||||||
|
jobCompanyNature: row.$nature,
|
||||||
tradeId: row.tradeId,
|
tradeId: row.tradeId,
|
||||||
|
jobCompanyIndustry: row.$tradeId,
|
||||||
companyDesc: row.companyDesc,
|
companyDesc: row.companyDesc,
|
||||||
cityId: row.cityId,
|
cityId: row.cityId,
|
||||||
companyAddress: row.companyAddress,
|
companyAddress: row.companyAddress,
|
||||||
@@ -520,12 +744,15 @@ export default {
|
|||||||
comname: row.comname,
|
comname: row.comname,
|
||||||
identityUrl4Id: row.identityUrl4Id,
|
identityUrl4Id: row.identityUrl4Id,
|
||||||
identityUrl5Id: row.identityUrl5Id,
|
identityUrl5Id: row.identityUrl5Id,
|
||||||
|
otherFileUrlList: row.otherFileUrlList,
|
||||||
|
attorneyUrl: row.attorneyUrl,
|
||||||
manager: row.manager,
|
manager: row.manager,
|
||||||
masterIdentity: row.masterIdentity,
|
masterIdentity: row.masterIdentity,
|
||||||
masterName: row.masterName,
|
masterName: row.masterName,
|
||||||
percent: row.percent,
|
percent: row.percent,
|
||||||
stationId: row.stationId,
|
stationId: row.stationId,
|
||||||
telphone: row.telphone,
|
telphone: row.telphone,
|
||||||
|
managerIdCard: row.managerIdCard,
|
||||||
}).then(
|
}).then(
|
||||||
() => {
|
() => {
|
||||||
this.onLoad(this.page, this.params);
|
this.onLoad(this.page, this.params);
|
||||||
@@ -543,9 +770,14 @@ export default {
|
|||||||
},
|
},
|
||||||
rowUpdate(row, index, done, loading) {
|
rowUpdate(row, index, done, loading) {
|
||||||
// console.log(row, 'rowUpdate')
|
// console.log(row, 'rowUpdate')
|
||||||
row.authUrlId = getPath(row.authUrlId)
|
row.authUrlId = getPath(row.authUrlId, done)
|
||||||
row.identityUrl4Id = getPath(row.identityUrl4Id)
|
row.identityUrl4Id = getPath(row.identityUrl4Id, done)
|
||||||
row.identityUrl5Id = getPath(row.identityUrl5Id)
|
row.identityUrl5Id = getPath(row.identityUrl5Id, done)
|
||||||
|
row.attorneyUrl = getPath(row.attorneyUrl, done)
|
||||||
|
|
||||||
|
// return console.log(row.otherFileUrlList, this.form.otherFileUrlList, this.otherFileList, '99999')
|
||||||
|
row.otherFileUrlList = this.otherFileList
|
||||||
|
|
||||||
companyUpdate({
|
companyUpdate({
|
||||||
id: row.id,
|
id: row.id,
|
||||||
nature: row.nature,
|
nature: row.nature,
|
||||||
@@ -559,13 +791,16 @@ export default {
|
|||||||
comname: row.comname,
|
comname: row.comname,
|
||||||
identityUrl4Id: row.identityUrl4Id,
|
identityUrl4Id: row.identityUrl4Id,
|
||||||
identityUrl5Id: row.identityUrl5Id,
|
identityUrl5Id: row.identityUrl5Id,
|
||||||
|
attorneyUrl: row.attorneyUrl,
|
||||||
|
otherFileUrlList: row.otherFileUrlList,
|
||||||
manager: row.manager,
|
manager: row.manager,
|
||||||
masterIdentity: row.masterIdentity,
|
masterIdentity: row.masterIdentity,
|
||||||
masterName: row.masterName,
|
masterName: row.masterName,
|
||||||
percent: row.percent,
|
percent: row.percent,
|
||||||
stationId: row.stationId,
|
stationId: row.stationId,
|
||||||
telphone: row.telphone,
|
telphone: row.telphone,
|
||||||
authType: 0
|
authType: 0,
|
||||||
|
managerIdCard: row.managerIdCard,
|
||||||
}).then(
|
}).then(
|
||||||
() => {
|
() => {
|
||||||
this.$message({
|
this.$message({
|
||||||
@@ -591,6 +826,7 @@ export default {
|
|||||||
done();
|
done();
|
||||||
},
|
},
|
||||||
beforeOpen(done, type) {
|
beforeOpen(done, type) {
|
||||||
|
this.otherFileList = []
|
||||||
if (["add", "edit"].includes(type)) {
|
if (["add", "edit"].includes(type)) {
|
||||||
this.initData();
|
this.initData();
|
||||||
done();
|
done();
|
||||||
@@ -604,6 +840,7 @@ export default {
|
|||||||
companyDetail(params).then((res) => {
|
companyDetail(params).then((res) => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.form = res.data.data;
|
this.form = res.data.data;
|
||||||
|
this.otherFileList = res.data.data.otherFileUrlList;
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -667,6 +904,18 @@ export default {
|
|||||||
})
|
})
|
||||||
.catch();
|
.catch();
|
||||||
},
|
},
|
||||||
|
/*下载任务模板 */
|
||||||
|
handleTemplate() {
|
||||||
|
this.templateLoading = true;
|
||||||
|
getTemplate("wts")
|
||||||
|
.then((rep) => {
|
||||||
|
this.templateLoading = false;
|
||||||
|
window.open(rep.data.data);
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.templateLoading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
},
|
},
|
||||||
watch: {},
|
watch: {},
|
||||||
};
|
};
|
||||||
|
|||||||
1014
src/views/manage/works/Employ.vue
Normal file
1014
src/views/manage/works/Employ.vue
Normal file
File diff suppressed because it is too large
Load Diff
526
src/views/manage/works/EmployInformation.vue
Normal file
526
src/views/manage/works/EmployInformation.vue
Normal file
@@ -0,0 +1,526 @@
|
|||||||
|
<template>
|
||||||
|
<el-drawer
|
||||||
|
title="确定录用信息"
|
||||||
|
:visible.sync="checkDisplayVisible"
|
||||||
|
size="60%"
|
||||||
|
modal-append-to-body
|
||||||
|
:before-close="drawerClose"
|
||||||
|
class="createOrderTable">
|
||||||
|
<div class="taskInformation">
|
||||||
|
<p><label>岗位名称:{{selectTaskInfo.missionTitle | ellipsis }}</label><label>岗位编号:{{selectTaskInfo.missionNo}}</label><label>申请录用:<font style="color:#409eff">{{selectionList.length == 0 ? 1 :selectionList.length}} </font> 人</label></p>
|
||||||
|
</div>
|
||||||
|
<div class="create-order-box">
|
||||||
|
<div class="create-order-bill">
|
||||||
|
<div class="create-order-box-title">
|
||||||
|
<span>发票信息</span>
|
||||||
|
<!-- <el-button @click="goSetting" type="text">编辑发票信息</el-button> -->
|
||||||
|
</div>
|
||||||
|
<div class="create-order-box-body">
|
||||||
|
<p>发票抬头:{{fpData.titleName}}</p>
|
||||||
|
<p v-if="fpData.type===0">发票类型:增值税普通发票</p>
|
||||||
|
<p v-if="fpData.type===1">发票类型:增值税专用发票</p>
|
||||||
|
<p>纳税人识别号: {{fpData.regNumber}}</p>
|
||||||
|
<p>注册地址&电话:{{fpData.regAddress}} {{fpData.regTelphone}}</p>
|
||||||
|
<p>开户行及账号:{{fpData.bankName}} {{fpData.bankNumber}}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="create-order-address">
|
||||||
|
<div class="create-order-box-title">
|
||||||
|
<span>收件信息</span>
|
||||||
|
<!-- <el-button type="text">添加收件地址</el-button> -->
|
||||||
|
</div>
|
||||||
|
<div class="create-order-box-body">
|
||||||
|
<el-table class="seventy_table_m_height" :data="addresses" max-height="400" @row-click="rowClick" ref="table">
|
||||||
|
<el-table-column width="55">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-radio v-model="addressId" :label="scope.row.id"> </el-radio>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="contacts" min-width="60"></el-table-column>
|
||||||
|
<el-table-column prop="telphone" min-width="100"></el-table-column>
|
||||||
|
<el-table-column min-width="180" :show-overflow-tooltip="true">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div>{{getCity(scope.row.cityId)}}{{scope.row.address}}</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="email" min-width="100"></el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="create-order-pwd">
|
||||||
|
<div>
|
||||||
|
<!-- <p style="text-align:center; font-size:16px">您选择<span class="employ-employNum-count">{{employNum}}</span>人准备录用,请输入密码并确定录用</p> -->
|
||||||
|
<el-form :model="pwdForm" ref="pwdForm" :rules="pwdFormRules" v-if="companyContractOn == 1">
|
||||||
|
<el-form-item
|
||||||
|
label="输入密码:"
|
||||||
|
prop="pwd"
|
||||||
|
:label-position="labelPosition"
|
||||||
|
label-width="100px"
|
||||||
|
>
|
||||||
|
<el-col :span="16">
|
||||||
|
<el-input type="number" v-model="pwdForm.pwd" maxlength="6" onKeypress="return(/^[0-9]*$/.test(String.fromCharCode(event.keyCode)))" show-password placeholder="请输入签章密码"></el-input>
|
||||||
|
</el-col>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item class="employ-forgetPwd">
|
||||||
|
<el-button type="text" @click="forgetPwd">忘记密码?</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<p>
|
||||||
|
<el-checkbox v-model="read"></el-checkbox>
|
||||||
|
<span @click="read = !read" class="insure-confirm-agreement">
|
||||||
|
我已阅读
|
||||||
|
<a
|
||||||
|
@click.stop
|
||||||
|
href="/blackboard/insure/insureagreement.html"
|
||||||
|
target="blank"
|
||||||
|
style="color:#409eff"
|
||||||
|
>《投保须知》</a
|
||||||
|
>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
<p style="color:#ff0000;font-size:13px">提示:系统将按照投保规则,在岗位开始前一天自动为录用人员投保,投保成功后,请前往“订单管理”模块支付,超过15天未支付则不可以再次发布岗位。</p>
|
||||||
|
</div>
|
||||||
|
<!-- <span slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="PWDOk" :loading="loadingbut">{{loadingbuttext}}</el-button>
|
||||||
|
<el-button @click="dialogVisible1 = false">取 消</el-button>
|
||||||
|
</span> -->
|
||||||
|
</div>
|
||||||
|
<el-row class="create-order-footer">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-button
|
||||||
|
@click="confirm"
|
||||||
|
type="primary"
|
||||||
|
size="small"
|
||||||
|
:loading="confirmBtnLoading"
|
||||||
|
:disabled="confirmDisabled"
|
||||||
|
>确定录用</el-button>
|
||||||
|
<el-button
|
||||||
|
@click="closeConfirm"
|
||||||
|
type="info"
|
||||||
|
size="small"
|
||||||
|
>取消</el-button>
|
||||||
|
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
<!--忘记密码dialog-->
|
||||||
|
<el-dialog title="重置密码" :visible.sync="resetPwdDialogVisible" append-to-body width="30%">
|
||||||
|
<el-form class="econtract-resetForm" label-position="right" :model="resetPwdForm" :rules="resetPwdRules" ref="resetPwdForm">
|
||||||
|
<el-form-item label="手机号码:" :label-width="formLabelWidth" prop="account" >
|
||||||
|
<span>{{phone}}</span>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="请输入验证码:" :label-width="formLabelWidth" prop="code">
|
||||||
|
<el-input v-model="resetPwdForm.code" autocomplete="off" style="width: 50%;"></el-input>
|
||||||
|
<el-button :disabled="msgKey" style="margin-left: 15px;" type="primary" @click="getCode">{{msgText}}</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="请设置新密码:" :label-width="formLabelWidth" prop="pwd">
|
||||||
|
<el-input type="number" v-model="resetPwdForm.pwd" maxlength="6" onKeypress="return(/^[0-9]*$/.test(String.fromCharCode(event.keyCode)))" autocomplete="off" show-password placeholder="请输入六位数字密码"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="请再次输入新密码:" :label-width="formLabelWidth" prop="pwd2">
|
||||||
|
<el-input type="number" maxlength="6" onKeypress="return(/^[0-9]*$/.test(String.fromCharCode(event.keyCode)))" v-model="resetPwdForm.pwd2" autocomplete="off" show-password placeholder="请再次输入六位数字密码"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="resetPwdDialogVisible = false">取 消</el-button>
|
||||||
|
<el-button type="primary" @click="submitResetPwd">确 认</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</el-drawer>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { dateFormat } from "@/util/date";
|
||||||
|
import {applyStatus} from '@/api/manage/econtract'
|
||||||
|
import { employ } from "@/api/tenant/postzp";
|
||||||
|
import {certCheckPass,getCode,resetPwd} from "@/api/manage/econtract.js";//api
|
||||||
|
export default {
|
||||||
|
props: { fpData: Object,fpTitleId:Number, checkDisplayVisible: Boolean ,usersInfo:Array},
|
||||||
|
data () {
|
||||||
|
const validatePwdLength=(rule,value,callback)=>{
|
||||||
|
if(value.length!=6 || isNaN(Number(value))){
|
||||||
|
this.loading = false;
|
||||||
|
this.confirmBtnLoading = false;
|
||||||
|
this.confirmDisabled = false;
|
||||||
|
callback(new Error('请输入6位数的数字密码'));
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const validatePwd = (rule, value, callback) => {
|
||||||
|
if (value != this.resetPwdForm.pwd) {
|
||||||
|
callback(new Error('两次输入密码不一致'));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const validPwdNums=(rule,value,callback)=>{
|
||||||
|
if(value.length!=6 || isNaN(Number(value))){
|
||||||
|
callback(new Error('请输入6位数的数字密码'));
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
read: false,
|
||||||
|
confirmDisabled:false,
|
||||||
|
selectTaskInfo:{},
|
||||||
|
selectionList:[],
|
||||||
|
addresses: [],
|
||||||
|
addressId: '',
|
||||||
|
insureNum:0,
|
||||||
|
pwdForm: {
|
||||||
|
pwd: ''
|
||||||
|
},
|
||||||
|
confirmFormData:[],
|
||||||
|
confirmBtnLoading:false,
|
||||||
|
employDataIds:1,
|
||||||
|
pwdFormRules:{
|
||||||
|
pwd:[
|
||||||
|
{
|
||||||
|
required:true,message:'请输入密码',trigger:'blur'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
validator:validatePwdLength,trigger:'blur'
|
||||||
|
},
|
||||||
|
|
||||||
|
]
|
||||||
|
},
|
||||||
|
loadingbuttext:'确定',
|
||||||
|
loadingbut:false,
|
||||||
|
companyContractOn:'',//电子合同状态
|
||||||
|
conpanySealOn:'',//签章状态
|
||||||
|
/*忘记密码*/
|
||||||
|
resetPwdDialogVisible:false,
|
||||||
|
resetPwdForm:{},
|
||||||
|
formLabelWidth:'150px',
|
||||||
|
msgText: '获取验证码',
|
||||||
|
msgTime:120,
|
||||||
|
//重置密码校验
|
||||||
|
resetPwdRules: {
|
||||||
|
code: [
|
||||||
|
{
|
||||||
|
required: true, message: '请输入验证码', trigger: 'blur'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
pwd: [
|
||||||
|
{
|
||||||
|
required: true, message: '请输入密码', trigger: 'blur'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
validator: validPwdNums, trigger: 'blur'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
pwd2: [
|
||||||
|
{
|
||||||
|
required: true, message: '请输入确认密码', trigger: 'blur'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
validator: validatePwd, trigger: 'blur'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
filters: {
|
||||||
|
ellipsis(value) {
|
||||||
|
if (!value) return "";
|
||||||
|
if (value.length > 15) {
|
||||||
|
return value.slice(0, 14) + "...";
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
},
|
||||||
|
mounted(){
|
||||||
|
this.checkStatus();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//输入密码点击确定
|
||||||
|
PWDOk(){
|
||||||
|
this.loading = true;
|
||||||
|
this.confirmBtnLoading = true;
|
||||||
|
this.confirmDisabled = true;
|
||||||
|
this.$refs.pwdForm.validate(valid=>{
|
||||||
|
if(valid){
|
||||||
|
// this.loadingbut = true;
|
||||||
|
// this.loadingbuttext = '提交中...';
|
||||||
|
certCheckPass(this.pwdForm.pwd).then((res)=>{
|
||||||
|
if(res.data.data == true){//输入签章密码正确走录用流程
|
||||||
|
if(this.addressId){
|
||||||
|
this.employApi(this.employDataIds,this.fpTitleId,this.addressId);
|
||||||
|
}else{
|
||||||
|
this.$message.warning("请选择收件地址");
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
this.$message.closeAll();
|
||||||
|
this.loading = false;
|
||||||
|
this.confirmBtnLoading = false;
|
||||||
|
this.confirmDisabled = false;
|
||||||
|
this.$message({
|
||||||
|
type: "error",
|
||||||
|
message: "签章密码输入错误!",
|
||||||
|
});
|
||||||
|
// this.loadingbut=false;
|
||||||
|
// this.loadingbuttext='确定';
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
/*获取验证码*/
|
||||||
|
getCode() {
|
||||||
|
this.msgKey = true;
|
||||||
|
this.msgText = "发送中...";
|
||||||
|
getCode(this.usersInfo.account)
|
||||||
|
.then(() => {
|
||||||
|
this.msgText = "剩余" + 120 + "s";
|
||||||
|
this.msgKey = true;
|
||||||
|
const time = setInterval(() => {
|
||||||
|
this.msgTime--;
|
||||||
|
this.msgText = "剩余" + this.msgTime + "s";
|
||||||
|
if (this.msgTime <= 0) {
|
||||||
|
this.msgTime = 120;
|
||||||
|
this.msgText = "重新获取";
|
||||||
|
this.msgKey = false;
|
||||||
|
clearInterval(time);
|
||||||
|
}
|
||||||
|
}, 1000);
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.msgText = "重新获取";
|
||||||
|
this.msgKey = false;
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
forgetPwd(){
|
||||||
|
this.phone=this.usersInfo.account;
|
||||||
|
var pat=/(\d{3})\d*(\d{4})/;
|
||||||
|
this.phone=this.phone.replace(pat,'$1****$2');
|
||||||
|
this.resetPwdDialogVisible=true;
|
||||||
|
this.resetPwdForm={};
|
||||||
|
},
|
||||||
|
//录用确定
|
||||||
|
employApi(ids,fpTitleId,fpAddressId){
|
||||||
|
this.loading = true;
|
||||||
|
this.confirmBtnLoading = true;
|
||||||
|
this.confirmDisabled = true;
|
||||||
|
employ(this.selectTaskInfo.missionNo, ids,fpTitleId,fpAddressId).then(
|
||||||
|
() => {
|
||||||
|
// this.loadingbut = false;
|
||||||
|
// this.loadingbuttext = '确定';
|
||||||
|
this.$message({
|
||||||
|
type: "success",
|
||||||
|
message: "操作成功!",
|
||||||
|
});
|
||||||
|
this.checkDisplayVisible = false;
|
||||||
|
this.$emit('checkDisplayVisibleClose');
|
||||||
|
this.$emit("refresh");
|
||||||
|
this.loading = false;
|
||||||
|
this.confirmBtnLoading = false;
|
||||||
|
this.confirmDisabled = false;
|
||||||
|
},
|
||||||
|
(error) => {
|
||||||
|
// this.loadingbut = false;
|
||||||
|
// this.loadingbuttext = '确定';
|
||||||
|
window.console.log(error);
|
||||||
|
this.dialogVisible1 = false;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
checkStatus(){
|
||||||
|
this.companyContractOn = 0;//电子合同是否启用,0=未启用
|
||||||
|
this.conpanySealOn = 0;//电子签章是否设置,0=未设置,1=等待审核,2=已设置
|
||||||
|
// applyStatus().then(res=>{
|
||||||
|
// this.companyContractOn=res.data.data.contractOn;//电子合同是否启用,0=未启用 1=已启用
|
||||||
|
// this.conpanySealOn=res.data.data.sealOn;//电子签章是否设置,0=未设置,1=等待审核,2=已设置
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
drawerClose(){
|
||||||
|
this.$emit('refresh');
|
||||||
|
this.$emit('checkDisplayVisibleClose');
|
||||||
|
},
|
||||||
|
openDialog (selectTaskInfo,employDataIds,selectionList) {
|
||||||
|
this.read = false;
|
||||||
|
this.selectionList = selectionList;
|
||||||
|
this.pwdForm.pwd = "";
|
||||||
|
this.employDataIds = employDataIds;
|
||||||
|
this.selectTaskInfo = selectTaskInfo;
|
||||||
|
// this.insureNum = this.usersInfo.length;
|
||||||
|
this.confirmBtnLoading = false;
|
||||||
|
this.confirmDisabled = false;
|
||||||
|
},
|
||||||
|
format (date) {
|
||||||
|
if (date) {
|
||||||
|
return dateFormat(new Date(date), "yyyy-MM-dd");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
confirm () {
|
||||||
|
this.loading = true;
|
||||||
|
this.confirmBtnLoading = true;
|
||||||
|
this.confirmDisabled = true;
|
||||||
|
if (!this.read) {
|
||||||
|
this.$message.closeAll();
|
||||||
|
this.$message({ type: "error", message: "请阅读并同意《投保须知》" });
|
||||||
|
this.loading = false;
|
||||||
|
this.confirmBtnLoading = false;
|
||||||
|
this.confirmDisabled = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(this.companyContractOn == 1 && !this.pwdForm.pwd){
|
||||||
|
this.$message.closeAll();
|
||||||
|
this.$message({ type: "error", message: "请输入签章密码" });
|
||||||
|
this.loading = false;
|
||||||
|
this.confirmBtnLoading = false;
|
||||||
|
this.confirmDisabled = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(this.companyContractOn == 1 && this.pwdForm.pwd){
|
||||||
|
this.PWDOk()
|
||||||
|
}else{
|
||||||
|
if(this.addressId){
|
||||||
|
this.employApi(this.employDataIds,this.fpTitleId,this.addressId);
|
||||||
|
}else{
|
||||||
|
this.$message.warning("请选择收件地址");
|
||||||
|
this.loading = false;
|
||||||
|
this.confirmBtnLoading = false;
|
||||||
|
this.confirmDisabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
rowClick (row) {
|
||||||
|
this.addressId = row.id;
|
||||||
|
},
|
||||||
|
closeConfirm(){
|
||||||
|
this.$emit('refresh');
|
||||||
|
this.$emit('checkDisplayVisibleClose');
|
||||||
|
},
|
||||||
|
/*重置密码*/
|
||||||
|
submitResetPwd() {
|
||||||
|
this.$refs.resetPwdForm.validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
resetPwd(this.usersInfo.account,this.resetPwdForm.pwd,this.resetPwdForm.code).then(()=>{
|
||||||
|
this.$message.success('密码重置成功');
|
||||||
|
this.resetPwdDialogVisible=false;
|
||||||
|
})
|
||||||
|
.catch((err)=>{
|
||||||
|
this.$message.error(err);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//接受收件地址列表 并设置默认勾选
|
||||||
|
getData (addresses) {
|
||||||
|
this.addresses = addresses;
|
||||||
|
this.addresses.forEach(ele => {
|
||||||
|
if (ele.isDefault === 1) {
|
||||||
|
this.addressId = ele.id;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getCity (val) {
|
||||||
|
return this.$store.getters.getAreaParents(val)[0].label + this.$store.getters.getAreaParents(val)[1].label + this.$store.getters.getAreaParents(val)[2].label
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.createOrderTable .el-drawer__header{
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
.createOrderTable .el-drawer__body{
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
|
.tipsBox {
|
||||||
|
padding-left:20px;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
}
|
||||||
|
.tipsBox .insureNum{
|
||||||
|
color: #000;
|
||||||
|
padding: 10px 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.tipsBox .buttonR{
|
||||||
|
float: right;
|
||||||
|
margin-right: 130px;
|
||||||
|
margin-top: -20px;
|
||||||
|
}
|
||||||
|
.tipsBox .insureNum font{
|
||||||
|
color: #ff0000;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.tipsBox .tipsSpan{
|
||||||
|
color: #ff0000;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
.create-order-box {
|
||||||
|
height: 85% !important;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.create-order-bill,
|
||||||
|
.create-order-address {
|
||||||
|
border: 1px solid #ebeef5;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
position: relative;
|
||||||
|
padding-top: 52px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
.create-order-box-title {
|
||||||
|
font-size: 18px;
|
||||||
|
padding: 10px;
|
||||||
|
border-bottom: 1px solid #ebeef5;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-between;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.create-order-box-body {
|
||||||
|
margin: 10px;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.create-order-footer {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
margin: auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.create-order-box .el-table__header {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.create-order-pwd{
|
||||||
|
background-color: #fafafa;
|
||||||
|
padding: 30px 20px;
|
||||||
|
}
|
||||||
|
.taskInformation label {
|
||||||
|
margin-right: 80px;
|
||||||
|
}
|
||||||
|
.create-order-pwd .employ-forgetPwd{
|
||||||
|
margin-top: -72px;
|
||||||
|
margin-left: 400px;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.create-order-pwd .el-input--suffix .el-input__inner{
|
||||||
|
width: 280px;
|
||||||
|
}
|
||||||
|
.create-order-pwd .el-input{
|
||||||
|
width: 280px;
|
||||||
|
}
|
||||||
|
.create-order-pwd .el-form-item__content{
|
||||||
|
width: 300px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
@refresh-change="refreshChange"
|
@refresh-change="refreshChange"
|
||||||
@on-load="onLoad"
|
@on-load="onLoad"
|
||||||
>
|
>
|
||||||
<template slot="menuLeft">
|
<!-- <template slot="menuLeft">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="vaildData(permission.manage_mission_check, false)"
|
v-if="vaildData(permission.manage_mission_check, false)"
|
||||||
size="small"
|
size="small"
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
>审核
|
>审核
|
||||||
</el-button
|
</el-button
|
||||||
>
|
>
|
||||||
</template>
|
</template> -->
|
||||||
<!-- <template slot="menuRight">
|
<!-- <template slot="menuRight">
|
||||||
<el-button size="small" @click.stop="downRecords" type="primary"
|
<el-button size="small" @click.stop="downRecords" type="primary"
|
||||||
>导出</el-button
|
>导出</el-button
|
||||||
@@ -46,6 +46,13 @@
|
|||||||
v-if="vaildData(permission.manage_mission_view, false)"
|
v-if="vaildData(permission.manage_mission_view, false)"
|
||||||
>详情
|
>详情
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
size="small"
|
||||||
|
@click="employ(row, 1)"
|
||||||
|
v-if="row.reviewState === 1"
|
||||||
|
>申请录用
|
||||||
|
</el-button>
|
||||||
<!-- <el-button
|
<!-- <el-button
|
||||||
type="text"
|
type="text"
|
||||||
size="small"
|
size="small"
|
||||||
@@ -60,7 +67,7 @@
|
|||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
<template slot="wage" slot-scope="{ row }">
|
<template slot="wage" slot-scope="{ row }">
|
||||||
<div>{{ row.wage }}{{ wageUnitCategoryStateEnum[row.wageUnitCategory] }}</div>
|
<div>{{ row.wage }}~{{row.wageUpper}}{{ wageUnitCategoryStateEnum[row.wageUnitCategory] }}</div>
|
||||||
</template>
|
</template>
|
||||||
</avue-crud>
|
</avue-crud>
|
||||||
<delay-dialog
|
<delay-dialog
|
||||||
@@ -88,6 +95,8 @@
|
|||||||
@onCancel="diaLogCancel"
|
@onCancel="diaLogCancel"
|
||||||
@onConfirm="diaLogConfirm"
|
@onConfirm="diaLogConfirm"
|
||||||
></PromptDialog>
|
></PromptDialog>
|
||||||
|
|
||||||
|
<Employ ref="employ" @refresh="refreshChange" :status="status"></Employ>
|
||||||
</basic-container>
|
</basic-container>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -115,6 +124,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 Employ from "./Employ.vue";
|
||||||
import {getDeptMyTree} from "@/api/tenant/talents";
|
import {getDeptMyTree} from "@/api/tenant/talents";
|
||||||
|
|
||||||
const wageUnitCategoryStateEnum = {}
|
const wageUnitCategoryStateEnum = {}
|
||||||
@@ -130,7 +140,7 @@ const message = lodash.throttle(
|
|||||||
);
|
);
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {postView, zpView, PromptDialog},
|
components: {postView, zpView, PromptDialog, Employ},
|
||||||
name: "manage_mission",
|
name: "manage_mission",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -330,6 +340,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data: [],
|
data: [],
|
||||||
depTree: [],
|
depTree: [],
|
||||||
|
status: 1,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -595,6 +606,12 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/*打开录用人员*/
|
||||||
|
employ(row, status) {
|
||||||
|
console.log(row, status, '========', this.$refs.employ)
|
||||||
|
this.$refs.employ.openDialog(row, status);
|
||||||
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -560,13 +560,13 @@ export default {
|
|||||||
{
|
{
|
||||||
label: "标签",
|
label: "标签",
|
||||||
prop: "labelName",
|
prop: "labelName",
|
||||||
rules: [
|
// rules: [
|
||||||
{
|
// {
|
||||||
required: true,
|
// required: true,
|
||||||
message: "请选择标签",
|
// message: "请选择标签",
|
||||||
trigger: ["blur"],
|
// trigger: ["blur"],
|
||||||
},
|
// },
|
||||||
],
|
// ],
|
||||||
slot: true,
|
slot: true,
|
||||||
formslot: true,
|
formslot: true,
|
||||||
span: 24,
|
span: 24,
|
||||||
|
|||||||
1616
src/views/tenant/works/Dialog/CopyMission copy.vue
Normal file
1616
src/views/tenant/works/Dialog/CopyMission copy.vue
Normal file
File diff suppressed because it is too large
Load Diff
@@ -10,6 +10,43 @@
|
|||||||
|
|
||||||
@closed="closed"
|
@closed="closed"
|
||||||
>
|
>
|
||||||
|
<template >
|
||||||
|
<div class="avue-group__header">
|
||||||
|
<div class="avue-group__title">用工单位信息</div>
|
||||||
|
</div>
|
||||||
|
<el-form size="small">
|
||||||
|
<el-row>
|
||||||
|
<el-col span="12">
|
||||||
|
<el-form-item label="用工单位:">{{ employerInfor.jobCompanyName }}</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col span="12">
|
||||||
|
<el-form-item label="单位信用代码:">{{ employerInfor.jobCompanyScale }}</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col span="12">
|
||||||
|
<el-form-item label="联系人:">{{ employerInfor.callName }}</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col span="12">
|
||||||
|
<el-form-item label="联系电话:">{{ employerInfor.callNumber }}</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col span="12">
|
||||||
|
<el-form-item label="用工单位性质:">{{ employerInfor.jobCompanyNature }}</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col span="12">
|
||||||
|
<el-form-item label="行业:">{{ employerInfor.jobCompanyIndustry }}</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col span="12">
|
||||||
|
<el-form-item label="单位介绍:">{{ employerInfor.jobCompanyDescription }}</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</template>
|
||||||
|
|
||||||
<avue-form
|
<avue-form
|
||||||
class="copy-form"
|
class="copy-form"
|
||||||
:option="option"
|
:option="option"
|
||||||
@@ -17,36 +54,6 @@
|
|||||||
ref="form"
|
ref="form"
|
||||||
@submit="submit"
|
@submit="submit"
|
||||||
>
|
>
|
||||||
<!-- <template slot="userNature">
|
|
||||||
<el-select v-model="obj.userNature">
|
|
||||||
<el-option v-for="(item,index) in userNatureList" :key="index" :label="item.label" :value="item.value">{{item.label}}</el-option>
|
|
||||||
</el-select>
|
|
||||||
</template> -->
|
|
||||||
<!-- <template slot-scope="{ disabled }" slot="wage">
|
|
||||||
<el-input
|
|
||||||
placeholder="请输入 参考工资"
|
|
||||||
v-model="obj.wage"
|
|
||||||
:disabled="disabled"
|
|
||||||
class="input-with-select"
|
|
||||||
>
|
|
||||||
<el-select
|
|
||||||
v-model="obj.wageUnitCategory"
|
|
||||||
slot="append"
|
|
||||||
placeholder="请选择单位"
|
|
||||||
style="width: 100%"
|
|
||||||
:disabled="disabled"
|
|
||||||
>
|
|
||||||
<template v-for="(item, key) in wageUnitCategory">
|
|
||||||
<el-option
|
|
||||||
v-if="!item.disable"
|
|
||||||
:key="key"
|
|
||||||
:label="item.label"
|
|
||||||
:value="item.value"
|
|
||||||
></el-option>
|
|
||||||
</template>
|
|
||||||
</el-select>
|
|
||||||
</el-input>
|
|
||||||
</template> -->
|
|
||||||
|
|
||||||
<template slot="cityId" slot-scope="{ disabled }">
|
<template slot="cityId" slot-scope="{ disabled }">
|
||||||
<jl-cityLabel-cascader
|
<jl-cityLabel-cascader
|
||||||
@@ -59,22 +66,6 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template slot="jobCompanyName" slot-scope="{row,disabled}">
|
<template slot="jobCompanyName" slot-scope="{row,disabled}">
|
||||||
<!-- <el-select-->
|
|
||||||
<!-- v-model="obj.jobCompanyName"-->
|
|
||||||
<!-- filterable-->
|
|
||||||
<!-- :remote="true"-->
|
|
||||||
<!-- :remoteMethod="remoteMethod"-->
|
|
||||||
<!-- @change="selectMissionCompany"-->
|
|
||||||
<!-- :loading="missionCompanyLoad"-->
|
|
||||||
<!-- placeholder="请选择"-->
|
|
||||||
<!-- >-->
|
|
||||||
<!-- <el-option-->
|
|
||||||
<!-- v-for="item in options23"-->
|
|
||||||
<!-- :key="item.label"-->
|
|
||||||
<!-- :label="item.label"-->
|
|
||||||
<!-- :value="item.label">-->
|
|
||||||
<!-- </el-option>-->
|
|
||||||
<!-- </el-select>-->
|
|
||||||
<el-autocomplete
|
<el-autocomplete
|
||||||
style="'width:100%'"
|
style="'width:100%'"
|
||||||
class="inline-input"
|
class="inline-input"
|
||||||
@@ -93,12 +84,12 @@
|
|||||||
></jl-cityLabel-cascader>
|
></jl-cityLabel-cascader>
|
||||||
</template>
|
</template>
|
||||||
<template slot-scope="{ row }" slot="wage">
|
<template slot-scope="{ row }" slot="wage">
|
||||||
<el-input placeholder="请输入工资" type="number" v-model="obj.wage" class="input-with-select">
|
<div class="input-with-select">
|
||||||
<el-select v-model="obj.wageUnitCategory" slot="append" placeholder="请选择" @change="getMaxAndMin">
|
<el-input v-model="obj.wage" placeholder="请输入工资" type="number"></el-input>
|
||||||
<el-option :label="item.label" v-for="item in wageUnitCategory" :key="item.value"
|
~ <el-input placeholder="请输入工资" type="number" v-model="obj.wageUpper" ></el-input>
|
||||||
:value="item.value"></el-option>
|
<span>元/人·月</span>
|
||||||
</el-select>
|
</div>
|
||||||
</el-input>
|
|
||||||
</template>
|
</template>
|
||||||
<template slot-scope="{ disabled }" slot="skillIds">
|
<template slot-scope="{ disabled }" slot="skillIds">
|
||||||
<skill-select
|
<skill-select
|
||||||
@@ -112,17 +103,6 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template slot-scope="{ disabled }" slot="address">
|
<template slot-scope="{ disabled }" slot="address">
|
||||||
<!-- <select-map-->
|
|
||||||
<!-- ref="selectMap"-->
|
|
||||||
<!-- @addAddress="addAddress"-->
|
|
||||||
<!-- @addressDel="addressDel"-->
|
|
||||||
<!-- @input="inputAddress"-->
|
|
||||||
<!-- :isCanEdit="!disabled"-->
|
|
||||||
<!-- :lng="obj.lon"-->
|
|
||||||
<!-- :lat="obj.lat"-->
|
|
||||||
<!-- :address="obj.address"-->
|
|
||||||
<!-- :type="type"-->
|
|
||||||
<!-- ></select-map>-->
|
|
||||||
<super-map-view
|
<super-map-view
|
||||||
ref="selectMap"
|
ref="selectMap"
|
||||||
@addAddress="addAddress"
|
@addAddress="addAddress"
|
||||||
@@ -272,7 +252,9 @@ export default {
|
|||||||
stimeDate: null,
|
stimeDate: null,
|
||||||
workTypesNameList: [],
|
workTypesNameList: [],
|
||||||
wallMaxAndMin: [],
|
wallMaxAndMin: [],
|
||||||
dwlist: []
|
dwlist: [],
|
||||||
|
|
||||||
|
employerInfor: {}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
@@ -382,78 +364,6 @@ export default {
|
|||||||
},
|
},
|
||||||
option() {
|
option() {
|
||||||
const self = this;
|
const self = this;
|
||||||
// var skill = function (rule, value, callback) {
|
|
||||||
// if (self.selectedSkills.length <= 0) {
|
|
||||||
// callback(new Error("请选择技能标签"));
|
|
||||||
// } else {
|
|
||||||
// callback();
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
// const wage = (rule, value, callback) => {
|
|
||||||
// if(value == ""){
|
|
||||||
// callback(
|
|
||||||
// new Error(
|
|
||||||
// "请填写参考工资"
|
|
||||||
// )
|
|
||||||
// );
|
|
||||||
// }else if (
|
|
||||||
// !/^([1-9]\d*|0)(\.\d{0,2})?$/.test(value) ||
|
|
||||||
// value <= 0 ||
|
|
||||||
// value > 99999
|
|
||||||
// ) {
|
|
||||||
// callback(
|
|
||||||
// new Error(
|
|
||||||
//
|
|
||||||
// )
|
|
||||||
// );
|
|
||||||
// } else if (
|
|
||||||
// this.obj.wageUnitCategory === null ||
|
|
||||||
// this.obj.wageUnitCategory === undefined
|
|
||||||
// ) {
|
|
||||||
// callback(new Error("请选择单位"));
|
|
||||||
// } else {
|
|
||||||
// callback();
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
// const tradeId = (rule, value, callback) => {
|
|
||||||
// if(this.tradeState == null || this.tradeState == undefined || this.tradeState == ""){
|
|
||||||
// callback(
|
|
||||||
// new Error(
|
|
||||||
// "请选择行业类型"
|
|
||||||
// )
|
|
||||||
// )
|
|
||||||
// }else{
|
|
||||||
// if(!this.tradeBtnState){
|
|
||||||
// callback(
|
|
||||||
// new Error(
|
|
||||||
// "新增行业要添加后才能使用"
|
|
||||||
// )
|
|
||||||
// )
|
|
||||||
// }else{
|
|
||||||
// callback();
|
|
||||||
// }
|
|
||||||
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
// const workType = (rule, value, callback) => {
|
|
||||||
// if(this.workTypeState == null || this.workTypeState == undefined || this.workTypeState == ""){
|
|
||||||
// callback(
|
|
||||||
// new Error(
|
|
||||||
// "请选择工种"
|
|
||||||
// )
|
|
||||||
// )
|
|
||||||
// }else{
|
|
||||||
// if(!this.workTypeBtnState){
|
|
||||||
// callback(
|
|
||||||
// new Error(
|
|
||||||
// "新增工种要添加后才能使用"
|
|
||||||
// )
|
|
||||||
// )
|
|
||||||
// }else{
|
|
||||||
// callback();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
const validatePass = (rule, value, callback) => {
|
const validatePass = (rule, value, callback) => {
|
||||||
let specialKey = "[`~#$^&*()=|{}\\[\\]<>/~#¥……&*()——|{}【】《》%@‘”“']‘'";
|
let specialKey = "[`~#$^&*()=|{}\\[\\]<>/~#¥……&*()——|{}【】《》%@‘”“']‘'";
|
||||||
let flagValue = true;
|
let flagValue = true;
|
||||||
@@ -598,14 +508,14 @@ export default {
|
|||||||
formslot: true,
|
formslot: true,
|
||||||
labelslot: false,
|
labelslot: false,
|
||||||
errorslot: false,
|
errorslot: false,
|
||||||
// dicData: wageOptionsMonth,
|
|
||||||
// rules: [
|
|
||||||
// {
|
|
||||||
// required: true,
|
|
||||||
// trigger: "blur",
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
span: 12,
|
span: 12,
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请输入参考工资",
|
||||||
|
trigger: "blur",
|
||||||
|
}
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "行业类型",
|
label: "行业类型",
|
||||||
@@ -763,126 +673,10 @@ export default {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "用工单位信息",
|
label: "用工单位地址",
|
||||||
prop: "contactsRequire",
|
prop: "contactsRequire",
|
||||||
arrow: false,
|
arrow: false,
|
||||||
column: [
|
column: [
|
||||||
{
|
|
||||||
label: "用工单位",
|
|
||||||
prop: "jobCompanyName",
|
|
||||||
rules: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: "请输入用工单位",
|
|
||||||
trigger: "blur",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
formslot: true,
|
|
||||||
span: 12,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "单位信用代码",
|
|
||||||
prop: "jobCompanyScale",
|
|
||||||
// disabled: true,
|
|
||||||
// rules: [
|
|
||||||
// {
|
|
||||||
// required: true,
|
|
||||||
// message: "请输入单位信用代码",
|
|
||||||
// trigger: "blur",
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
span: 12,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "所属行业",
|
|
||||||
prop: "jobCompanyIndustry",
|
|
||||||
// disabled: true,
|
|
||||||
// rules: [
|
|
||||||
// {
|
|
||||||
// required: true,
|
|
||||||
// message: "请输入所属行业",
|
|
||||||
// trigger: "blur",
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
span: 12,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: "jobCompanyNature",
|
|
||||||
label: "单位性质",
|
|
||||||
type: 'select',
|
|
||||||
// disabled: true,
|
|
||||||
dicUrl: "/api/jobslink-api/system/dict-biz/dictionary?code=company_nature",
|
|
||||||
props: {
|
|
||||||
label: "dictValue",
|
|
||||||
value: "dictKey",
|
|
||||||
},
|
|
||||||
// rules: [
|
|
||||||
// {
|
|
||||||
// required: true,
|
|
||||||
// message: "请输入单位性质",
|
|
||||||
// trigger: "blur",
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
span: 12,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "单位介绍",
|
|
||||||
prop: "jobCompanyDescription",
|
|
||||||
type: "textarea",
|
|
||||||
rules: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: "请输入单位介绍",
|
|
||||||
trigger: "blur",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
min: 30,
|
|
||||||
max: 200,
|
|
||||||
message: "长度在 30 到 200 个字",
|
|
||||||
trigger: "blur",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
placeholder: "请输入单位介绍,字数30-200字以内",
|
|
||||||
span: 24,
|
|
||||||
maxlength: 200,
|
|
||||||
showWordLimit: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "联系人",
|
|
||||||
prop: "callName",
|
|
||||||
rules: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
whitespace: true,
|
|
||||||
message: "请输入联系人",
|
|
||||||
trigger: "blur",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
min: 1,
|
|
||||||
max: 8,
|
|
||||||
message: "长度在 1 到 5 个字",
|
|
||||||
trigger: "blur",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
span: 8,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "手机号",
|
|
||||||
prop: "callTel",
|
|
||||||
rules: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
validator: validateTel,
|
|
||||||
trigger: "blur",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
span: 8,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "座机",
|
|
||||||
prop: "callNumber",
|
|
||||||
span: 8,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: "工作地址",
|
label: "工作地址",
|
||||||
type: "input",
|
type: "input",
|
||||||
@@ -935,6 +729,7 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
resetForm() {
|
resetForm() {
|
||||||
|
console.log("resetForm")
|
||||||
this.obj.jobName = ""
|
this.obj.jobName = ""
|
||||||
this.obj.stime = ""
|
this.obj.stime = ""
|
||||||
this.obj.etime = ""
|
this.obj.etime = ""
|
||||||
@@ -1124,47 +919,6 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
//点击工种添加按钮
|
|
||||||
// handleIconClickWorkType() {
|
|
||||||
// this.$message.closeAll();
|
|
||||||
// let nameState = this.workDataNameAttr.indexOf(this.workTypeState)
|
|
||||||
// if(this.workTypeState == ""){
|
|
||||||
// this.$message({
|
|
||||||
// type: "error",
|
|
||||||
// message: "请输入要添加的工种!",
|
|
||||||
// })
|
|
||||||
// }else if(nameState != -1){
|
|
||||||
// this.$message({
|
|
||||||
// type: "error",
|
|
||||||
// message: "此工种已存在,请在列表中选择!",
|
|
||||||
// })
|
|
||||||
// }else{
|
|
||||||
// workListAdd(this.obj.tradeId,this.workTypeState).then((res) =>{
|
|
||||||
// if(res.data.code == 200){
|
|
||||||
// this.obj.worktypeIds = res.data.data;
|
|
||||||
// this.$message({
|
|
||||||
// type: "success",
|
|
||||||
// message: res.data.msg,
|
|
||||||
// })
|
|
||||||
// this.workTypeBtnState = true;
|
|
||||||
// this.clearValidator('worktypeIds');
|
|
||||||
// getWork(this.obj.tradeId).then((res) => {
|
|
||||||
// this.workData = res;
|
|
||||||
// this.workDataNameAttr = res.map((ele)=>{
|
|
||||||
// return ele.name
|
|
||||||
// })
|
|
||||||
// })
|
|
||||||
// }else{
|
|
||||||
// this.$message({
|
|
||||||
// type: "error",
|
|
||||||
// message: res.data.msg,
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
|
|
||||||
// },
|
|
||||||
//
|
|
||||||
addressDel() {
|
addressDel() {
|
||||||
this.obj.address = "";
|
this.obj.address = "";
|
||||||
},
|
},
|
||||||
@@ -1188,12 +942,21 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
closed() {
|
closed() {
|
||||||
|
console.log(this.obj, '1')
|
||||||
this.tradeState = "";
|
this.tradeState = "";
|
||||||
this.workTypeState = "";
|
this.workTypeState = "";
|
||||||
this.$refs.form.init();
|
this.$refs.form.init();
|
||||||
|
console.log(this.obj, '2')
|
||||||
this.$refs.form.resetForm();
|
this.$refs.form.resetForm();
|
||||||
|
console.log(this.obj, '3')
|
||||||
this.$refs.form.clearValidate();
|
this.$refs.form.clearValidate();
|
||||||
|
console.log(this.obj, '4')
|
||||||
this.obj = {
|
this.obj = {
|
||||||
|
jobCompanyName: this.obj.jobCompanyName,
|
||||||
|
jobCompanyScale: this.obj.jobCompanyScale,
|
||||||
|
callName: this.obj.callName,
|
||||||
|
callTel: this.obj.callTel,
|
||||||
|
jobCompanyDescription: this.obj.jobCompanyDescription,
|
||||||
wageUnitCategory: 3,
|
wageUnitCategory: 3,
|
||||||
sex: 0,
|
sex: 0,
|
||||||
ageDesc: "不限年龄",
|
ageDesc: "不限年龄",
|
||||||
@@ -1219,6 +982,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
submit(row, done) {
|
submit(row, done) {
|
||||||
|
console.log(row, row.wageUpper, 'row')
|
||||||
if (this.$refs.selectMap.addressLocation == "") {
|
if (this.$refs.selectMap.addressLocation == "") {
|
||||||
return this.$message({
|
return this.$message({
|
||||||
type: "error",
|
type: "error",
|
||||||
@@ -1226,6 +990,15 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
row.address = this.$refs.selectMap.addressLocation;
|
row.address = this.$refs.selectMap.addressLocation;
|
||||||
|
if (!row.wageUpper){
|
||||||
|
console.log(111)
|
||||||
|
done()
|
||||||
|
return this.$message({
|
||||||
|
type: "error",
|
||||||
|
message: "请填写薪资范围上限!",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// let ids = [];
|
// let ids = [];
|
||||||
// let name = [];
|
// let name = [];
|
||||||
// this.selectedSkills.forEach((ele) => {
|
// this.selectedSkills.forEach((ele) => {
|
||||||
@@ -1260,7 +1033,7 @@ export default {
|
|||||||
row.worktypeIds = row.workSkills.join(',')
|
row.worktypeIds = row.workSkills.join(',')
|
||||||
row.worktypeNames = row.workSkills.map((id) => this.workTypesNameObj[id]).join(',')
|
row.worktypeNames = row.workSkills.map((id) => this.workTypesNameObj[id]).join(',')
|
||||||
row.workSkills = row.workSkills.join(',')
|
row.workSkills = row.workSkills.join(',')
|
||||||
console.log(row)
|
console.log(row, '445454')
|
||||||
// 修改原数据workSkills
|
// 修改原数据workSkills
|
||||||
if (this.type === "add" || this.type === "copy") {
|
if (this.type === "add" || this.type === "copy") {
|
||||||
this.$jlEvent("trialCheck")
|
this.$jlEvent("trialCheck")
|
||||||
@@ -1286,18 +1059,19 @@ export default {
|
|||||||
ageDesc: row.ageDesc,
|
ageDesc: row.ageDesc,
|
||||||
education: row.education,
|
education: row.education,
|
||||||
experienceDesc: row.experienceDesc,
|
experienceDesc: row.experienceDesc,
|
||||||
jobCompanyName: row.jobCompanyName,
|
jobCompanyName: this.employerInfor.jobCompanyName,
|
||||||
jobCompanyScale: row.jobCompanyScale,
|
jobCompanyScale: this.employerInfor.jobCompanyScale,
|
||||||
jobCompanyIndustry: row.jobCompanyIndustry,
|
jobCompanyIndustry: this.employerInfor.jobCompanyIndustry,
|
||||||
jobCompanyNature: row.jobCompanyNature,
|
jobCompanyNature: this.employerInfor.jobCompanyNature,
|
||||||
jobCompanyDescription: row.jobCompanyDescription,
|
jobCompanyDescription: this.employerInfor.jobCompanyDescription,
|
||||||
callName: row.callName,
|
callName: this.employerInfor.callName,
|
||||||
callTel: row.callTel,
|
callTel: this.employerInfor.callTel,
|
||||||
callNumber: row.callNumber,
|
callNumber: this.employerInfor.callNumber,
|
||||||
cityId: row.cityId.replace(/\s+/g, ""),
|
cityId: row.cityId.replace(/\s+/g, ""),
|
||||||
address: row.address,
|
address: row.address,
|
||||||
lat: row.lat,
|
lat: row.lat,
|
||||||
lon: row.lon,
|
lon: row.lon,
|
||||||
|
wageUpper: row.wageUpper,
|
||||||
}).then(
|
}).then(
|
||||||
() => {
|
() => {
|
||||||
this.$message({
|
this.$message({
|
||||||
@@ -1327,61 +1101,6 @@ export default {
|
|||||||
.catch(() => {
|
.catch(() => {
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
} else if (this.type === "edit") {
|
|
||||||
update({
|
|
||||||
id: this.id,
|
|
||||||
jobName: row.jobName,
|
|
||||||
stime: row.stime,
|
|
||||||
etime: row.etime,
|
|
||||||
etimePub: row.etimePub,
|
|
||||||
peopleNum: row.peopleNum,
|
|
||||||
wage: row.wage,
|
|
||||||
wageUnitCategory: row.wageUnitCategory,
|
|
||||||
tradeId: row.tradeId,
|
|
||||||
tradeNames: row.tradeNames,
|
|
||||||
worktypeIds: row.worktypeIds,
|
|
||||||
worktypeNames: row.worktypeNames,
|
|
||||||
jobCompanyScale: row.jobCompanyScale,
|
|
||||||
skillIds: row.workSkills[1],
|
|
||||||
skillNames: row.skillNames,
|
|
||||||
jobDescription: row.jobDescription,
|
|
||||||
userNature: row.userNature,
|
|
||||||
jobCompanyDescription: row.jobCompanyDescription,
|
|
||||||
sex: row.sex,
|
|
||||||
ageDesc: row.ageDesc,
|
|
||||||
education: row.education,
|
|
||||||
experienceDesc: row.experienceDesc,
|
|
||||||
callName: row.callName,
|
|
||||||
callTel: row.callTel,
|
|
||||||
callNumber: row.callNumber,
|
|
||||||
cityId: row.cityId.replace(/\s+/g, ""),
|
|
||||||
address: row.address,
|
|
||||||
lat: row.lat,
|
|
||||||
lon: row.lon,
|
|
||||||
}).then(
|
|
||||||
() => {
|
|
||||||
this.$message({
|
|
||||||
type: "success",
|
|
||||||
message: "操作成功!",
|
|
||||||
});
|
|
||||||
done()
|
|
||||||
this.$confirm('是否继续发布岗位?', {
|
|
||||||
confirmButtonText: "继 续",
|
|
||||||
cancelButtonText: "取 消",
|
|
||||||
})
|
|
||||||
.then(_ => {
|
|
||||||
this.closed()
|
|
||||||
})
|
|
||||||
.catch(_ => {
|
|
||||||
this.drawer = false;
|
|
||||||
this.$emit("back");
|
|
||||||
});
|
|
||||||
},
|
|
||||||
(error) => {
|
|
||||||
window.console.log(error);
|
|
||||||
done();
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
@@ -1392,91 +1111,16 @@ export default {
|
|||||||
this.type = type;
|
this.type = type;
|
||||||
this.id = row.id;
|
this.id = row.id;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
if (type != 'edit') {
|
if (type === "add") {
|
||||||
// getLastTaskInfo().then(res=>{
|
|
||||||
// const data=res.data.data;
|
|
||||||
// this.obj.callName=data.callName;
|
|
||||||
// this.obj.callTel=data.callTel;
|
|
||||||
// })
|
|
||||||
}
|
|
||||||
|
|
||||||
if (type === "copy") {
|
|
||||||
this.title = "复制岗位";
|
|
||||||
detail(row.id).then((res) => {
|
|
||||||
if (![1, 2].includes(res.wageUnitCategory)) {
|
|
||||||
res.wageUnitCategory = null;
|
|
||||||
}
|
|
||||||
this.obj = res;
|
|
||||||
this.obj.etimePub = "";
|
|
||||||
this.obj.stime = "";
|
|
||||||
this.obj.etime = "";
|
|
||||||
this.drawer = true;
|
|
||||||
let tradeIdState = this.tradeIdAttr.indexOf(this.obj.tradeId);
|
|
||||||
//判断有无此行业
|
|
||||||
if (tradeIdState == -1) {
|
|
||||||
this.obj.tradeId = "";
|
|
||||||
setTimeout(() => {
|
|
||||||
this.$message({
|
|
||||||
type: "error",
|
|
||||||
message: "此岗位所包含行业已经不存在,请重新选择!",
|
|
||||||
})
|
|
||||||
}, 1000);
|
|
||||||
} else {
|
|
||||||
this.tradeState = this.obj.tradeNames;
|
|
||||||
//判断有无此工种
|
|
||||||
getWork(this.obj.tradeId).then((res) => {
|
|
||||||
this.workData = res;
|
|
||||||
this.workDataIdAttr = res.map((ele) => {
|
|
||||||
return ele.id
|
|
||||||
})
|
|
||||||
let workDataIdState = this.workDataIdAttr.indexOf(this.obj.worktypeIds);
|
|
||||||
//判断有无此工种
|
|
||||||
if (workDataIdState == -1) {
|
|
||||||
this.obj.worktypeIds = "";
|
|
||||||
setTimeout(() => {
|
|
||||||
this.$message({
|
|
||||||
type: "error",
|
|
||||||
message: "此岗位所包含工种已经不存在,请重新选择!",
|
|
||||||
})
|
|
||||||
}, 1000);
|
|
||||||
} else {
|
|
||||||
this.workTypeState = this.obj.worktypeNames;
|
|
||||||
getSkillList(this.obj.worktypeIds).then((res) => {
|
|
||||||
this.skillIdAttr = res.data.data.records.map((ele) => {
|
|
||||||
return ele;
|
|
||||||
});
|
|
||||||
let newSelectedSkills = [];
|
|
||||||
this.skillIdAttr.forEach((val) => {
|
|
||||||
let selectedSkillsState = this.obj.selectedSkills.find(v => v.id == val.id);
|
|
||||||
if (selectedSkillsState) {
|
|
||||||
newSelectedSkills.push(val);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
// 判断有无此技能
|
|
||||||
if (newSelectedSkills.length == 0) {
|
|
||||||
// setTimeout(()=>{
|
|
||||||
// this.$message({
|
|
||||||
// type: "error",
|
|
||||||
// message: "此岗位所包含技能已经不存在,请重新选择!",
|
|
||||||
// })
|
|
||||||
// },1000);
|
|
||||||
} else {
|
|
||||||
this.selectedSkills = newSelectedSkills;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else if (type === "add") {
|
|
||||||
this.title = "发布岗位";
|
this.title = "发布岗位";
|
||||||
|
this.employerInfor = row
|
||||||
this.obj = {
|
this.obj = {
|
||||||
wageUnitCategory: 3,
|
wageUnitCategory: 3,
|
||||||
sex: 0,
|
sex: 0,
|
||||||
ageDesc: "不限年龄",
|
ageDesc: "不限年龄",
|
||||||
education: 7,
|
education: 7,
|
||||||
experienceDesc: "不限经验",
|
experienceDesc: "不限经验",
|
||||||
userNature: "灵活用工"
|
userNature: "灵活用工",
|
||||||
};
|
};
|
||||||
this.selectedSkills = [];
|
this.selectedSkills = [];
|
||||||
this.drawer = true;
|
this.drawer = true;
|
||||||
@@ -1486,67 +1130,6 @@ export default {
|
|||||||
if (this.$refs.selectMap) {
|
if (this.$refs.selectMap) {
|
||||||
this.$refs.selectMap.geolocation();
|
this.$refs.selectMap.geolocation();
|
||||||
}
|
}
|
||||||
} else if (type === "edit") {
|
|
||||||
this.title = "编辑岗位";
|
|
||||||
detail(row.id).then((res) => {
|
|
||||||
if (res.cityId === -1) {
|
|
||||||
res.cityId = ''
|
|
||||||
}
|
|
||||||
this.obj = res;
|
|
||||||
// this.obj.workSkills = []
|
|
||||||
// console.log(res.worktypeIds)
|
|
||||||
this.obj.workSkills = !res.worktypeIds || res.worktypeIds.split(',')
|
|
||||||
// this.obj.workSkills.push(res.worktypeIds)
|
|
||||||
// this.obj.workSkills.push(res.skillIds)
|
|
||||||
this.drawer = true;
|
|
||||||
// let tradeIdState = this.tradeIdAttr.indexOf(this.obj.tradeId);
|
|
||||||
//判断有无此行业
|
|
||||||
// if(tradeIdState == -1){
|
|
||||||
// this.$message.closeAll();
|
|
||||||
// this.obj.tradeId = "";
|
|
||||||
// }else{
|
|
||||||
// this.tradeState = this.obj.tradeNames;
|
|
||||||
// //判断有无此工种
|
|
||||||
// getWork(this.obj.tradeId).then((res) => {
|
|
||||||
// this.workData = res;
|
|
||||||
// this.workDataIdAttr = res.map((ele)=>{
|
|
||||||
// return ele.id
|
|
||||||
// })
|
|
||||||
// let workDataIdState = this.workDataIdAttr.indexOf(this.obj.worktypeIds);
|
|
||||||
// //判断有无此工种
|
|
||||||
// if(workDataIdState == -1){
|
|
||||||
// this.$message.closeAll();
|
|
||||||
// this.obj.worktypeIds = "";
|
|
||||||
// }else{
|
|
||||||
// this.workTypeState = this.obj.worktypeNames;
|
|
||||||
// getSkillList(this.obj.worktypeIds).then((res) => {
|
|
||||||
// this.skillIdAttr = res.data.data.records.map((ele)=>{
|
|
||||||
// return ele;
|
|
||||||
// });
|
|
||||||
// let newSelectedSkills = [];
|
|
||||||
// this.skillIdAttr.forEach((val) => {
|
|
||||||
// let selectedSkillsState = this.obj.selectedSkills.find(v => v.id == val.id);
|
|
||||||
// if(selectedSkillsState){
|
|
||||||
// newSelectedSkills.push(val);
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// // 判断有无此技能
|
|
||||||
// if(newSelectedSkills.length == 0){
|
|
||||||
// setTimeout(()=>{
|
|
||||||
// this.$message.closeAll();
|
|
||||||
// this.$message({
|
|
||||||
// type: "error",
|
|
||||||
// message: "此岗位所包含技能已经不存在,请重新选择!",
|
|
||||||
// })
|
|
||||||
// },1000);
|
|
||||||
// }else{
|
|
||||||
// this.selectedSkills = newSelectedSkills;
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@@ -1565,6 +1148,12 @@ export default {
|
|||||||
<style>
|
<style>
|
||||||
.input-with-select {
|
.input-with-select {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-with-select span {
|
||||||
|
width: 150px;
|
||||||
|
padding-left: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.copy-form .el-input-group__append {
|
.copy-form .el-input-group__append {
|
||||||
@@ -1612,4 +1201,8 @@ export default {
|
|||||||
.tradeId .el-input--small input {
|
.tradeId .el-input--small input {
|
||||||
padding-right: 150px;
|
padding-right: 150px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.el-drawer .avue-form {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
574
src/views/tenant/works/Table/WaitingMission copy.vue
Normal file
574
src/views/tenant/works/Table/WaitingMission copy.vue
Normal file
@@ -0,0 +1,574 @@
|
|||||||
|
<!-- 12月10号作备份 -->
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="obj" @row-del="rowDel"
|
||||||
|
@row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen" :page.sync="page"
|
||||||
|
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
|
||||||
|
>
|
||||||
|
<!--自定义按钮-->
|
||||||
|
<template slot="menuLeft">
|
||||||
|
<save-button type="warning" plain icon="el-icon-plus" size="small" @click="rowCopy('', 'add')"
|
||||||
|
v-show="vaildData(permission.tenant_works_add, false)">发布岗位
|
||||||
|
</save-button>
|
||||||
|
<el-button type="success" size="small" plain icon="el-icon-plus" @click="handleImport"
|
||||||
|
v-show="vaildData(permission.tenant_works_add, false)">批量导入
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
<template slot="wage" slot-scope="{ row }">
|
||||||
|
<div>{{ row.wage }}{{ wageUnitCategoryStateEnum[row.wageUnitCategory] }}</div>
|
||||||
|
</template>
|
||||||
|
<!--/自定义按钮-->
|
||||||
|
<!--自定义列-->
|
||||||
|
<template slot="jobName" slot-scope="{ row }">
|
||||||
|
<el-tooltip effect="dark" :content="row.jobName" placement="top">
|
||||||
|
<div style="color: black">
|
||||||
|
<b>{{ row.jobName | ellipsis }}</b>
|
||||||
|
</div>
|
||||||
|
</el-tooltip>
|
||||||
|
</template>
|
||||||
|
<template slot="signUpCount" slot-scope="{ row }">
|
||||||
|
<div>
|
||||||
|
<span>{{ row.signUpCount }}人</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<!-- 报名截止日期 -->
|
||||||
|
<template slot="etimePub" slot-scope="{row}">
|
||||||
|
<span>{{ format(row.etimePub) }}</span>
|
||||||
|
</template>
|
||||||
|
<!-- 开始日期 -->
|
||||||
|
<template slot="stime" slot-scope="{row}">
|
||||||
|
<span>{{ format(row.stime) }}</span>
|
||||||
|
</template>
|
||||||
|
<!-- 完成日期 -->
|
||||||
|
<template slot="etime" slot-scope="{row}">
|
||||||
|
<span>{{ format(row.etime) }}</span>
|
||||||
|
</template>
|
||||||
|
<template slot="takeOnCount" slot-scope="{ row }">
|
||||||
|
<div style="color: #409eff;cursor: pointer;" @click="employmentNum(row)">
|
||||||
|
<b>{{ row.takeOnCount }}人</b>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template slot="toStart" slot-scope="{ row }">
|
||||||
|
<div>
|
||||||
|
<i class="el-icon-warning-outline"></i> 距岗位开始剩余
|
||||||
|
<span style="color: #f56c6c">
|
||||||
|
<b>{{ row.toStart }}天</b>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<!--/自定义列-->
|
||||||
|
<!--自定义操作栏-->
|
||||||
|
<div slot="menu" slot-scope="{ size, type, row }">
|
||||||
|
<!-- <el-button type="text" size="mini" @click="recommend(row)">重点人群推送</el-button> -->
|
||||||
|
<el-button type="text" v-if="row.reviewState === 1" size="mini" @click="employ(row, 1)">申请录用</el-button>
|
||||||
|
<el-button type="text" v-if="row.reviewState === 2" size="mini" @click="employmentNum(row)">已录用</el-button>
|
||||||
|
<el-button icon="el-icon-view" :size="size" :type="type" @click.stop="rowView(row)"
|
||||||
|
v-show="vaildData(permission.tenant_mission_view, false)">查看
|
||||||
|
</el-button>
|
||||||
|
<!-- <save-button icon="el-icon-check" :size="size" :type="type" @click="rowCopy(row, 'copy')">复制</save-button> -->
|
||||||
|
<el-button icon="el-icon-edit" :size="size" :type="type" @click="rowCopy(row, 'edit')" :disabled="false"
|
||||||
|
v-if="row.reviewState === 0 || row.reviewState === 1"
|
||||||
|
v-show="vaildData(permission.tenant_mission_edit, false)">编辑
|
||||||
|
</el-button>
|
||||||
|
<el-button icon="el-icon-delete" :size="size" :type="type" @click="$refs.crud.rowDel(row)" :disabled="false"
|
||||||
|
v-show="vaildData(permission.tenant_mission_cancel, false)" v-if="row.reviewState !== 9">取消
|
||||||
|
</el-button>
|
||||||
|
<!-- <el-button type="text" size="mini" @click="contrast(row)"
|
||||||
|
>比对人才库</el-button> -->
|
||||||
|
</div>
|
||||||
|
</avue-crud>
|
||||||
|
<!--发布 复制 编辑dialog-->
|
||||||
|
<copy-mission ref="copy" @back="backIndex" v-show="false"></copy-mission>
|
||||||
|
<!--/发布 复制 编辑dialog-->
|
||||||
|
<!--录用人员dialog-->
|
||||||
|
<Employ ref="employ" @refresh="refreshChange" :status="status" v-show="false"></Employ>
|
||||||
|
<employment-num ref="employmentNum" :status="1" v-show="false"></employment-num>
|
||||||
|
<!--/录用人员dialog-->
|
||||||
|
<!--人才推荐dialog-->
|
||||||
|
<Recommend ref="recommend" v-show="false"></Recommend>
|
||||||
|
<!--/人才推荐dialog-->
|
||||||
|
<!--对比人才库dialog-->
|
||||||
|
<Contrast ref="contrast" v-show="false"></Contrast>
|
||||||
|
<!--对比人才库dialog-->
|
||||||
|
<!--查看dialog-->
|
||||||
|
<mission-view :visible.sync="viewDrawer" :model="view"></mission-view>
|
||||||
|
<!--/查看dialog-->
|
||||||
|
|
||||||
|
<!--批量导入-->
|
||||||
|
<el-dialog title="导入" append-to-body :visible.sync="excelBox" :close-on-click-modal="false" width="555px">
|
||||||
|
<avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter"
|
||||||
|
:upload-before="beforeAvatarUpload"
|
||||||
|
:upload-error="uploadError">
|
||||||
|
<template slot="excelTemplate">
|
||||||
|
<el-button type="primary" @click="handleTemplate()" :loading="templateLoading">
|
||||||
|
点击下载
|
||||||
|
<i class="el-icon-download el-icon--right"></i>
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</avue-form>
|
||||||
|
</el-dialog>
|
||||||
|
<!--/批量导入-->
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {getList, cancel, detail, upload} from "@/api/tenant/postzp";
|
||||||
|
// import {getList, cancel, detail} from "@/api/tenant/mission";
|
||||||
|
import CopyMission from "../Dialog/CopyMission";
|
||||||
|
import Employ from "../Dialog/Employ";
|
||||||
|
import employmentNum from "../Dialog/EmployNumber";
|
||||||
|
import Recommend from "../Dialog/Recommend";
|
||||||
|
import Contrast from "../Dialog/Contrast"
|
||||||
|
import SkillSelect from "../Dialog/Skill";
|
||||||
|
import missionView from "./missionView.vue";
|
||||||
|
import {isExcel} from "@/util/validate";
|
||||||
|
import {excelAccept} from "@/common/accept";
|
||||||
|
import {mapGetters} from "vuex";
|
||||||
|
import {dateFormat} from "@/util/date";
|
||||||
|
import {getTemplate} from "@/api/resource/template";
|
||||||
|
import saveButton from "./saveButton";
|
||||||
|
import {dataSourcesEnum, educationState, missionState, recruitStatus, wageUnitCategoryState} from "@/common/dic";
|
||||||
|
|
||||||
|
const wageUnitCategoryStateEnum = {}
|
||||||
|
wageUnitCategoryState.map((item) => {
|
||||||
|
wageUnitCategoryStateEnum[item.value] = item.label
|
||||||
|
})
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
CopyMission,
|
||||||
|
Employ,
|
||||||
|
Recommend,
|
||||||
|
SkillSelect,
|
||||||
|
missionView,
|
||||||
|
saveButton,
|
||||||
|
Contrast,
|
||||||
|
employmentNum
|
||||||
|
},
|
||||||
|
filters: {
|
||||||
|
ellipsis(value) {
|
||||||
|
if (!value) return "";
|
||||||
|
if (value.length > 15) {
|
||||||
|
return value.slice(0, 14) + "...";
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
wageUnitCategoryStateEnum,
|
||||||
|
excelBox: false,
|
||||||
|
excelForm: {isCovered: 1},
|
||||||
|
excelOption: {
|
||||||
|
submitBtn: false,
|
||||||
|
emptyBtn: false,
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
label: "文件上传",
|
||||||
|
prop: "excelFile",
|
||||||
|
type: "upload",
|
||||||
|
drag: true,
|
||||||
|
loadText: "文件上传中,请稍等",
|
||||||
|
span: 24,
|
||||||
|
propsHttp: {
|
||||||
|
res: "data",
|
||||||
|
},
|
||||||
|
tip: "请上传 .xls,.xlsx 标准格式文件",
|
||||||
|
accept: excelAccept,
|
||||||
|
showFileList: false,
|
||||||
|
action: upload(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "模板下载",
|
||||||
|
prop: "excelTemplate",
|
||||||
|
formslot: true,
|
||||||
|
span: 24,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
status: 1,
|
||||||
|
viewDrawer: false,
|
||||||
|
view: {},
|
||||||
|
loading: false,
|
||||||
|
tradeData: [],
|
||||||
|
tradeId: "",
|
||||||
|
page: {
|
||||||
|
pageSize: 20,
|
||||||
|
currentPage: 1,
|
||||||
|
total: 0,
|
||||||
|
},
|
||||||
|
query: {
|
||||||
|
status: 1,
|
||||||
|
},
|
||||||
|
data: [],
|
||||||
|
obj: {},
|
||||||
|
missionNo: '',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.onLoad(this.page, this.query)
|
||||||
|
},
|
||||||
|
watch: {},
|
||||||
|
computed: {
|
||||||
|
...mapGetters(["permission"]),
|
||||||
|
/*计算时间*/
|
||||||
|
option() {
|
||||||
|
return {
|
||||||
|
height: "auto",
|
||||||
|
calcHeight: 40,
|
||||||
|
menuWidth: 150,
|
||||||
|
align: "center",
|
||||||
|
menuAlign: "center",
|
||||||
|
tip: false,
|
||||||
|
addBtn: false,
|
||||||
|
viewBtn: false,
|
||||||
|
delBtn: false,
|
||||||
|
editBtn: false,
|
||||||
|
excelBtn: false,
|
||||||
|
columnBtn: false,
|
||||||
|
searchBtn: false,
|
||||||
|
searchShow: false,
|
||||||
|
border: true,
|
||||||
|
index: false,
|
||||||
|
selection: false,
|
||||||
|
dialogType: "drawer",
|
||||||
|
dialogWidth: "60%",
|
||||||
|
delBtnText: "取消",
|
||||||
|
dialogClickModal: false,
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
label: "用工单位",
|
||||||
|
prop: "jobCompanyName",
|
||||||
|
display: false,
|
||||||
|
fixed: true,
|
||||||
|
width: 120,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "岗位名称",
|
||||||
|
prop: "jobName",
|
||||||
|
display: false,
|
||||||
|
fixed: true,
|
||||||
|
width: 120,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "招聘人数",
|
||||||
|
prop: "peopleNum",
|
||||||
|
search: false,
|
||||||
|
searchSpan: 1,
|
||||||
|
display: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "参考工资",
|
||||||
|
prop: "wage",
|
||||||
|
search: false,
|
||||||
|
searchSpan: 5,
|
||||||
|
display: false,
|
||||||
|
slot: true,
|
||||||
|
width: 140,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "岗位工种",
|
||||||
|
prop: "worktypeNames",
|
||||||
|
search: false,
|
||||||
|
display: false,
|
||||||
|
}, {
|
||||||
|
label: "年龄要求",
|
||||||
|
prop: "ageDesc",
|
||||||
|
search: false,
|
||||||
|
display: false,
|
||||||
|
}, {
|
||||||
|
label: "学历要求",
|
||||||
|
prop: "education",
|
||||||
|
type: "select",
|
||||||
|
dicData: educationState,
|
||||||
|
search: false,
|
||||||
|
display: false,
|
||||||
|
}, {
|
||||||
|
label: "经验要求",
|
||||||
|
prop: "experienceDesc",
|
||||||
|
search: false,
|
||||||
|
display: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "任务状态",
|
||||||
|
prop: "status",
|
||||||
|
type: "select",
|
||||||
|
dicData: missionState,
|
||||||
|
display: false,
|
||||||
|
hide: true,
|
||||||
|
span: 24,
|
||||||
|
width: 80,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "任务编码",
|
||||||
|
prop: "missionNo",
|
||||||
|
hide: true,
|
||||||
|
display: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "任务时长",
|
||||||
|
prop: "missionDuration",
|
||||||
|
search: false,
|
||||||
|
searchSpan: 5,
|
||||||
|
display: false,
|
||||||
|
hide: true,
|
||||||
|
minWidth: 70,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "详细地址",
|
||||||
|
prop: "address",
|
||||||
|
display: false,
|
||||||
|
span: 6,
|
||||||
|
width: 200,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "开始日期",
|
||||||
|
prop: "stime",
|
||||||
|
type: "date",
|
||||||
|
display: false,
|
||||||
|
minWidth: 100,
|
||||||
|
format: "yyyy-MM-dd",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "结束日期",
|
||||||
|
prop: "etime",
|
||||||
|
type: "date",
|
||||||
|
display: false,
|
||||||
|
minWidth: 100,
|
||||||
|
format: "yyyy-MM-dd",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "录入人员",
|
||||||
|
prop: "createUserName",
|
||||||
|
display: false,
|
||||||
|
span: 6,
|
||||||
|
width: 80,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "审核状态",
|
||||||
|
prop: "reviewState",
|
||||||
|
dicData: recruitStatus,
|
||||||
|
display: false,
|
||||||
|
span: 6,
|
||||||
|
width: 100,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "审核时间",
|
||||||
|
prop: "reviewTime",
|
||||||
|
display: false,
|
||||||
|
span: 6,
|
||||||
|
width: 100,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "审核人员",
|
||||||
|
prop: "reviewUserName",
|
||||||
|
display: false,
|
||||||
|
span: 6,
|
||||||
|
width: 100,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "数据来源",
|
||||||
|
prop: "dataSources",
|
||||||
|
dicData: dataSourcesEnum,
|
||||||
|
display: false,
|
||||||
|
span: 24,
|
||||||
|
width: 100,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "机构名称",
|
||||||
|
prop: "companyName",
|
||||||
|
display: false,
|
||||||
|
width: 200,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
format(date) {
|
||||||
|
if (date) {
|
||||||
|
return dateFormat(new Date(date), "yyyy/MM/dd");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 录用人数
|
||||||
|
employmentNum(row) {
|
||||||
|
this.$refs.employmentNum.openDialog(row, 2);//查看已录用人员
|
||||||
|
},
|
||||||
|
/*打开新增 复制 编辑*/
|
||||||
|
rowCopy(row, type) {
|
||||||
|
this.$refs.copy.onLoad(row, type);
|
||||||
|
},
|
||||||
|
/*查看*/
|
||||||
|
rowView(row) {
|
||||||
|
detail(row.id).then((res) => {
|
||||||
|
this.viewDrawer = true;
|
||||||
|
this.view = res;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/*打开录用人员*/
|
||||||
|
employ(row, status) {
|
||||||
|
this.$refs.employ.openDialog(row, status);
|
||||||
|
},
|
||||||
|
/*打开人才推荐*/
|
||||||
|
recommend(row) {
|
||||||
|
this.$refs.recommend.openDialog(row);
|
||||||
|
},
|
||||||
|
/*打开对比人才库*/
|
||||||
|
contrast(row) {
|
||||||
|
this.$refs.contrast.openDialog(row);
|
||||||
|
},
|
||||||
|
/*取消岗位*/
|
||||||
|
rowDel(row) {
|
||||||
|
const h = this.$createElement;
|
||||||
|
this.$confirm(
|
||||||
|
h("div", null, [
|
||||||
|
h("p", {style: "font-size: 16px"}, "您确定要取消此岗位吗? "),
|
||||||
|
h("p", {style: "color: red"}, "一旦取消则岗位失效"),
|
||||||
|
]),
|
||||||
|
{
|
||||||
|
type: "warning",
|
||||||
|
showClose: false,
|
||||||
|
showCancelButton: true,
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
beforeClose: (action, instance, done) => {
|
||||||
|
if (action === "confirm") {
|
||||||
|
instance.confirmButtonLoading = true;
|
||||||
|
instance.cancelButtonLoading = true;
|
||||||
|
instance.closeOnPressEscape = false;
|
||||||
|
instance.closeOnClickModal = false;
|
||||||
|
setTimeout(() => {
|
||||||
|
done();
|
||||||
|
setTimeout(() => {
|
||||||
|
instance.confirmButtonLoading = false;
|
||||||
|
instance.cancelButtonLoading = false;
|
||||||
|
}, 300);
|
||||||
|
}, 1000);
|
||||||
|
} else {
|
||||||
|
done();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.then(() => {
|
||||||
|
cancel(row.id).then(
|
||||||
|
() => {
|
||||||
|
this.$message({
|
||||||
|
type: "success",
|
||||||
|
message: "操作成功!",
|
||||||
|
});
|
||||||
|
this.onLoad(this.page, this.query);
|
||||||
|
},
|
||||||
|
(error) => {
|
||||||
|
window.console.log(error);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
// this.$message({
|
||||||
|
// type: 'info',
|
||||||
|
// message: '已取消'
|
||||||
|
// });
|
||||||
|
});
|
||||||
|
},
|
||||||
|
currentChange(currentPage) {
|
||||||
|
this.page.currentPage = currentPage;
|
||||||
|
this.onLoad(this.page, this.query)
|
||||||
|
},
|
||||||
|
sizeChange(pageSize) {
|
||||||
|
this.page.pageSize = pageSize;
|
||||||
|
this.onLoad(this.page, this.query)
|
||||||
|
},
|
||||||
|
/*刷新本页 带搜索参数*/
|
||||||
|
refreshChange() {
|
||||||
|
this.onLoad(this.page, this.query);
|
||||||
|
},
|
||||||
|
/*加载数据*/
|
||||||
|
onLoad(page, params = {}) {
|
||||||
|
this.loading = true;
|
||||||
|
this.query = {
|
||||||
|
status: this.query.status,
|
||||||
|
...params
|
||||||
|
}
|
||||||
|
getList(
|
||||||
|
page.currentPage,
|
||||||
|
page.pageSize,
|
||||||
|
this.query
|
||||||
|
).then((res) => {
|
||||||
|
const data = res.data.data;
|
||||||
|
this.page.total = data.total;
|
||||||
|
this.data = data.records;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/*返回首页*/
|
||||||
|
backIndex() {
|
||||||
|
this.$emit("refresh");
|
||||||
|
},
|
||||||
|
/*导入任务*/
|
||||||
|
beforeAvatarUpload(file, done, loading) {
|
||||||
|
if (!isExcel(file)) {
|
||||||
|
loading();
|
||||||
|
this.$message.error("上传任务信息只能是 .xls,.xlsx 标准格式文件!");
|
||||||
|
} else {
|
||||||
|
done();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
uploadAfter(res, done) {
|
||||||
|
if (!(res instanceof Error) && !res.data) {
|
||||||
|
this.excelBox = false;
|
||||||
|
} else if (res.data && res.data.code === 900) {
|
||||||
|
const arr = [];
|
||||||
|
const data = res.data.data;
|
||||||
|
data.error &&
|
||||||
|
data.error.errorList.forEach((item) => {
|
||||||
|
arr.push(`${item.name} ${item.remarks}`);
|
||||||
|
});
|
||||||
|
data.auth &&
|
||||||
|
data.auth.authList.forEach((item) => {
|
||||||
|
arr.push(`${item.name} ${item.remarks}`);
|
||||||
|
});
|
||||||
|
this.$refs.ied.show(arr);
|
||||||
|
}
|
||||||
|
this.refreshChange();
|
||||||
|
// this.initDept(this.tenantId);
|
||||||
|
done();
|
||||||
|
},
|
||||||
|
uploadError(error) {
|
||||||
|
if (error) {
|
||||||
|
this.$message.error(error);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleImport() {
|
||||||
|
this.excelBox = true;
|
||||||
|
},
|
||||||
|
/*下载任务模板 */
|
||||||
|
handleTemplate() {
|
||||||
|
this.templateLoading = true;
|
||||||
|
getTemplate("gwdr")
|
||||||
|
.then((rep) => {
|
||||||
|
this.templateLoading = false;
|
||||||
|
window.open(rep.data.data);
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.templateLoading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.el-col,
|
||||||
|
.el-form-item {
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map {
|
||||||
|
width: 100%;
|
||||||
|
height: 300px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<style>
|
||||||
|
.slotForm {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -5,16 +5,16 @@
|
|||||||
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
|
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
|
||||||
>
|
>
|
||||||
<!--自定义按钮-->
|
<!--自定义按钮-->
|
||||||
<template slot="menuLeft">
|
<!-- <template slot="menuLeft">
|
||||||
<save-button type="warning" plain icon="el-icon-plus" size="small" @click="rowCopy('', 'add')"
|
<save-button type="warning" plain icon="el-icon-plus" size="small" @click="rowCopy('', 'add')"
|
||||||
v-show="vaildData(permission.tenant_works_add, false)">发布岗位
|
v-show="vaildData(permission.tenant_works_add, false)">发布岗位
|
||||||
</save-button>
|
</save-button>
|
||||||
<el-button type="success" size="small" plain icon="el-icon-plus" @click="handleImport"
|
<el-button type="success" size="small" plain icon="el-icon-plus" @click="handleImport"
|
||||||
v-show="vaildData(permission.tenant_works_add, false)">批量导入
|
v-show="vaildData(permission.tenant_works_add, false)">批量导入
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template> -->
|
||||||
<template slot="wage" slot-scope="{ row }">
|
<template slot="wage" slot-scope="{ row }">
|
||||||
<div>{{ row.wage }}{{ wageUnitCategoryStateEnum[row.wageUnitCategory] }}</div>
|
<div>{{ row.wage }}~{{row.wageUpper}}{{ wageUnitCategoryStateEnum[row.wageUnitCategory] }}</div>
|
||||||
</template>
|
</template>
|
||||||
<!--/自定义按钮-->
|
<!--/自定义按钮-->
|
||||||
<!--自定义列-->
|
<!--自定义列-->
|
||||||
@@ -58,22 +58,8 @@
|
|||||||
<!--/自定义列-->
|
<!--/自定义列-->
|
||||||
<!--自定义操作栏-->
|
<!--自定义操作栏-->
|
||||||
<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="release(row)"
|
||||||
<el-button type="text" v-if="row.reviewState === 1" size="mini" @click="employ(row, 1)">申请录用</el-button>
|
>发布</el-button>
|
||||||
<el-button type="text" v-if="row.reviewState === 2" size="mini" @click="employmentNum(row)">已录用</el-button>
|
|
||||||
<el-button icon="el-icon-view" :size="size" :type="type" @click.stop="rowView(row)"
|
|
||||||
v-show="vaildData(permission.tenant_mission_view, false)">查看
|
|
||||||
</el-button>
|
|
||||||
<!-- <save-button icon="el-icon-check" :size="size" :type="type" @click="rowCopy(row, 'copy')">复制</save-button> -->
|
|
||||||
<el-button icon="el-icon-edit" :size="size" :type="type" @click="rowCopy(row, 'edit')" :disabled="false"
|
|
||||||
v-if="row.reviewState === 0 || row.reviewState === 1"
|
|
||||||
v-show="vaildData(permission.tenant_mission_edit, false)">编辑
|
|
||||||
</el-button>
|
|
||||||
<el-button icon="el-icon-delete" :size="size" :type="type" @click="$refs.crud.rowDel(row)" :disabled="false"
|
|
||||||
v-show="vaildData(permission.tenant_mission_cancel, false)" v-if="row.reviewState !== 9">取消
|
|
||||||
</el-button>
|
|
||||||
<!-- <el-button type="text" size="mini" @click="contrast(row)"
|
|
||||||
>比对人才库</el-button> -->
|
|
||||||
</div>
|
</div>
|
||||||
</avue-crud>
|
</avue-crud>
|
||||||
<!--发布 复制 编辑dialog-->
|
<!--发布 复制 编辑dialog-->
|
||||||
@@ -111,7 +97,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {getList, cancel, detail, upload} from "@/api/tenant/postzp";
|
import {getList, cancel, detail, upload, findCompanyListInInviteAndWorks} from "@/api/tenant/postzp";
|
||||||
// import {getList, cancel, detail} from "@/api/tenant/mission";
|
// import {getList, cancel, detail} from "@/api/tenant/mission";
|
||||||
import CopyMission from "../Dialog/CopyMission";
|
import CopyMission from "../Dialog/CopyMission";
|
||||||
import Employ from "../Dialog/Employ";
|
import Employ from "../Dialog/Employ";
|
||||||
@@ -234,155 +220,48 @@ export default {
|
|||||||
delBtnText: "取消",
|
delBtnText: "取消",
|
||||||
dialogClickModal: false,
|
dialogClickModal: false,
|
||||||
column: [
|
column: [
|
||||||
|
{
|
||||||
|
label: "机构名称",
|
||||||
|
prop: "companyName",
|
||||||
|
// display: false,
|
||||||
|
width: 200,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: "用工单位",
|
label: "用工单位",
|
||||||
prop: "jobCompanyName",
|
prop: "jobCompanyName",
|
||||||
display: false,
|
display: false,
|
||||||
fixed: true,
|
// fixed: true,
|
||||||
|
// width: 120,
|
||||||
|
}, {
|
||||||
|
label: "单位信用编码",
|
||||||
|
prop: "jobCompanyScale",
|
||||||
|
display: false,
|
||||||
|
// fixed: true,
|
||||||
|
// width: 120,
|
||||||
|
}, {
|
||||||
|
label: "联系人",
|
||||||
|
prop: "callName",
|
||||||
|
// type: "select",
|
||||||
|
// dicData: educationState,
|
||||||
|
search: false,
|
||||||
|
display: false,
|
||||||
width: 120,
|
width: 120,
|
||||||
},
|
}, {
|
||||||
{
|
label: "手机号码",
|
||||||
label: "岗位名称",
|
prop: "callNumber",
|
||||||
prop: "jobName",
|
search: false,
|
||||||
display: false,
|
// display: false,
|
||||||
fixed: true,
|
|
||||||
width: 120,
|
width: 120,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
label: "招聘人数",
|
|
||||||
prop: "peopleNum",
|
|
||||||
search: false,
|
|
||||||
searchSpan: 1,
|
|
||||||
display: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "参考工资",
|
|
||||||
prop: "wage",
|
|
||||||
search: false,
|
|
||||||
searchSpan: 5,
|
|
||||||
display: false,
|
|
||||||
slot: true,
|
|
||||||
width: 140,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "岗位工种",
|
|
||||||
prop: "worktypeNames",
|
|
||||||
search: false,
|
|
||||||
display: false,
|
|
||||||
}, {
|
|
||||||
label: "年龄要求",
|
|
||||||
prop: "ageDesc",
|
|
||||||
search: false,
|
|
||||||
display: false,
|
|
||||||
}, {
|
|
||||||
label: "学历要求",
|
|
||||||
prop: "education",
|
|
||||||
type: "select",
|
|
||||||
dicData: educationState,
|
|
||||||
search: false,
|
|
||||||
display: false,
|
|
||||||
}, {
|
|
||||||
label: "经验要求",
|
|
||||||
prop: "experienceDesc",
|
|
||||||
search: false,
|
|
||||||
display: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "任务状态",
|
|
||||||
prop: "status",
|
|
||||||
type: "select",
|
|
||||||
dicData: missionState,
|
|
||||||
display: false,
|
|
||||||
hide: true,
|
|
||||||
span: 24,
|
|
||||||
width: 80,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "任务编码",
|
|
||||||
prop: "missionNo",
|
|
||||||
hide: true,
|
|
||||||
display: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "任务时长",
|
|
||||||
prop: "missionDuration",
|
|
||||||
search: false,
|
|
||||||
searchSpan: 5,
|
|
||||||
display: false,
|
|
||||||
hide: true,
|
|
||||||
minWidth: 70,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "详细地址",
|
|
||||||
prop: "address",
|
|
||||||
display: false,
|
|
||||||
span: 6,
|
|
||||||
width: 200,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "开始日期",
|
|
||||||
prop: "stime",
|
|
||||||
type: "date",
|
|
||||||
display: false,
|
|
||||||
minWidth: 100,
|
|
||||||
format: "yyyy-MM-dd",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "结束日期",
|
|
||||||
prop: "etime",
|
|
||||||
type: "date",
|
|
||||||
display: false,
|
|
||||||
minWidth: 100,
|
|
||||||
format: "yyyy-MM-dd",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "录入人员",
|
|
||||||
prop: "createUserName",
|
|
||||||
display: false,
|
|
||||||
span: 6,
|
|
||||||
width: 80,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "审核状态",
|
|
||||||
prop: "reviewState",
|
|
||||||
dicData: recruitStatus,
|
|
||||||
display: false,
|
|
||||||
span: 6,
|
|
||||||
width: 100,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "审核时间",
|
|
||||||
prop: "reviewTime",
|
|
||||||
display: false,
|
|
||||||
span: 6,
|
|
||||||
width: 100,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "审核人员",
|
|
||||||
prop: "reviewUserName",
|
|
||||||
display: false,
|
|
||||||
span: 6,
|
|
||||||
width: 100,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "数据来源",
|
|
||||||
prop: "dataSources",
|
|
||||||
dicData: dataSourcesEnum,
|
|
||||||
display: false,
|
|
||||||
span: 24,
|
|
||||||
width: 100,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "机构名称",
|
|
||||||
prop: "companyName",
|
|
||||||
display: false,
|
|
||||||
width: 200,
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
release(row) {
|
||||||
|
this.$refs.copy.onLoad(row, 'add');
|
||||||
|
console.log(row, 'row')
|
||||||
|
},
|
||||||
format(date) {
|
format(date) {
|
||||||
if (date) {
|
if (date) {
|
||||||
return dateFormat(new Date(date), "yyyy/MM/dd");
|
return dateFormat(new Date(date), "yyyy/MM/dd");
|
||||||
@@ -488,11 +367,12 @@ export default {
|
|||||||
status: this.query.status,
|
status: this.query.status,
|
||||||
...params
|
...params
|
||||||
}
|
}
|
||||||
getList(
|
findCompanyListInInviteAndWorks(
|
||||||
page.currentPage,
|
page.currentPage,
|
||||||
page.pageSize,
|
page.pageSize,
|
||||||
this.query
|
this.query
|
||||||
).then((res) => {
|
).then((res) => {
|
||||||
|
console.log(res, "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;
|
||||||
|
|||||||
241
src/views/tenant/works/index copy.vue
Normal file
241
src/views/tenant/works/index copy.vue
Normal file
@@ -0,0 +1,241 @@
|
|||||||
|
<!-- 12月10号作备份 -->
|
||||||
|
<template>
|
||||||
|
<basic-container>
|
||||||
|
<!--搜索栏-->
|
||||||
|
<avue-form :option="searchOption" v-model="search" @submit="handleSearch" @reset-change="handleClear"></avue-form>
|
||||||
|
<!--搜索栏-->
|
||||||
|
<waiting-mission ref="waiting" v-if="search.status === 1" @refresh="handleClear"></waiting-mission>
|
||||||
|
<ongoing-mission ref="onging" v-if="search.status === 2" @refresh="handleClear"></ongoing-mission>
|
||||||
|
<finished-mission ref="finished" v-if="search.status === 3" @refresh="handleClear"></finished-mission>
|
||||||
|
<expired-mission ref="expired" v-if="search.status === 4" @refresh="handleClear"></expired-mission>
|
||||||
|
</basic-container>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import WaitingMission from './Table/WaitingMission'
|
||||||
|
import OngoingMission from './Table/OngoingMission'
|
||||||
|
import FinishedMission from './Table/FinishedMission'
|
||||||
|
import ExpiredMission from './Table/ExpiredMission'
|
||||||
|
import {companyMissionState, recruitStatus, educationState} from '@/common/dic'
|
||||||
|
import {getDeptMyTree} from "@/api/tenant/talents";
|
||||||
|
|
||||||
|
// import {mapGetters} from "vuex";
|
||||||
|
const searchData = {
|
||||||
|
status: 1
|
||||||
|
}
|
||||||
|
export default {
|
||||||
|
comments: {},
|
||||||
|
name: "tenant_mission",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
educationState,
|
||||||
|
recruitStatus,
|
||||||
|
missionTypes: companyMissionState,
|
||||||
|
timeValue: "",
|
||||||
|
endDateRange: "",//报名截止日期筛选
|
||||||
|
beginTimeValue: "",//开始时间筛选
|
||||||
|
successTimeValue: "",//完成时间筛选
|
||||||
|
page: {
|
||||||
|
pageSize: 20,
|
||||||
|
currentPage: 1,
|
||||||
|
total: 0
|
||||||
|
},
|
||||||
|
mStatusList: [
|
||||||
|
{value: 1, label: "招聘中"},
|
||||||
|
{value: 2, label: "任务中"},
|
||||||
|
{value: 3, label: "已完成"},
|
||||||
|
{value: 4, label: "已失效"},
|
||||||
|
{
|
||||||
|
label: "审核未通过",
|
||||||
|
value: 9,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
search: Object.assign({}, searchData),
|
||||||
|
depTree: [],
|
||||||
|
timeScreenTerm: [{
|
||||||
|
value: 1,
|
||||||
|
label: '报名截止日期',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 2,
|
||||||
|
label: '开始日期',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 3,
|
||||||
|
label: '完成日期',
|
||||||
|
}],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
WaitingMission,
|
||||||
|
OngoingMission,
|
||||||
|
FinishedMission,
|
||||||
|
ExpiredMission
|
||||||
|
},
|
||||||
|
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: 'jobName',
|
||||||
|
span: 6,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '地址',
|
||||||
|
prop: 'address',
|
||||||
|
placeholder: "请输入地址",
|
||||||
|
span: 6,
|
||||||
|
}, {
|
||||||
|
label: '岗位工种',
|
||||||
|
prop: 'worktypeNames',
|
||||||
|
span: 6,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '审核状态',
|
||||||
|
prop: 'reviewState',
|
||||||
|
type: 'select',
|
||||||
|
dicData: recruitStatus,
|
||||||
|
span: 6,
|
||||||
|
}, {
|
||||||
|
label: '学历',
|
||||||
|
prop: 'education',
|
||||||
|
type: 'select',
|
||||||
|
dicData: educationState,
|
||||||
|
span: 6,
|
||||||
|
},
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {},
|
||||||
|
created() {
|
||||||
|
this.getDept()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async getDept() {
|
||||||
|
let params = {
|
||||||
|
tenantId: '000000'
|
||||||
|
}
|
||||||
|
let resData = await getDeptMyTree(params)
|
||||||
|
if (resData.data.code === 200) {
|
||||||
|
this.depTree = resData.data.data
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleSearch(from, done) {
|
||||||
|
let params = this.$api.filterObject(this.search)
|
||||||
|
if (this.search.time) {
|
||||||
|
params.stime = this.search.time[0],
|
||||||
|
params.etime = this.search.time[1]
|
||||||
|
}
|
||||||
|
this.$nextTick(() => {
|
||||||
|
if (this.search.status === 1) {
|
||||||
|
this.$refs.waiting.onLoad(this.page, params);
|
||||||
|
} else if (this.search.status === 2) {
|
||||||
|
this.$refs.onging.onLoad(this.page, params);
|
||||||
|
} else if (this.search.status === 3) {
|
||||||
|
this.$refs.finished.onLoad(this.page, params);
|
||||||
|
} else if (this.search.status === 4) {
|
||||||
|
this.$refs.expired.onLoad(this.page, params);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
done && done()
|
||||||
|
},
|
||||||
|
date() {
|
||||||
|
this.dateChange(this.timeValue)
|
||||||
|
},
|
||||||
|
dateChange(val) {
|
||||||
|
console.log(val)
|
||||||
|
// if (val) {
|
||||||
|
// this.search.stime = val[0] + " 00:00:00";
|
||||||
|
// this.search.etime = val[1] + " 23:59:59";
|
||||||
|
// } else {
|
||||||
|
// this.search.stime = '';
|
||||||
|
// this.search.etime = '';
|
||||||
|
// }
|
||||||
|
switch (this.search.state) {
|
||||||
|
case 1:
|
||||||
|
return this.endDateChange(val)
|
||||||
|
case 2:
|
||||||
|
return this.beginDateChange(val);
|
||||||
|
case 3:
|
||||||
|
return this.successDateChange(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
handleClear() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.search = Object.assign({}, searchData)
|
||||||
|
this.handleSearch()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 开始时间
|
||||||
|
beginDateChange(val) {
|
||||||
|
if (val) {
|
||||||
|
this.clearDateTime()
|
||||||
|
this.search.stimeBeginTime = val[0] + " 00:00:00";
|
||||||
|
this.search.stimeEndTime = val[1] + " 23:59:59";
|
||||||
|
} else {
|
||||||
|
this.search.stimeBeginTime = '';
|
||||||
|
this.search.stimeEndTime = '';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 完成时间
|
||||||
|
successDateChange(val) {
|
||||||
|
if (val) {
|
||||||
|
this.clearDateTime()
|
||||||
|
this.search.etimeBeninTime = val[0] + " 00:00:00";
|
||||||
|
this.search.etimeEndTime = val[1] + " 23:59:59";
|
||||||
|
} else {
|
||||||
|
this.search.etimeBeninTime = '';
|
||||||
|
this.search.etimeEndTime = '';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 报名截止时间
|
||||||
|
endDateChange(val) {
|
||||||
|
if (val) {
|
||||||
|
this.clearDateTime()
|
||||||
|
this.search.etimePubBeginTime = val[0] + " 00:00:00";
|
||||||
|
this.search.etimePubEndTime = val[1] + " 23:59:59";
|
||||||
|
} else {
|
||||||
|
this.search.etimePubBeginTime = '';
|
||||||
|
this.search.etimePubEndTime = '';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 清楚多余时间参数
|
||||||
|
clearDateTime() {
|
||||||
|
this.search.etimePubBeginTime = '';
|
||||||
|
this.search.etimePubEndTime = '';
|
||||||
|
this.search.etimeBeninTime = '';
|
||||||
|
this.search.etimeEndTime = '';
|
||||||
|
this.search.stimeBeginTime = '';
|
||||||
|
this.search.stimeEndTime = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.el-form-item {
|
||||||
|
margin-bottom: 18px !important;
|
||||||
|
margin-right: 10px !important;
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.searchBtn {
|
||||||
|
display: inline-block;
|
||||||
|
margin-bottom: 18px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container>
|
<basic-container>
|
||||||
<!--搜索栏-->
|
<!--搜索栏-->
|
||||||
<avue-form :option="searchOption" v-model="search" @submit="handleSearch" @reset-change="handleClear"></avue-form>
|
<avue-form :option="searchOption1" v-model="search" @submit="handleSearch" @reset-change="handleClear"></avue-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>
|
||||||
@@ -89,7 +89,7 @@ export default {
|
|||||||
span: 6,
|
span: 6,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '岗位名称',
|
label: '用工单位',
|
||||||
prop: 'jobName',
|
prop: 'jobName',
|
||||||
span: 6,
|
span: 6,
|
||||||
},
|
},
|
||||||
@@ -118,6 +118,35 @@ export default {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
searchOption1() {
|
||||||
|
return {
|
||||||
|
menuSpan: 6,
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
label: "所属机构",
|
||||||
|
prop: "deptId",
|
||||||
|
type: "tree",
|
||||||
|
multiple: false,
|
||||||
|
dicData: this.depTree,
|
||||||
|
props: {
|
||||||
|
label: "title",
|
||||||
|
value: 'value'
|
||||||
|
},
|
||||||
|
span: 6,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '用工单位',
|
||||||
|
prop: 'jobName',
|
||||||
|
span: 6,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '单位信用代码',
|
||||||
|
prop: 'jobCompanyScale',
|
||||||
|
span: 6,
|
||||||
|
},
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {},
|
watch: {},
|
||||||
|
|||||||
@@ -161,16 +161,16 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col span="8">
|
<el-col span="8">
|
||||||
<el-form-item label="联系方式:">{{
|
<el-form-item label="联系方式:">{{
|
||||||
model.callTel
|
model.callNumber
|
||||||
}}
|
}}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col span="8">
|
<!-- <el-col span="8">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<label slot="label">座 机:</label>
|
<label slot="label">座 机:</label>
|
||||||
{{ model.callNumber }}
|
{{ model.callTel }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col> -->
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col span="24">
|
<el-col span="24">
|
||||||
|
|||||||
Reference in New Issue
Block a user