| @@ -1 +1 @@ | |||
| import{_ as r,r as s,o as d,c as p,a as e,b as a,w as c,d as l,p as i,e as u}from"./index-99QysjhH.js";const h={},t=o=>(i("data-v-80d1ee2a"),o=o(),u(),o),m={class:"nopage"},f=t(()=>e("span",{style:{color:"#0074D9"}},"4",-1)),v=t(()=>e("span",{style:{color:"#67C23A"}},"0",-1)),x=t(()=>e("span",{style:{color:"#0074D9"}},"4",-1)),y=t(()=>e("p",null,"你页面走丢了~",-1));function b(o,k){const n=s("a-button"),_=s("router-link");return d(),p("div",m,[f,v,x,e("div",null,[y,e("p",null,[a(_,{to:"/job/home"},{default:c(()=>[a(n,{type:"primary"},{default:c(()=>[l("返回首页")]),_:1})]),_:1})])])])}const w=r(h,[["render",b],["__scopeId","data-v-80d1ee2a"]]);export{w as default}; | |||
| import{_ as r,r as s,o as d,c as p,a as e,b as a,w as c,d as l,p as i,e as u}from"./index-NWfeI8Y3.js";const h={},t=o=>(i("data-v-80d1ee2a"),o=o(),u(),o),m={class:"nopage"},f=t(()=>e("span",{style:{color:"#0074D9"}},"4",-1)),v=t(()=>e("span",{style:{color:"#67C23A"}},"0",-1)),x=t(()=>e("span",{style:{color:"#0074D9"}},"4",-1)),y=t(()=>e("p",null,"你页面走丢了~",-1));function b(o,k){const n=s("a-button"),_=s("router-link");return d(),p("div",m,[f,v,x,e("div",null,[y,e("p",null,[a(_,{to:"/job/home"},{default:c(()=>[a(n,{type:"primary"},{default:c(()=>[l("返回首页")]),_:1})]),_:1})])])])}const w=r(h,[["render",b],["__scopeId","data-v-80d1ee2a"]]);export{w as default}; | |||
| @@ -6,8 +6,8 @@ | |||
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |||
| <script src="https://map.qq.com/api/gljs?v=1.exp&key=MPBBZ-HUICZ-EGRXB-7AHZI-R4GQZ-QWBSO"></script> | |||
| <title>菊城人才网</title> | |||
| <script type="module" crossorigin src="/assets/index-99QysjhH.js"></script> | |||
| <link rel="stylesheet" crossorigin href="/assets/index-zqqQnvu9.css"> | |||
| <script type="module" crossorigin src="/assets/index-NWfeI8Y3.js"></script> | |||
| <link rel="stylesheet" crossorigin href="/assets/index-SrxA0nSF.css"> | |||
| </head> | |||
| <body> | |||
| <div id="app"></div> | |||
| @@ -64,7 +64,7 @@ export const PostCompanyRecrBookList = getModel(url.CompanyRecrBookList); // 已 | |||
| // 反馈 | |||
| export const PostFeedbackAdd = postModel(url.FeedbackAdd); // 新增部门 | |||
| export const PostFeedbackDel = postModel(url.FeedbackDel); // 编辑部门 | |||
| export const GetFeedbackUpdate = getModel(url.FeedbackUpdate); // 部门列表 | |||
| export const PostFeedbackUpdate = postModel(url.FeedbackUpdate); // 部门列表 | |||
| export const GetFeedbackList = getModel(url.FeedbackList); // 部门删除 | |||
| export const GetFeedbackDetail = getModel(url.FeedbackDetail); // 已预定招聘会列表 | |||
| @@ -13,7 +13,7 @@ declare namespace urlType { | |||
| CompanyLoginByMobile: String, | |||
| Jobseekerlogin: String, | |||
| JobseekerResetPwd: String, | |||
| // 招聘会 | |||
| RecruitmentBookcompany : String, | |||
| RecruitmentList : String, | |||
| @@ -609,4 +609,6 @@ | |||
| background-color: #4FBE70 !important; | |||
| border-color: #4FBE70 !important; | |||
| } | |||
| </style> | |||
| @@ -12,13 +12,13 @@ export const cols = <ColType.type[]>[ | |||
| }, | |||
| { | |||
| title: '应聘职位', | |||
| dataIndex: 'job_name', | |||
| key: 'job_name', | |||
| dataIndex: 'desired_position_text', | |||
| key: 'desired_position_text', | |||
| }, | |||
| { | |||
| title: '学历', | |||
| dataIndex: 'education_txt', | |||
| key: 'education_txt', | |||
| dataIndex: 'education_text', | |||
| key: 'education_text', | |||
| }, | |||
| { | |||
| title: '期望工作地', | |||
| @@ -32,8 +32,8 @@ export const cols = <ColType.type[]>[ | |||
| }, | |||
| { | |||
| title: '联系方式', | |||
| dataIndex: 'mobile', | |||
| key: 'mobile', | |||
| dataIndex: ['contact', 'mobile'], | |||
| key: (record: Object) => record.contact.mobile, | |||
| },{ | |||
| title: '操作', | |||
| dataIndex: 'operation', | |||
| @@ -11,9 +11,6 @@ | |||
| <a-menu-item key="1"> | |||
| <a-button @click="detail(record)" block>预览简历</a-button> | |||
| </a-menu-item> | |||
| <a-menu-item key="2"> | |||
| <a-button @click="edit(record)" block>查看联系方式</a-button> | |||
| </a-menu-item> | |||
| </a-menu> | |||
| </template> | |||
| <a-button> | |||
| @@ -3,15 +3,15 @@ | |||
| <a-row :gutter="20"> | |||
| <a-col span="6"> | |||
| <a-form-item> | |||
| <a-input-search v-model:value="commomParams.search.keyword" placeholder="请输入求职者" enter-button="搜索" | |||
| @search="getData" /> | |||
| <a-input-search v-model:value="commomParams.search.customer_name" placeholder="请输入求职者" | |||
| enter-button="搜索" @search="getData" /> | |||
| </a-form-item> | |||
| </a-col> | |||
| <a-col span="6"> | |||
| <a-button type="primary" @click="clearSearch">重置</a-button> | |||
| </a-col> | |||
| </a-row> | |||
| </a-form> | |||
| </a-form> | |||
| </template> | |||
| <script lang="ts" setup> | |||
| @@ -21,7 +21,13 @@ | |||
| let props = defineProps(['search_params']); | |||
| const emit = defineEmits(); | |||
| interface listType { | |||
| customer_name : String | |||
| } | |||
| commomParams.value.search = commomParams.value.search as listType; | |||
| commomParams.value.search.customer_name = ''; | |||
| watch(() => props.search_params, (newVal) => { | |||
| emit('searchData', commomParams.value.search) | |||
| }) | |||
| @@ -39,13 +45,9 @@ | |||
| sortby: 'asc', | |||
| keyword: '' | |||
| } | |||
| commomParams.value.search.customer_name = ''; | |||
| emit('clearData', commomParams.value.search) | |||
| } | |||
| </script> | |||
| <style> | |||
| @@ -3,38 +3,15 @@ | |||
| <a-row :gutter="20"> | |||
| <a-col span="6"> | |||
| <a-form-item> | |||
| <a-select v-model:value="commomParams.search.department_id" @change="departmentChange" | |||
| placeholder="请进行搜索选择部门" show-search :filter-option="false" label-in-value | |||
| @search="departmentSearch"> | |||
| <a-select-option v-for="item in department_list" :key="item.id" :value="item.id" | |||
| :label="item.name" label-in-value>{{item.name}}</a-select-option> | |||
| </a-select> | |||
| </a-form-item> | |||
| </a-col> | |||
| <a-col span="6"> | |||
| <a-form-item> | |||
| <a-select v-model:value="commomParams.search.job_id" @change="jobChange" | |||
| placeholder="请进行搜索选择职位" show-search :filter-option="false" label-in-value | |||
| @search="jobSearch"> | |||
| <a-select-option v-for="item in job_list" :key="item.id" :value="item.id" | |||
| :label="item.name" label-in-value>{{item.name}}</a-select-option> | |||
| </a-select> | |||
| </a-form-item> | |||
| </a-col> | |||
| <a-col span="6"> | |||
| <a-form-item> | |||
| <a-select v-model:value="commomParams.search.status" @change="statusChange" | |||
| placeholder="简历查看状态"> | |||
| <a-select-option :key="1">已查看</a-select-option> | |||
| <a-select-option :key="2">未查看</a-select-option> | |||
| </a-select> | |||
| <a-input-search v-model:value="commomParams.search.keyword" placeholder="请输入求职者" enter-button="搜索" | |||
| @search="getData" /> | |||
| </a-form-item> | |||
| </a-col> | |||
| <a-col span="6"> | |||
| <a-button type="primary" @click="clearSearch">重置</a-button> | |||
| </a-col> | |||
| </a-row> | |||
| </a-form> | |||
| </a-form> | |||
| </template> | |||
| <script lang="ts" setup> | |||
| @@ -44,29 +21,21 @@ | |||
| let { commomParams } = useCommon(); | |||
| let props = defineProps(['search_params']); | |||
| const emit = defineEmits(); | |||
| interface listType { | |||
| department_id : String | |||
| job_id : String | |||
| status : String, | |||
| customer_name : String | |||
| } | |||
| commomParams.value.search = commomParams.value.search as listType; | |||
| commomParams.value.search.department_id = null; | |||
| commomParams.value.search.job_id = null; | |||
| commomParams.value.search.status = null; | |||
| commomParams.value.search.customer_name = ''; | |||
| watch(() => props.search_params, (newVal) => { | |||
| emit('searchData', commomParams.value.search) | |||
| }) | |||
| const getData = () => { | |||
| emit('searchData', commomParams.value.search) | |||
| } | |||
| // 清空搜索 | |||
| const clearSearch = () => { | |||
| commomParams.value.search = { | |||
| @@ -76,44 +45,10 @@ | |||
| sortby: 'asc', | |||
| keyword: '' | |||
| } | |||
| commomParams.value.search.customer_name = ''; | |||
| emit('clearData', commomParams.value.search) | |||
| } | |||
| onMounted(() => { | |||
| departmentSearch() | |||
| JobSearch() | |||
| }) | |||
| // 选择部门 | |||
| let department_list = ref<Object[]>([]) | |||
| const departmentSearch = (val) => { | |||
| GetCompanyDepartmentList({pagesize: 100, keyword: val }).then(res => { | |||
| department_list.value = res.data.rows; | |||
| }) | |||
| } | |||
| const departmentChange = (val : Object) => { | |||
| commomParams.value.search.department_id = val.key; | |||
| getData() | |||
| } | |||
| // 选择职位 | |||
| let job_list = ref<Object[]>([]) | |||
| const JobSearch = (val) => { | |||
| PostCompanyJobList({pagesize: 100, keyword: val }).then(res => { | |||
| job_list.value = res.data.list; | |||
| }) | |||
| } | |||
| const jobChange = (val : Object) => { | |||
| commomParams.value.search.job_id = val.key; | |||
| getData() | |||
| } | |||
| const statusChange = (val : Object) => { | |||
| commomParams.value.search.status = val; | |||
| getData() | |||
| } | |||
| </script> | |||
| @@ -0,0 +1,29 @@ | |||
| export let dataForm = { | |||
| name: '', | |||
| address: '', | |||
| telephone: '', | |||
| fax: '', | |||
| postal: '', | |||
| email: '', | |||
| content: '', | |||
| } | |||
| export let otherDataForm = { | |||
| } | |||
| export const reset = () => { | |||
| dataForm = { | |||
| name: '', | |||
| address: '', | |||
| telephone: '', | |||
| fax: '', | |||
| postal: '', | |||
| email: '', | |||
| content: '', | |||
| }; | |||
| otherDataForm = { | |||
| } | |||
| return { dataForm, otherDataForm } | |||
| } | |||
| @@ -1,236 +1,114 @@ | |||
| <template> | |||
| <a-form :model="createForm" :label-col="{span: 4}" labelAlign="right"> | |||
| <a-row gutter="20"> | |||
| <a-form :model="createForm" layout="vertical" class="resume-form"> | |||
| <a-row :gutter="20"> | |||
| <a-col span="12"> | |||
| <a-row> | |||
| <a-col span="24"> | |||
| <a-form-item required label="姓名" name="name"> | |||
| <a-input v-model:value="createForm.name" placeholder="请输入姓名" /> | |||
| </a-form-item> | |||
| </a-col> | |||
| <a-col span="24"> | |||
| <a-form-item required label="电话" name="contact"> | |||
| <a-input v-model:value="createForm.contact" placeholder="请输入联系人" /> | |||
| </a-form-item> | |||
| </a-col> | |||
| <a-col span="24"> | |||
| <a-form-item required label="地址" name="phone"> | |||
| <a-input v-model:value="createForm.phone" placeholder="请输入联系电话" /> | |||
| </a-form-item> | |||
| </a-col> | |||
| <a-col span="24"> | |||
| <a-form-item required label="传真" name="mobile"> | |||
| <a-input v-model:value="createForm.mobile" placeholder="请输入手机" /> | |||
| </a-form-item> | |||
| </a-col> | |||
| <a-col span="24"> | |||
| <a-form-item required label="邮编" name="email"> | |||
| <a-input v-model:value="createForm.email" placeholder="请输入邮箱" /> | |||
| </a-form-item> | |||
| </a-col> | |||
| <a-col span="24"> | |||
| <a-form-item required label="电子邮箱" name="email"> | |||
| <a-input v-model:value="createForm.email" placeholder="请输入邮箱" /> | |||
| </a-form-item> | |||
| </a-col> | |||
| <a-col span="24"> | |||
| <a-form-item required label="反馈内容" name="email"> | |||
| <a-input v-model:value="createForm.email" placeholder="请输入邮箱" /> | |||
| </a-form-item> | |||
| </a-col> | |||
| </a-row> | |||
| <a-form-item label="姓名" name="name"> | |||
| <a-input v-model:value="createForm.name" placeholder="请输入姓名" /> | |||
| </a-form-item> | |||
| </a-col> | |||
| <a-col span="12"> | |||
| <a-form-item label="电话" name="telephone"> | |||
| <a-input v-model:value="createForm.telephone" placeholder="请输入电话" /> | |||
| </a-form-item> | |||
| </a-col> | |||
| <a-col span="12"> | |||
| <a-form-item label="地址" name="address"> | |||
| <a-input v-model:value="createForm.address" placeholder="请输入地址" /> | |||
| </a-form-item> | |||
| </a-col> | |||
| <a-col span="12"> | |||
| <a-form-item label="传真" name="fax"> | |||
| <a-input v-model:value="createForm.fax" placeholder="请输入传真" /> | |||
| </a-form-item> | |||
| </a-col> | |||
| <a-col span="12"> | |||
| <a-form-item label="邮编" name="postal"> | |||
| <a-input v-model:value="createForm.postal" placeholder="请输入邮编" /> | |||
| </a-form-item> | |||
| </a-col> | |||
| <a-col span="12"> | |||
| <a-form-item label="电子邮箱" name="email"> | |||
| <a-input v-model:value="createForm.email" placeholder="请输入邮箱" /> | |||
| </a-form-item> | |||
| </a-col> | |||
| <a-col span="12"> | |||
| <a-form-item label="反馈内容" name="content"> | |||
| <a-input v-model:value="createForm.content" placeholder="请输入反馈内容" /> | |||
| </a-form-item> | |||
| </a-col> | |||
| <a-col span="24"> | |||
| <a-flex justify="flex-end"> | |||
| <a-space> | |||
| <a-button @click="resetForm" size="large">取消</a-button> | |||
| <a-button type="primary" @click="sumbitForm" size="large">保存</a-button> | |||
| </a-space> | |||
| </a-flex> | |||
| </a-col> | |||
| </a-row> | |||
| </a-form> | |||
| </template> | |||
| <script setup lang="ts"> | |||
| import { ref, onMounted, computed } from 'vue'; | |||
| let createForm : companyListType.addrFormType = ref({ | |||
| name: '', | |||
| company_id: 0, | |||
| contact: '', | |||
| phone: '', | |||
| mobile: '', | |||
| email: '', | |||
| import { ref, onMounted, computed, defineProps, watch, defineEmits } from 'vue'; | |||
| import { PostFeedbackAdd, PostFeedbackUpdate , GetFeedbackDetail } from '@/apis/models'; | |||
| import { warnToast, successToast } from '@/utils/toastHelper'; | |||
| import { dataForm, otherDataForm, reset } from '@/components/message/feedback/data.ts'; | |||
| import { useCommon } from '@/hooks/useCommon'; | |||
| let { store, message } = useCommon(); | |||
| let props = defineProps(['edit_id']); | |||
| const emit = defineEmits(); | |||
| let createForm = ref(dataForm) | |||
| onMounted(async () => { | |||
| }) | |||
| let dataSource = ref([ | |||
| { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, | |||
| { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, { | |||
| key: '1', | |||
| name: '第一部部门第一部部门第一部部门', | |||
| age: '王二狗', | |||
| address: '082-12331231', | |||
| phone: '1223245645646', | |||
| email: '6146545@126.com', | |||
| }, | |||
| ]) | |||
| let columns = ref([ | |||
| { | |||
| title: '部门名称', | |||
| dataIndex: 'name', | |||
| key: 'name', | |||
| }, | |||
| { | |||
| title: '联系人', | |||
| dataIndex: 'age', | |||
| key: 'age', | |||
| }, | |||
| { | |||
| title: '联系电话', | |||
| dataIndex: 'address', | |||
| key: 'address', | |||
| }, | |||
| { | |||
| title: '联系手机', | |||
| dataIndex: 'phone', | |||
| key: 'phone', | |||
| }, | |||
| { | |||
| title: '电子邮件', | |||
| dataIndex: 'email', | |||
| key: 'email', | |||
| }, | |||
| { | |||
| title: '操作', | |||
| dataIndex: 'operation', | |||
| slots: { customRender: 'operation' }, | |||
| }, | |||
| ]) | |||
| const sumbitForm = () => { | |||
| if (!createForm.value.id) { | |||
| PostFeedbackAdd(createForm.value).then(res => { | |||
| successToast('保存成功'); | |||
| resetForm(); | |||
| }).catch(err => { | |||
| }) | |||
| } else { | |||
| PostFeedbackUpdate(createForm.value).then(res => { | |||
| successToast('编辑成功'); | |||
| resetForm(); | |||
| }).catch(err => { | |||
| }) | |||
| } | |||
| } | |||
| const resetForm = () => { | |||
| createForm.value = reset().dataForm; | |||
| emit('send') | |||
| } | |||
| watch(() => props.edit_id, (newVal) => { | |||
| if (newVal) { | |||
| GetFeedbackDetail({ id: newVal }).then(res => { | |||
| let resData = res.data | |||
| createForm.value = { | |||
| id: resData.id, | |||
| name: resData.name, | |||
| address: resData.address, | |||
| telephone: resData.telephone, | |||
| fax: resData.fax, | |||
| postal: resData.postal, | |||
| email: resData.email, | |||
| content: resData.content, | |||
| } | |||
| }) | |||
| } | |||
| }, {immediate: true}) | |||
| </script> | |||
| <style scoped lang="less"> | |||
| @@ -239,12 +117,12 @@ | |||
| border: none !important; | |||
| color: #bbb !important; | |||
| } | |||
| :deep(.ant-table-thead >tr>th::before) { | |||
| display: none !important; | |||
| } | |||
| :deep(.ant-table-tbody >tr >td) { | |||
| border: none !important; | |||
| } | |||
| </style> | |||
| @@ -1,17 +1,17 @@ | |||
| export const cols = <ColType.type[]>[ | |||
| { | |||
| title: '招聘会名称', | |||
| dataIndex: 'title' | |||
| title: '名称', | |||
| dataIndex: 'name' | |||
| }, { | |||
| title: '地点', | |||
| dataIndex: 'address' | |||
| }, { | |||
| title: '开始时间', | |||
| dataIndex: 'open_date' | |||
| title: '反馈内容', | |||
| dataIndex: 'content' | |||
| }, { | |||
| title: '开通状态', | |||
| dataIndex: 'status' | |||
| title: '反馈时间', | |||
| dataIndex: 'created_at' | |||
| }, | |||
| { | |||
| title: '操作', | |||
| @@ -4,20 +4,9 @@ | |||
| @page="getPage" :loading="loading"> | |||
| <template #default="{ record }"> | |||
| <a-row :gutter="20"> | |||
| <a-popconfirm title="是否要申请参加该招聘会?" @confirm="applyFor(record.id)"> | |||
| <a-col><a-button type="primary" size="small">申请</a-button></a-col> | |||
| </a-popconfirm> | |||
| <a-popconfirm placement="topLeft" ok-text="关闭" @confirm="confirm"> | |||
| <template #title> | |||
| <a-typography> | |||
| <a-typography-title :level="3">{{detailData.title}}</a-typography-title> | |||
| <a-typography-paragraph>发布时间:{{detailData.created_at}}</a-typography-paragraph> | |||
| <a-typography-text > | |||
| <div v-html="detailData.content"></div> | |||
| </a-typography-text> | |||
| </a-typography> | |||
| </template> | |||
| <a-button type="primary" size="small" @click="toDetail(record.id)">详情</a-button> | |||
| <a-col><a-button type="primary" size="small" primary @click="edit(record)">编辑</a-button></a-col> | |||
| <a-popconfirm title="是否删除该反馈消息?" @confirm="del(record.id)"> | |||
| <a-col><a-button size="small" danger>删除</a-button></a-col> | |||
| </a-popconfirm> | |||
| </a-row> | |||
| </template> | |||
| @@ -25,14 +14,15 @@ | |||
| </template> | |||
| <script setup lang="ts"> | |||
| import { ref, onMounted, computed } from 'vue'; | |||
| import { GetFeedbackList, PostRecruitmentbookAdd, PostRecruitmentBookcompany } from '@/apis/models'; | |||
| import { ref, onMounted, computed,defineEmits } from 'vue'; | |||
| import { GetFeedbackList, PostFeedbackDel } from '@/apis/models'; | |||
| import { useCommon } from '@/hooks/useCommon'; | |||
| import { cols } from '@/components/message/list/columns'; | |||
| import ASearch from '@/components/message/list/search.vue'; | |||
| import { warnToast, successToast } from '@/utils/toastHelper'; | |||
| let { commomParams } = useCommon(); | |||
| let loading = ref<Boolean>(true); | |||
| let emit = defineEmits() | |||
| onMounted(() => { | |||
| getData(commomParams.value.search); | |||
| @@ -83,19 +73,18 @@ | |||
| loading.value = false; | |||
| } | |||
| } | |||
| // 申请 | |||
| const applyFor = (val) => { | |||
| PostRecruitmentbookAdd({ recruitment_id: val, company_id: 0}).then(res => { | |||
| successToast('预定成功') | |||
| }) | |||
| } | |||
| // 详情 | |||
| let detailData = ref<object>({}) | |||
| const toDetail = (val) => { | |||
| PostRecruitmentbookAdd({ id: val}).then(res => { | |||
| detailData.value = res.data | |||
| // 修改 | |||
| const edit = (record : Object) => { | |||
| emit('toEdit', { record: record }) | |||
| } | |||
| // 删除 | |||
| const del = (id : number) => { | |||
| commomParams.value.delRecord = { id: id }; | |||
| PostFeedbackDel(commomParams.value.delRecord).then(res => { | |||
| message.success('删除成功'); | |||
| getData(); | |||
| }) | |||
| } | |||
| </script> | |||
| @@ -16,6 +16,7 @@ import AShujilian from '@/components/form/shujilian.vue'; | |||
| import AXuanze from '@/components/form/xuanze.vue'; | |||
| import ALogin from '@/components/form/login.vue'; | |||
| import ImageContainer from '@/components/common/image-container.vue'; | |||
| import EditButton from '@/components/common/edit-button.vue'; | |||
| import { routesModuleList } from '@/router/dynamic'; | |||
| import { routesManageModuleList } from '@/router/manageDynamic'; | |||
| @@ -73,15 +73,15 @@ const ManageMeetRoute : AppRouteRecordRaw = { | |||
| }; | |||
| // 消息中心 | |||
| // const ManageMessageRoute : AppRouteRecordRaw = { | |||
| // path: '/manageMessage', | |||
| // name: 'message', | |||
| // component: routerList.ManageMessage, | |||
| // meta: { | |||
| // title: '消息中心', | |||
| // icon: HomeOutlined | |||
| // }, | |||
| // }; | |||
| const ManageMessageRoute : AppRouteRecordRaw = { | |||
| path: '/manageMessage', | |||
| name: 'message', | |||
| component: routerList.ManageMessage, | |||
| meta: { | |||
| title: '消息中心', | |||
| icon: HomeOutlined | |||
| }, | |||
| }; | |||
| // 用户管理 | |||
| const ManageUserRoute : AppRouteRecordRaw = { | |||
| @@ -104,6 +104,6 @@ export const routesManageModuleList : AppRouteModule[] = [ | |||
| ManageResumeRoute, | |||
| ManageSearchRoute, | |||
| ManageMeetRoute, | |||
| // ManageMessageRoute, | |||
| ManageMessageRoute, | |||
| ManageUserRoute | |||
| ]; | |||
| @@ -145,12 +145,22 @@ button:focus-visible { | |||
| color: #ffffff !important; | |||
| } | |||
| .ant-radio-button-wrapper:hover { | |||
| /* .ant-radio-button-wrapper:hover { | |||
| color: #4FBE70 !important; | |||
| background: #ffffff !important; | |||
| } */ | |||
| /* | |||
| .ant-radio-button-checked { | |||
| color: #ffffff !important; | |||
| background: #4FBE70 !important; | |||
| } */ | |||
| .ant-checkbox-checked .ant-checkbox-inner { | |||
| background: #4FBE70 !important; | |||
| border-color: #4FBE70 !important; | |||
| } | |||
| .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)::before { | |||
| .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover::before { | |||
| background-color: none !important; | |||
| } | |||
| @@ -5,7 +5,7 @@ | |||
| @changeKey="changeKey"></common-left-sider> | |||
| </a-col> | |||
| <a-col span="20"> | |||
| <div style="width: 100%;background-color: #fff;height: calc(100vh - 100px);padding: 10px;border-radius: 8px;"> | |||
| <div style="width: 100%;background-color: #fff;height: calc(100vh - 100px);padding: 10px;border-radius: 8px;cursor: pointer;"> | |||
| <download v-if="curKey" :key_id="curKey"></download> | |||
| </div> | |||
| </a-col> | |||
| @@ -9,8 +9,8 @@ | |||
| </a-col> | |||
| <a-col span="20"> | |||
| <div style="width: 100%;background-color: #fff;height: calc(100vh - 100px); overflow: auto; padding: 10px;border-radius: 8px;"> | |||
| <message-list v-if="curKey == 1"></message-list> | |||
| <message-feedback v-if="curKey == 2"></message-feedback> | |||
| <message-list v-if="curKey == 1" @toEdit="toEdit"></message-list> | |||
| <message-feedback :edit_id="edit_id" v-if="curKey == 2" @send="send"></message-feedback> | |||
| </div> | |||
| </a-col> | |||
| </a-row> | |||
| @@ -26,9 +26,21 @@ | |||
| let companyList = ref<object[]>([{}, {}, {}, {}, {}, {}]) | |||
| let menu_list = ref([{ title: '意见反馈列表', key: 1 },{ title: '意见反馈', key: 2}]) | |||
| let curKey = ref<Number>(1) | |||
| let selectedKeys = ref<Number[]>([1]) | |||
| const changeKey = (data) => { | |||
| curKey.value = data.key; | |||
| } | |||
| let edit_id = ref<Number>(0) | |||
| const toEdit = (data) => { | |||
| curKey.value = 2; | |||
| selectedKeys.value = [2] | |||
| edit_id.value = data.record.id | |||
| } | |||
| const send = () => { | |||
| curKey.value = 1; | |||
| selectedKeys.value = [1] | |||
| } | |||
| </script> | |||
| <style> | |||