Ver código fonte

门墩儿新任命

Xiao_123 4 meses atrás
pai
commit
9f7d36e0ae

+ 8 - 0
src/api/recruit/enterprise/newlyAppointed/index.js

@@ -6,4 +6,12 @@ export const getNewAppointmentsPage = async (params) => {
 		url: '/app-api/menduner/system/new-appointments/page',
 		url: '/app-api/menduner/system/new-appointments/page',
 		params
 		params
 	})
 	})
+}
+
+// 获得新任命详情
+export const getNewAppointmentsDetail = async (id) => {
+	return await request.get({
+		url: '/app-api/menduner/system/new-appointments/get',
+		params: { id }
+	})
 }
 }

+ 17 - 17
src/router/modules/components/recruit/enterprise.js

@@ -371,22 +371,22 @@ const enterprise = [
       }
       }
     ]
     ]
   },
   },
-  // {
-  //   path: '/recruit/enterprise/newlyAppointed',
-  //   component: Layout,
-  //   name: 'Newly Appointed',
-  //   meta: {
-  //     title: '门墩儿新任命',
-  //     enName: 'Newly Appointed',
-  //     icon: 'mdi-new-box'
-  //   },
-  //   children: [
-  //     {
-  //       path: '/recruit/enterprise/newlyAppointed',
-  //       show: true,
-  //       component: () => import('@/views/recruit/enterprise/newlyAppointed/index.vue')
-  //     }
-  //   ]
-  // },
+  {
+    path: '/recruit/enterprise/newlyAppointed',
+    component: Layout,
+    name: 'Newly Appointed',
+    meta: {
+      title: '门墩儿新任命',
+      enName: 'Newly Appointed',
+      icon: 'mdi-new-box'
+    },
+    children: [
+      {
+        path: '/recruit/enterprise/newlyAppointed',
+        show: true,
+        component: () => import('@/views/recruit/enterprise/newlyAppointed/index.vue')
+      }
+    ]
+  }
 ]
 ]
 export default enterprise
 export default enterprise

+ 39 - 29
src/views/recruit/enterprise/newlyAppointed/index.vue

@@ -2,8 +2,8 @@
 	<v-card class="pa-3" elevation="5">
 	<v-card class="pa-3" elevation="5">
 		<CtForm ref="CtFormRef" :items="formItems" class="mt-3">
 		<CtForm ref="CtFormRef" :items="formItems" class="mt-3">
 			<template #formBtn>
 			<template #formBtn>
-				<v-btn color="primary" class="elevation-5" @click.stop="handleSearch">搜 索</v-btn>
-				<v-btn variant="outlined" color="primary" class="elevation-5 ml-3" @click.stop="handleReset">重 置</v-btn>
+				<v-btn color="primary" class="elevation-5" width="90" @click.stop="handleSearch">搜 索</v-btn>
+				<v-btn variant="outlined" color="primary" width="90" class="elevation-5 ml-3" @click.stop="handleReset">重 置</v-btn>
 			</template>
 			</template>
 		</CtForm>
 		</CtForm>
 	</v-card>
 	</v-card>
@@ -29,8 +29,11 @@
 		</CtTable>
 		</CtTable>
 	</v-card>
 	</v-card>
 
 
-	<v-navigation-drawer v-model="showDetail" absolute location="left" rounded temporary width="500" class="pa-5">
-		详情
+	<v-navigation-drawer v-model="showDetail" absolute location="right" rounded temporary width="500" class="pa-5">
+		<div style="width: 300px; height: 300px; margin: 0 auto;">
+			<v-img :src="detail?.picUrl" width="300" height="300" />
+		</div>
+		<div class="mt-10" v-html="detail?.detailIntroduction"></div>
 	</v-navigation-drawer>
 	</v-navigation-drawer>
 
 
 	<!-- 无权限提示 -->
 	<!-- 无权限提示 -->
@@ -38,22 +41,21 @@
 		<div class="d-flex align-center flex-column">
 		<div class="d-flex align-center flex-column">
 			<div class="color-warning">
 			<div class="color-warning">
 				<p>您没有权限查看门墩儿新任命信息</p>
 				<p>您没有权限查看门墩儿新任命信息</p>
-				<p>请用微信扫描下方二维码联系门墩儿管理员开通权限</p>
+				<p>请用微信扫描下方企业微信联系门墩儿管理员开通权限</p>
 			</div>
 			</div>
 			<div style="width: 150px; height: 150px;">
 			<div style="width: 150px; height: 150px;">
-				<v-img src="https://minio.citupro.com/dev/menduner/official-account-code4.jpg"></v-img>
+				<v-img src="https://minio.menduner.com/dev/menduner/contact.png"></v-img>
 			</div>
 			</div>
+			<div class="text-center ml-5">潘青海先生(Peter Pan)</div>
 		</div>
 		</div>
-			
   </CtDialog>
   </CtDialog>
 </template>
 </template>
 
 
 <script setup>
 <script setup>
 defineOptions({ name: 'newlyAppointedTable'})
 defineOptions({ name: 'newlyAppointedTable'})
 import { ref } from 'vue'
 import { ref } from 'vue'
-import { getNewAppointmentsPage } from '@/api/recruit/enterprise/newlyAppointed'
+import { getNewAppointmentsPage, getNewAppointmentsDetail } from '@/api/recruit/enterprise/newlyAppointed'
 import { useUserStore } from '@/store/user'
 import { useUserStore } from '@/store/user'
-// import Snackbar from '@/plugins/snackbar'
 
 
 const store = useUserStore()
 const store = useUserStore()
 const loading = ref(false)
 const loading = ref(false)
@@ -62,22 +64,12 @@ const query = ref({
   pageSize: 10,
   pageSize: 10,
 	pageNo: 1
 	pageNo: 1
 })
 })
-const items = ref([
-	{ id: 1, nameChinese: '张三', workTerritory: '北京', inaugurationHotel: '北京王府半岛酒店' },
-	{ id: 2, nameChinese: '李四', workTerritory: '上海', inaugurationHotel: '上海外滩茂悦大酒店' },
-	{ id: 3, nameChinese: '王五', workTerritory: '广州', inaugurationHotel: '广州富力丽思卡尔顿酒店' },
-	{ id: 4, nameChinese: '赵六', workTerritory: '深圳', inaugurationHotel: '深圳华侨城洲际酒店' },
-	{ id: 5, nameChinese: '钱七', workTerritory: '杭州', inaugurationHotel: '杭州西溪喜来登酒店' },
-	{ id: 6, nameChinese: '孙八', workTerritory: '南京', inaugurationHotel: '南京金鹰国际酒店' },
-	{ id: 7, nameChinese: '周九', workTerritory: '武汉', inaugurationHotel: '武汉光谷希尔顿酒店' },
-	{ id: 8, nameChinese: '吴十', workTerritory: '成都', inaugurationHotel: '成都茂业万豪酒店' },
-	{ id: 9, nameChinese: '郑十一', workTerritory: '重庆', inaugurationHotel: '重庆富力丽思卡尔顿酒店' },
-	{ id: 10, nameChinese: '王十二', workTerritory: '西安', inaugurationHotel: '西安希尔顿酒店' },
-])
+const items = ref([])
 const headers = [
 const headers = [
 	{ title: '宣布日期', key: 'announceTime', sortable: false },
 	{ title: '宣布日期', key: 'announceTime', sortable: false },
   { title: '中文名', key: 'nameChinese', sortable: false },
   { title: '中文名', key: 'nameChinese', sortable: false },
   { title: '英文名', key: 'nameEnglish', sortable: false },
   { title: '英文名', key: 'nameEnglish', sortable: false },
+  { title: '性别', key: 'gender', sortable: false },
   { title: '职位', key: 'position', sortable: false },
   { title: '职位', key: 'position', sortable: false },
   { title: '任职酒店', key: 'inaugurationHotel', sortable: false },
   { title: '任职酒店', key: 'inaugurationHotel', sortable: false },
   { title: '酒店品牌', key: 'hotelBrand', sortable: false },
   { title: '酒店品牌', key: 'hotelBrand', sortable: false },
@@ -93,6 +85,7 @@ const formItems = ref({
       key: 'nameChinese',
       key: 'nameChinese',
       value: '',
       value: '',
       label: '中文名',
       label: '中文名',
+			clearable: true,
 			hideDetails: true,
 			hideDetails: true,
 			col: 3
 			col: 3
     },
     },
@@ -101,6 +94,7 @@ const formItems = ref({
       key: 'nameEnglish',
       key: 'nameEnglish',
       value: '',
       value: '',
       label: '英文名',
       label: '英文名',
+			clearable: true,
 			hideDetails: true,
 			hideDetails: true,
 			flexStyle: 'mx-3',
 			flexStyle: 'mx-3',
 			col: 3
 			col: 3
@@ -110,6 +104,7 @@ const formItems = ref({
       key: 'position',
       key: 'position',
       value: '',
       value: '',
       label: '职位',
       label: '职位',
+			clearable: true,
 			hideDetails: true,
 			hideDetails: true,
 			col: 3
 			col: 3
     },
     },
@@ -118,6 +113,7 @@ const formItems = ref({
       key: 'inaugurationHotel',
       key: 'inaugurationHotel',
       value: '',
       value: '',
       label: '任职酒店',
       label: '任职酒店',
+			clearable: true,
 			hideDetails: true,
 			hideDetails: true,
 			flexStyle: 'ml-3',
 			flexStyle: 'ml-3',
 			col: 3
 			col: 3
@@ -127,6 +123,7 @@ const formItems = ref({
       key: 'hotelBrand',
       key: 'hotelBrand',
       value: '',
       value: '',
       label: '酒店品牌',
       label: '酒店品牌',
+			clearable: true,
 			hideDetails: true,
 			hideDetails: true,
 			col: 3
 			col: 3
     },
     },
@@ -136,6 +133,7 @@ const formItems = ref({
       value: '',
       value: '',
       label: '工作地域',
       label: '工作地域',
 			flexStyle: 'mx-3',
 			flexStyle: 'mx-3',
+			clearable: true,
 			hideDetails: true,
 			hideDetails: true,
 			col: 3
 			col: 3
     },
     },
@@ -144,6 +142,7 @@ const formItems = ref({
       key: 'workHistory',
       key: 'workHistory',
       value: '',
       value: '',
       label: '过往工作酒店品牌',
       label: '过往工作酒店品牌',
+			clearable: true,
 			hideDetails: true,
 			hideDetails: true,
 			col: 3
 			col: 3
     },
     },
@@ -163,11 +162,18 @@ store.$subscribe((mutation, state) => {
   if (Object.keys(state.entBaseInfo).length) info.value = state.entBaseInfo
   if (Object.keys(state.entBaseInfo).length) info.value = state.entBaseInfo
 })
 })
 
 
+// 获取新任命分页
 const getList = async () => {
 const getList = async () => {
-	const result = await getNewAppointmentsPage(query.value)
-	items.value = result.list
-	total.value = result.total
+	loading.value = true
+	try {
+		const result = await getNewAppointmentsPage(query.value)
+		items.value = result.list
+		total.value = result.total
+	} finally {
+		loading.value = false
+	}
 }
 }
+getList()
 
 
 // 分页切换
 // 分页切换
 const handleChangePage = async (e) => {
 const handleChangePage = async (e) => {
@@ -189,30 +195,34 @@ const handleSearch = async () => {
 		showDialog.value = true
 		showDialog.value = true
 		return
 		return
 	}
 	}
-	const param = {}
 	formItems.value.options.forEach(item => {
 	formItems.value.options.forEach(item => {
 	  if (item.noParam) return
 	  if (item.noParam) return
-		param[item.key] = item.value
+		query.value[item.key] = item.value
 	})
 	})
-	console.log(param, 'search')
+	getList()
 }
 }
 // 重置
 // 重置
 const handleReset = () => {
 const handleReset = () => {
 	formItems.value.options.forEach(item => {
 	formItems.value.options.forEach(item => {
-		if (!item.noParam) item.value = ''
+		if (item.noParam) return
+		item.value = ''
+		query.value[item.key] = ''
 	})
 	})
+	getList()
 }
 }
 
 
 // 查看详情
 // 查看详情
 const showDetail = ref(false)
 const showDetail = ref(false)
+const detail = ref({})
 const handleDetail = async (item) => {
 const handleDetail = async (item) => {
-	console.log(item, 'detail')
 	await store.getEnterpriseInfo(true)
 	await store.getEnterpriseInfo(true)
 	// 没有权限提示联系门墩儿
 	// 没有权限提示联系门墩儿
 	if (!info.value?.entitlement?.newAppointment) {
 	if (!info.value?.entitlement?.newAppointment) {
 		showDialog.value = true
 		showDialog.value = true
 		return
 		return
 	}
 	}
+	const result = await getNewAppointmentsDetail(item.id)
+	detail.value = result
 	showDetail.value = true
 	showDetail.value = true
 }
 }
 </script>
 </script>