<link rel="icon" type="image/svg+xml" href="/logo_1.jpg" /> | <link rel="icon" type="image/svg+xml" href="/logo_1.jpg" /> | ||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
<title>菊城人才市场后台管理</title> | <title>菊城人才市场后台管理</title> | ||||
<script type="module" crossorigin src="/assets/index-BZg64ot1.js"></script> | |||||
<script type="module" crossorigin src="/assets/index-ZgclrScg.js"></script> | |||||
<link rel="stylesheet" crossorigin href="/assets/index-DSahY579.css"> | <link rel="stylesheet" crossorigin href="/assets/index-DSahY579.css"> | ||||
</head> | </head> | ||||
<body> | <body> |
export const addCompany = postModel(url.companyAdd); | export const addCompany = postModel(url.companyAdd); | ||||
export const getCompanyList = getModel(url.companyList); | export const getCompanyList = getModel(url.companyList); | ||||
export const updateCompany = postModel(url.companyEdit); | export const updateCompany = postModel(url.companyEdit); | ||||
export const GetCompanyRecruiters = getModel(url.CompanyRecruiters); | |||||
export const PostCompanyTurnJobseeker = postModel(url.CompanyTurnJobseeker); | |||||
// VIP | // VIP | ||||
export const PostCompanyVipmanage = postModel(url.companyVipmanage); | export const PostCompanyVipmanage = postModel(url.companyVipmanage); | ||||
export const GetCompanyInfo = getModel(url.companyInfo); | export const GetCompanyInfo = getModel(url.companyInfo); |
companyJobEdit : String, | companyJobEdit : String, | ||||
companyJobList : String, | companyJobList : String, | ||||
companyJobInfo : String, | companyJobInfo : String, | ||||
CompanyRecruiters : String, | |||||
CompanyTurnJobseeker: String, | |||||
companyDepartmentAdd : String, | companyDepartmentAdd : String, | ||||
companyDepartmentEdit : String, | companyDepartmentEdit : String, |
companyJobEdit: admin + '/company/job_edit', | companyJobEdit: admin + '/company/job_edit', | ||||
companyJobList: admin + '/company/job_list', | companyJobList: admin + '/company/job_list', | ||||
companyJobInfo: admin + '/company/job_info', | companyJobInfo: admin + '/company/job_info', | ||||
CompanyRecruiters: admin + '/company/recruiters', | |||||
CompanyTurnJobseeker: admin + '/company/turn_jobseeker', | |||||
companyDepartmentAdd: admin + '/company/department_add', | companyDepartmentAdd: admin + '/company/department_add', | ||||
companyDepartmentEdit: admin + '/company/department_edit', | companyDepartmentEdit: admin + '/company/department_edit', |
const getShowPositionModel = (state : object, payload : object) => { | const getShowPositionModel = (state : object, payload : object) => { | ||||
state.showPositionModel = payload.showPositionModel; | state.showPositionModel = payload.showPositionModel; | ||||
} | } | ||||
// 查看HR | |||||
const getShowBindModel = (state : object, payload : object) => { | |||||
state.showBindModel = payload.showBindModel; | |||||
} | |||||
// 查看公司 | // 查看公司 | ||||
const getShowCompanyModel = (state : object, payload : object) => { | const getShowCompanyModel = (state : object, payload : object) => { | ||||
getSearchModel, | getSearchModel, | ||||
getShowDepartmentModel, | getShowDepartmentModel, | ||||
getShowPositionModel, | getShowPositionModel, | ||||
getShowBindModel, | |||||
getShowCompanyModel, | getShowCompanyModel, | ||||
getShowAddCompanyModel, | getShowAddCompanyModel, | ||||
} | } |
openOtherModel_1: false, | openOtherModel_1: false, | ||||
showDepartmentModel: false, | showDepartmentModel: false, | ||||
showPositionModel: false, | showPositionModel: false, | ||||
showBindModel: false, | |||||
showCompanyModel: false, | showCompanyModel: false, | ||||
showAddCompanyModel: false, | showAddCompanyModel: false, | ||||
openSearchModel: false // 搜索 | openSearchModel: false // 搜索 |
openOtherModel_1: Boolean, | openOtherModel_1: Boolean, | ||||
showDepartmentModel: Boolean, | showDepartmentModel: Boolean, | ||||
showPositionModel: Boolean, | showPositionModel: Boolean, | ||||
showBindModel: Boolean, | |||||
showCompanyModel: Boolean, | showCompanyModel: Boolean, | ||||
showAddCompanyModel: Boolean, | showAddCompanyModel: Boolean, | ||||
openSearchModel: Boolean | openSearchModel: Boolean |
export const cols = <ColType.type[]>[ | |||||
{ | |||||
title: '账号', | |||||
dataIndex: 'username' | |||||
}, { | |||||
title: '手机号', | |||||
dataIndex: 'mobile' | |||||
}, { | |||||
title: '绑定时间', | |||||
dataIndex: 'updated_at', | |||||
},{ | |||||
title: '操作', | |||||
dataIndex: 'operation', | |||||
slots: { customRender: 'operation' }, | |||||
width: 400 | |||||
} | |||||
]; |
<template> | |||||
<a-modal v-model:visible="showBindModel" title="管理已经授权的账号" @cancel="cancelModal" width="80%" :footer="null"> | |||||
<a-c-table :data="commomParams.table.data" :columns="commomParams.table.columns" :pagination="commomParams.page" | |||||
@page="getPage" :loading="loading"> | |||||
<template #default="{ record }"> | |||||
<a-row :gutter="10"> | |||||
<a-popconfirm title="是否要解除授权?" @confirm="unBind(record)"> | |||||
<a-col><a-button type="primary" size="small" danger>解除授权</a-button></a-col> | |||||
</a-popconfirm> | |||||
</a-row> | |||||
</template> | |||||
</a-c-table> | |||||
</a-modal> | |||||
</template> | |||||
<script setup lang="ts"> | |||||
import { ref, onMounted, computed, defineProps, watch, defineEmits } from 'vue'; | |||||
import { GetCompanyRecruiters, PostCompanyTurnJobseeker, PostRecruitmentBookDel } from '@/apis/models'; | |||||
import { useCommon } from '@/hooks/useCommon'; | |||||
import { cols } from '@/views/company/list/bind/columns.ts'; | |||||
import { message } from 'ant-design-vue'; | |||||
let { store, commomParams } = useCommon(); | |||||
const emit = defineEmits(); | |||||
let props = defineProps(['bind_record']); | |||||
let loading = ref<Boolean>(true); | |||||
let showBindModel = computed(() => { | |||||
return store.state.showBindModel; | |||||
}) | |||||
let bind_record = ref<Object>({}); | |||||
watch(() => props.bind_record, (newVal1) => { | |||||
bind_record.value = newVal1; | |||||
// commomParams.value.search.id = newVal1.id; | |||||
getData() | |||||
}) | |||||
const getData = async (val) => { | |||||
try { | |||||
loading.value = true; | |||||
let res = await GetCompanyRecruiters(commomParams.value.search); | |||||
loading.value = false; | |||||
commomParams.value.table.data = res.data.customers; | |||||
commomParams.value.table.columns = cols; | |||||
commomParams.value.page = { | |||||
current: commomParams.value.search.page, | |||||
pageSize: commomParams.value.search.pagesize, | |||||
total: res.data.total, | |||||
pageSizeOptions: ['10', '20', '30', '40'], | |||||
hideOnSinglePage: false, | |||||
showSizeChanger: true, | |||||
recruitment_id: bind_record.value.id | |||||
}; | |||||
} catch { | |||||
loading.value = false; | |||||
} | |||||
} | |||||
const getPage = (data : object) => { | |||||
commomParams.value.search.page = data.current; | |||||
commomParams.value.search.pagesize = data.pageSize; | |||||
getData(); | |||||
} | |||||
const cancelModal = () => { | |||||
store.commit('getShowBindModel', { | |||||
showBindModel: false | |||||
}) | |||||
} | |||||
// 移除 | |||||
const unBind = (record) => { | |||||
PostCompanyTurnJobseeker({company_id:record.company_id, customer_id: record.id, role: 1}).then(res => { | |||||
message.success('解除授权成功'); | |||||
getData(); | |||||
}) | |||||
} | |||||
</script> | |||||
<style> | |||||
</style> |
slots: { | slots: { | ||||
customRender: 'operation' | customRender: 'operation' | ||||
}, | }, | ||||
width: 300, | |||||
width: 400, | |||||
fixed: 'right', | fixed: 'right', | ||||
} | } | ||||
]; | ]; |
@click="showDepartment(record)">查看部门</a-button></a-col> | @click="showDepartment(record)">查看部门</a-button></a-col> | ||||
<a-col><a-button type="primary" size="small" primary | <a-col><a-button type="primary" size="small" primary | ||||
@click="showPosition(record)">查看职位</a-button></a-col> | @click="showPosition(record)">查看职位</a-button></a-col> | ||||
<a-col><a-button type="primary" size="small" primary | |||||
@click="showBind(record)">子账号解绑</a-button></a-col> | |||||
</a-row> | </a-row> | ||||
</template> | </template> | ||||
</a-c-table> | </a-c-table> | ||||
<list-add :edit_record="edit_record" @successAdd="successAdd" @closeAdd="closeAdd"></list-add> | <list-add :edit_record="edit_record" @successAdd="successAdd" @closeAdd="closeAdd"></list-add> | ||||
<list-department :department_record="department_record"></list-department> | <list-department :department_record="department_record"></list-department> | ||||
<list-position :position_record="position_record"></list-position> | <list-position :position_record="position_record"></list-position> | ||||
<list-bind :bind_record="bind_record"></list-bind> | |||||
</template> | </template> | ||||
<script lang="ts" setup> | <script lang="ts" setup> | ||||
import ListAdd from '@/views/company/list/add/add.vue'; | import ListAdd from '@/views/company/list/add/add.vue'; | ||||
import ListDepartment from '@/views/company/list/department/index.vue'; | import ListDepartment from '@/views/company/list/department/index.vue'; | ||||
import ListPosition from '@/views/company/list/position/index.vue'; | import ListPosition from '@/views/company/list/position/index.vue'; | ||||
import ListBind from '@/views/company/list/bind/index.vue'; | |||||
import { getCompanyList } from '@/apis/models'; | import { getCompanyList } from '@/apis/models'; | ||||
import { useCommon } from '@/hooks/useCommon'; | import { useCommon } from '@/hooks/useCommon'; | ||||
import { cols } from '@/views/company/list/columns'; | import { cols } from '@/views/company/list/columns'; | ||||
import { router } from '@/router'; | |||||
import { router } from '@/router'; | |||||
let { store, commomParams, showModal, showOtherModal1, imageprefix, message } = useCommon(); | let { store, commomParams, showModal, showOtherModal1, imageprefix, message } = useCommon(); | ||||
let loading = ref<Boolean>(true); | let loading = ref<Boolean>(true); | ||||
onMounted(() => { | onMounted(() => { | ||||
// showPositionModel: true | // showPositionModel: true | ||||
// }) | // }) | ||||
} | } | ||||
let bind_record = ref<Object>(null) | |||||
const showBind = (record : object) => { | |||||
bind_record.value = record; | |||||
store.commit('getShowBindModel', { | |||||
showBindModel: true | |||||
}) | |||||
} | |||||
// 删除 | // 删除 | ||||
// const delOneRole = (id: number) => { | // const delOneRole = (id: number) => { |