<meta charset="UTF-8" /> | <meta charset="UTF-8" /> | ||||
<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> | |||||
<script type="module" crossorigin src="/assets/index-fDuc1V1b.js"></script> | |||||
<title>菊城人才市场后台管理</title> | |||||
<script type="module" crossorigin src="/assets/index-03Q9IgGe.js"></script> | |||||
<link rel="stylesheet" crossorigin href="/assets/index-7KXeZgtg.css"> | <link rel="stylesheet" crossorigin href="/assets/index-7KXeZgtg.css"> | ||||
</head> | </head> | ||||
<body> | <body> |
<meta charset="UTF-8" /> | <meta charset="UTF-8" /> | ||||
<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> | |||||
</head> | </head> | ||||
<body> | <body> | ||||
<div id="app"></div> | <div id="app"></div> |
window.location.reload(); | window.location.reload(); | ||||
router.replace('/login'); | router.replace('/login'); | ||||
case 403: | case 403: | ||||
// message.warning(response.data.msg); | |||||
message.warning(response.data.msg); | |||||
break; | break; | ||||
case 600: | case 600: | ||||
if(response.data.errors) { | if(response.data.errors) { | ||||
const resData = res; | const resData = res; | ||||
typeHelper.isFunction(cb) && cb(resData); | typeHelper.isFunction(cb) && cb(resData); | ||||
}).catch(err => { | }).catch(err => { | ||||
// cb(err.response) | |||||
cb(err.response) | |||||
}) | }) | ||||
} | } |
import 'dayjs/locale/zh-cn'; | import 'dayjs/locale/zh-cn'; | ||||
dayjs.locale('zh-cn'); | dayjs.locale('zh-cn'); | ||||
import { message } from 'ant-design-vue'; | import { message } from 'ant-design-vue'; | ||||
import { ExclamationCircleOutlined } from '@ant-design/icons-vue'; | |||||
import { Modal } from 'ant-design-vue'; | |||||
interface CommonInterface { | interface CommonInterface { | ||||
model ?: CommonType.ModelType, | model ?: CommonType.ModelType, | ||||
dayjs, | dayjs, | ||||
richOption, | richOption, | ||||
message, | message, | ||||
ExclamationCircleOutlined, | |||||
Modal, | |||||
disabledDate, | disabledDate, | ||||
imageprefix, | imageprefix, | ||||
openSearchModel, | openSearchModel, |
state, | state, | ||||
commit | commit | ||||
}) { | }) { | ||||
try { | |||||
state.arrresult = []; | |||||
let res = await GetUserMenulist(); | |||||
res.data.menulist.map(item => { | |||||
pushItem(item) | |||||
}) | |||||
let arr = state.arrresult; | |||||
// let arr = ['permission', 'role', 'account', 'company', 'vip', 'member', 'homemake', 'homemakeType', 'homemakePosition', 'homemakeDemand', 'homemakeAppointment', 'job', 'department', 'jobSeeker', 'jobResume', 'jobFair', 'jobFairList', 'jobFairCompany', 'information', 'section', 'article', 'list', 'putIn', 'advertisementList', 'advertisement', 'activity', 'activityList', 'activityAddress', 'statistics', 'statisticsResume', 'statisticsResumeMajor','statisticsResumeAgeSex','statisticsResumeCertificateSkill','statisticsResumeEducation','statisticsResumeHolidaysAccommodation','statisticsResumeJobIntention','statisticsResumeTitleSkill','statisticsResumeWorkExperience']; | |||||
let routes = routerDynamic(routesModuleList, arr); | |||||
LayoutRoute.children.push(...routes); | |||||
commit('SET_MENU', LayoutRoute.children); | |||||
routerAdd(LayoutRoute); | |||||
let initialRoutes = routerInit(); | |||||
commit('SET_PERMISSION', [...initialRoutes]); | |||||
} catch(err) { | |||||
console.log(err) | |||||
message.error(err.data.msg, 3, onClose); | |||||
debugger | |||||
} | |||||
let res = await GetUserMenulist().catch((error) => { | |||||
setTimeout(() => { | |||||
sessionStorage.clear() | |||||
routerTo('/login') | |||||
window.location.reload() | |||||
}, 1500); | |||||
}); | |||||
res.data.menulist.map(item => { | |||||
pushItem(item) | |||||
}) | |||||
let arr = state.arrresult; | |||||
// let arr = ['permission', 'role', 'account', 'company', 'vip', 'member', 'homemake', 'homemakeType', 'homemakePosition', 'homemakeDemand', 'homemakeAppointment', 'job', 'department', 'jobSeeker', 'jobResume', 'jobFair', 'jobFairList', 'jobFairCompany', 'information', 'section', 'article', 'list', 'putIn', 'advertisementList', 'advertisement', 'activity', 'activityList', 'activityAddress', 'statistics', 'statisticsResume', 'statisticsResumeMajor','statisticsResumeAgeSex','statisticsResumeCertificateSkill','statisticsResumeEducation','statisticsResumeHolidaysAccommodation','statisticsResumeJobIntention','statisticsResumeTitleSkill','statisticsResumeWorkExperience']; | |||||
let routes = routerDynamic(routesModuleList, arr); | |||||
LayoutRoute.children.push(...routes); | |||||
commit('SET_MENU', LayoutRoute.children); | |||||
routerAdd(LayoutRoute); | |||||
let initialRoutes = routerInit(); | |||||
commit('SET_PERMISSION', [...initialRoutes]); | |||||
} | } | ||||
}; | }; | ||||
} | } | ||||
const pushItem = (item : Object) => { | const pushItem = (item : Object) => { | ||||
state.arrresult.push({action:item.action, name:item.name}) | |||||
state.arrresult.push({ action: item.action, name: item.name }) | |||||
if (item.childs) { | if (item.childs) { | ||||
for (const child of item.childs) { | for (const child of item.childs) { | ||||
pushItem(child) | pushItem(child) |
commomParams.value.search.cate = ''; | commomParams.value.search.cate = ''; | ||||
watch(() => props.search_params, (newVal) => { | watch(() => props.search_params, (newVal) => { | ||||
emit('searchData', commomParams.value.search) | emit('searchData', commomParams.value.search) | ||||
}, { | |||||
immediate: true | |||||
}) | }) | ||||
const getData = () => { | const getData = () => { |
watch(() => props.search_params, (newVal) => { | watch(() => props.search_params, (newVal) => { | ||||
emit('searchData', commomParams.value.search) | emit('searchData', commomParams.value.search) | ||||
}, { | |||||
immediate: true | |||||
}) | }) | ||||
const getData = () => { | const getData = () => { |
watch(() => props.search_params, (newVal) => { | watch(() => props.search_params, (newVal) => { | ||||
emit('searchData', commomParams.value.search) | emit('searchData', commomParams.value.search) | ||||
}, { | |||||
immediate: true | |||||
}) | }) | ||||
const getData = () => { | const getData = () => { |
commomParams.value.search.company_id = 0; | commomParams.value.search.company_id = 0; | ||||
watch(() => props.search_params, (newVal) => { | watch(() => props.search_params, (newVal) => { | ||||
emit('searchData', commomParams.value.search) | emit('searchData', commomParams.value.search) | ||||
}, { | |||||
immediate: true | |||||
}) | }) | ||||
const getData = () => { | const getData = () => { |
watch(() => props.search_params, (newVal) => { | watch(() => props.search_params, (newVal) => { | ||||
emit('searchData', commomParams.value.search) | emit('searchData', commomParams.value.search) | ||||
},{ | |||||
immediate: true | |||||
}) | }) | ||||
const getData = () => { | const getData = () => { |
watch(() => props.search_params, (newVal) => { | watch(() => props.search_params, (newVal) => { | ||||
emit('searchData', commomParams.value.search) | emit('searchData', commomParams.value.search) | ||||
},{ | |||||
immediate: true | |||||
}) | }) | ||||
const getData = () => { | const getData = () => { |
watch(() => props.search_params, (newVal) => { | watch(() => props.search_params, (newVal) => { | ||||
emit('searchData', commomParams.value.search) | emit('searchData', commomParams.value.search) | ||||
}, { | |||||
immediate: true | |||||
}) | }) | ||||
const getData = () => { | const getData = () => { |
watch(() => props.search_params, (newVal) => { | watch(() => props.search_params, (newVal) => { | ||||
emit('searchData', commomParams.value.search) | emit('searchData', commomParams.value.search) | ||||
}, { | |||||
immediate: true | |||||
}) | }) | ||||
const getData = () => { | const getData = () => { |
<a-row :gutter="10"> | <a-row :gutter="10"> | ||||
<!-- <a-col><a-button type="primary" size="small" primary @click="edit(record)">编辑</a-button></a-col> --> | <!-- <a-col><a-button type="primary" size="small" primary @click="edit(record)">编辑</a-button></a-col> --> | ||||
<a-col><a-button type="primary" size="small" primary @click="detail(record)">预览</a-button></a-col> | <a-col><a-button type="primary" size="small" primary @click="detail(record)">预览</a-button></a-col> | ||||
<a-col><a-button type="primary" size="small" primary @click="audit(record)">审核</a-button></a-col> | |||||
</a-row> | </a-row> | ||||
</template> | </template> | ||||
</a-c-table> | </a-c-table> | ||||
</template> | </template> | ||||
<script lang="ts" setup> | <script lang="ts" setup> | ||||
import { ref, onMounted, watch, computed } from 'vue'; | |||||
import { ref, onMounted, watch, computed , createVNode} from 'vue'; | |||||
import ResumeSearch from '@/views/jobSeeker/resume/search/index.vue'; | import ResumeSearch from '@/views/jobSeeker/resume/search/index.vue'; | ||||
// import ResumeAdd from '@/views/jobSeeker/resume/add/add.vue'; | // import ResumeAdd from '@/views/jobSeeker/resume/add/add.vue'; | ||||
import ResumeDetail from '@/views/jobSeeker/resume/detail/detail.vue'; | import ResumeDetail from '@/views/jobSeeker/resume/detail/detail.vue'; | ||||
import { PostJobseekerList } from '@/apis/models'; | |||||
import { PostJobseekerList } from '@/apis/models'; | |||||
import { useCommon } from '@/hooks/useCommon'; | import { useCommon } from '@/hooks/useCommon'; | ||||
import { cols } from '@/views/jobSeeker/resume/columns'; | import { cols } from '@/views/jobSeeker/resume/columns'; | ||||
import { message } from 'ant-design-vue'; | import { message } from 'ant-design-vue'; | ||||
let { store, commomParams, showModal, showOtherModal1 } = useCommon(); | |||||
let { store, commomParams, showModal, showOtherModal1, message, ExclamationCircleOutlined, Modal } = useCommon(); | |||||
let loading = ref<Boolean>(true); | let loading = ref<Boolean>(true); | ||||
onMounted(() => { | onMounted(() => { | ||||
getData(); | getData(); | ||||
}) | }) | ||||
const searchData = (data : object) => { | const searchData = (data : object) => { | ||||
commomParams.value.search = data | commomParams.value.search = data | ||||
getData(); | getData(); | ||||
} | } | ||||
const clearData = (data : object) => { | const clearData = (data : object) => { | ||||
if(data) { | |||||
if (data) { | |||||
commomParams.value.search = data | commomParams.value.search = data | ||||
} else { | } else { | ||||
commomParams.value.search = { | commomParams.value.search = { | ||||
page : 1, | |||||
pagesize : 10, | |||||
sort : 'id', | |||||
sortby : 'asc', | |||||
keyword : '' | |||||
page: 1, | |||||
pagesize: 10, | |||||
sort: 'id', | |||||
sortby: 'asc', | |||||
keyword: '' | |||||
} | } | ||||
} | } | ||||
getData(); | getData(); | ||||
} | } | ||||
const getPage = (data:object) => { | |||||
const getPage = (data : object) => { | |||||
commomParams.value.search.page = data.current; | commomParams.value.search.page = data.current; | ||||
commomParams.value.search.pagesize = data.pageSize; | commomParams.value.search.pagesize = data.pageSize; | ||||
getData(); | getData(); | ||||
loading.value = false; | loading.value = false; | ||||
} | } | ||||
} | } | ||||
// 编辑 | // 编辑 | ||||
let edit_record = ref<Object>(null) | let edit_record = ref<Object>(null) | ||||
const edit = (record: object) => { | |||||
const edit = (record : object) => { | |||||
edit_record.value = record; | edit_record.value = record; | ||||
showModal() | showModal() | ||||
} | } | ||||
const closeAdd = () => { | const closeAdd = () => { | ||||
edit_record.value = null; | edit_record.value = null; | ||||
} | } | ||||
// 删除 | // 删除 | ||||
const delOneRole = (id: number) => { | |||||
const delOneRole = (id : number) => { | |||||
commomParams.value.delRecord = { id: id }; | commomParams.value.delRecord = { id: id }; | ||||
PostRoleDel(commomParams.value.delRecord).then(res => { | PostRoleDel(commomParams.value.delRecord).then(res => { | ||||
message.success('删除成功'); | message.success('删除成功'); | ||||
getData(); | getData(); | ||||
}) | }) | ||||
} | } | ||||
// 审核 | |||||
const audit = (id) => { | |||||
Modal.confirm({ | |||||
title: '是否要放入回收站', | |||||
icon: createVNode(ExclamationCircleOutlined), | |||||
onOk() { | |||||
}, | |||||
onCancel() { | |||||
}, | |||||
}); | |||||
} | |||||
let detail_record = ref<Object>(null) | let detail_record = ref<Object>(null) | ||||
const detail = (record) => { | const detail = (record) => { | ||||
detail_record.value = record; | detail_record.value = record; |