Browse Source

Merge branch 'dev' of https://git.citupro.com/zhengnaiwen_citu/menduner into dev

zhengnaiwen_citu 7 months ago
parent
commit
7273390824

+ 1 - 1
src/views/recruit/enterprise/entInfoSetting/informationSettingsComponents/welfareLabel.vue

@@ -76,7 +76,7 @@ const appendInnerClick = (value) => {
 // 保存
 // 保存
 const handleSave = async (type) => {
 const handleSave = async (type) => {
   try {
   try {
-    const appAdminEnterpriseWelfareReqVO = { tagList: chosen.value }
+    const appAdminEnterpriseWelfareReqVO = { welfareList: chosen.value }
     await updateEnterpriseWelfare(appAdminEnterpriseWelfareReqVO)
     await updateEnterpriseWelfare(appAdminEnterpriseWelfareReqVO)
     customTag.value = false
     customTag.value = false
     Snackbar.success(`${type}成功`)
     Snackbar.success(`${type}成功`)

+ 5 - 1
src/views/recruit/enterprise/hirePosition/components/add.vue

@@ -17,7 +17,7 @@
       </v-timeline>
       </v-timeline>
       <div class="text-center mb">
       <div class="text-center mb">
         <v-btn class="half-button mr-3" color="primary" variant="outlined" @click="handleCancel()">{{ $t('common.cancel') }}</v-btn>
         <v-btn class="half-button mr-3" color="primary" variant="outlined" @click="handleCancel()">{{ $t('common.cancel') }}</v-btn>
-        <v-btn class="half-button" color="primary" @click="handleSave">{{ $t('common.release') }}</v-btn>
+        <v-btn class="half-button" color="primary" :loading="loading" @click="handleSave">{{ $t('common.release') }}</v-btn>
       </div>
       </div>
     </v-card>
     </v-card>
   </div>
   </div>
@@ -42,6 +42,7 @@ const userStore = useUserStore()
 const baseInfoRef = ref()
 const baseInfoRef = ref()
 const jobRequirementsRef = ref()
 const jobRequirementsRef = ref()
 const itemData = ref({})
 const itemData = ref({})
+const loading = ref(false)
 
 
 const list = [
 const list = [
   {
   {
@@ -79,6 +80,7 @@ const handleSave = async () => {
 }
 }
 
 
 const saveEmit = async () => {
 const saveEmit = async () => {
+  loading.value = true
   try {
   try {
     const res = await saveJobAdvertised(submitParams)
     const res = await saveJobAdvertised(submitParams)
     Snackbar.success(submitParams.id ? t('common.editSuccessMsg') : t('common.publishSuccessMsg1'))
     Snackbar.success(submitParams.id ? t('common.editSuccessMsg') : t('common.publishSuccessMsg1'))
@@ -92,6 +94,8 @@ const saveEmit = async () => {
     handleCancel()
     handleCancel()
   } catch (error) {
   } catch (error) {
     console.log('error', error)
     console.log('error', error)
+  } finally {
+    loading.value = false
   }
   }
 }
 }
 
 

+ 11 - 3
src/views/recruit/enterprise/hirePosition/components/item.vue

@@ -50,6 +50,8 @@
     @paySuccess="paySuccess"
     @paySuccess="paySuccess"
     @close="showConfirmPaymentDialog = false"
     @close="showConfirmPaymentDialog = false"
   ></confirmPaymentDialog>
   ></confirmPaymentDialog>
+
+  <Loading :visible="loading"></Loading>
 </template>
 </template>
 
 
 <script setup>
 <script setup>
@@ -69,6 +71,7 @@ defineProps({
   items: Array
   items: Array
 })
 })
 
 
+const loading = ref(false)
 const showConfirmPaymentDialog = ref(false)
 const showConfirmPaymentDialog = ref(false)
 const cost = ref(0)
 const cost = ref(0)
 const spuId = ref('')
 const spuId = ref('')
@@ -95,9 +98,14 @@ const apiList = [ closeJobAdvertised, enableJobAdvertised ]
 const handleAction = async (index, { id }) => {
 const handleAction = async (index, { id }) => {
   const ids = [id]
   const ids = [id]
   if (!ids.length && !index) return
   if (!ids.length && !index) return
-  await apiList[index](ids)
-  Snackbar.success(t('common.operationSuccessful'))
-  emit('refresh')
+  loading.value = true
+  try {
+    await apiList[index](ids)
+    Snackbar.success(t('common.operationSuccessful'))
+    emit('refresh')
+  } finally {
+    loading.value = false
+  }
 }
 }
 
 
 const router = useRouter()
 const router = useRouter()

+ 9 - 3
src/views/recruit/enterprise/hirePosition/index.vue

@@ -6,7 +6,7 @@
       </div>
       </div>
       <div class="text-end">
       <div class="text-end">
         <v-btn prepend-icon="mdi-plus" color="primary" @click="handleAdd">{{ $t('position.newPositionsAdded') }}</v-btn>
         <v-btn prepend-icon="mdi-plus" color="primary" @click="handleAdd">{{ $t('position.newPositionsAdded') }}</v-btn>
-        <v-btn prepend-icon="mdi-export-variant" color="primary" variant="tonal" class="ml-3" @click="handleExport">职位列表下载</v-btn>
+        <v-btn :loading="exportLoading" prepend-icon="mdi-export-variant" color="primary" variant="tonal" class="ml-3" @click="handleExport">职位列表下载</v-btn>
       </div>
       </div>
       
       
       <div class="mt-3">
       <div class="mt-3">
@@ -46,6 +46,7 @@ const query = ref({
   pageNo: 1,
   pageNo: 1,
   hire: true
   hire: true
 })
 })
+const exportLoading = ref(false)
 
 
 const items = ref([])
 const items = ref([])
 const textItem = ref({
 const textItem = ref({
@@ -63,8 +64,13 @@ const handleAdd = async () => {
 }
 }
 
 
 const handleExport = async () => {
 const handleExport = async () => {
-  const data = await getJobAdvertisedExport(query.value)
-  download.excel(data, '众聘职位列表')
+  exportLoading.value = true
+  try {
+    const data = await getJobAdvertisedExport(query.value)
+    download.excel(data, '众聘职位列表')
+  } finally {
+    exportLoading.value = false
+  }
 }
 }
 
 
 
 

+ 5 - 1
src/views/recruit/enterprise/positionManagement/components/add.vue

@@ -17,7 +17,7 @@
       </v-timeline>
       </v-timeline>
       <div class="text-center mb">
       <div class="text-center mb">
         <v-btn class="half-button mr-3" color="primary" variant="outlined" @click="handleCancel()">{{ $t('common.cancel') }}</v-btn>
         <v-btn class="half-button mr-3" color="primary" variant="outlined" @click="handleCancel()">{{ $t('common.cancel') }}</v-btn>
-        <v-btn class="half-button" color="primary" @click="handleSave">{{ $t('common.release') }}</v-btn>
+        <v-btn class="half-button" color="primary" :loading="loading" @click="handleSave">{{ $t('common.release') }}</v-btn>
       </div>
       </div>
     </v-card>
     </v-card>
   </div>
   </div>
@@ -41,6 +41,7 @@ const router = useRouter()
 const userStore = useUserStore()
 const userStore = useUserStore()
 const baseInfoRef = ref()
 const baseInfoRef = ref()
 const jobRequirementsRef = ref()
 const jobRequirementsRef = ref()
+const loading = ref(false)
 const itemData = ref({})
 const itemData = ref({})
 
 
 const list = [
 const list = [
@@ -78,12 +79,15 @@ const handleSave = async () => {
 }
 }
 
 
 const saveEmit = async () => {
 const saveEmit = async () => {
+  loading.value = true
   try {
   try {
     await saveJobAdvertised(submitParams)
     await saveJobAdvertised(submitParams)
     Snackbar.success(submitParams.id ? t('common.editSuccessMsg') : t('common.publishSuccessMsg'))
     Snackbar.success(submitParams.id ? t('common.editSuccessMsg') : t('common.publishSuccessMsg'))
     handleCancel()
     handleCancel()
   } catch (error) {
   } catch (error) {
     console.log('error', error)
     console.log('error', error)
+  } finally {
+    loading.value = false
   }
   }
 }
 }
 
 

+ 14 - 6
src/views/recruit/enterprise/positionManagement/components/item.vue

@@ -53,6 +53,8 @@
       </div>
       </div>
     </div>
     </div>
   </div>
   </div>
+
+  <Loading :visible="loading"></Loading>
 </template>
 </template>
 
 
 <script setup>
 <script setup>
@@ -74,6 +76,7 @@ const props = defineProps({
   items: Array
   items: Array
 })
 })
 
 
+const loading = ref(false)
 const selectAll = ref(false) // 全选
 const selectAll = ref(false) // 全选
 const selectList = ref([]) // 选中列表
 const selectList = ref([]) // 选中列表
 const dealSelect = () => {
 const dealSelect = () => {
@@ -125,12 +128,17 @@ const apiList = [ closeJobAdvertised, enableJobAdvertised, refreshJobAdvertised,
 const handleAction = async (index, type, { id }) => {
 const handleAction = async (index, type, { id }) => {
   const ids = type ? props.items.filter(e => e.select).map(k => k.id) : [id]
   const ids = type ? props.items.filter(e => e.select).map(k => k.id) : [id]
   if (!ids.length && !index) return
   if (!ids.length && !index) return
-  await apiList[index](ids)
-  Snackbar.success(t('common.operationSuccessful'))
-  // 清空选项
-  selectList.value = []
-  selectAll.value = false
-  emit('refresh')
+  loading.value = true
+  try {
+    await apiList[index](ids)
+    Snackbar.success(t('common.operationSuccessful'))
+    // 清空选项
+    selectList.value = []
+    selectAll.value = false
+    emit('refresh')
+  } finally {
+    loading.value = false
+  }
 }
 }
 
 
 const router = useRouter()
 const router = useRouter()

+ 11 - 5
src/views/recruit/enterprise/positionManagement/index.vue

@@ -6,7 +6,7 @@
       </div>
       </div>
       <div class="text-end">
       <div class="text-end">
         <v-btn prepend-icon="mdi-plus" color="primary" @click="handleAdd">{{ $t('position.newPositionsAdded') }}</v-btn>
         <v-btn prepend-icon="mdi-plus" color="primary" @click="handleAdd">{{ $t('position.newPositionsAdded') }}</v-btn>
-        <v-btn prepend-icon="mdi-export-variant" color="primary" variant="tonal" class="ml-3" @click="handleExport">职位列表下载</v-btn>
+        <v-btn :loading="exportLoading" prepend-icon="mdi-export-variant" color="primary" variant="tonal" class="ml-3" @click="handleExport">职位列表下载</v-btn>
       </div>
       </div>
       
       
       <div class="mt-3">
       <div class="mt-3">
@@ -55,6 +55,7 @@ const query = ref({
   // hasExpiredData: false, // true 到期职位
   // hasExpiredData: false, // true 到期职位
   hire: false // true 众聘岗位
   hire: false // true 众聘岗位
 })
 })
+const exportLoading = ref(false)
 
 
 const tab = ref(1)
 const tab = ref(1)
 
 
@@ -80,10 +81,15 @@ const handleAdd = async () => {
 }
 }
 
 
 const handleExport = async () => {
 const handleExport = async () => {
-  const data = await getJobAdvertisedExport(query.value)
-  const label = tabList.find(e => e.value === tab.value)?.label || ''
-  const txt = `职位列表${label? '(' + label + ')' : ''}`
-  download.excel(data, txt)
+  exportLoading.value = true
+  try {
+    const data = await getJobAdvertisedExport(query.value)
+    const label = tabList.find(e => e.value === tab.value)?.label || ''
+    const txt = `职位列表${label? '(' + label + ')' : ''}`
+    download.excel(data, txt)
+  } finally {
+    exportLoading.value = false
+  }
 }
 }
 
 
 
 

+ 4 - 1
src/views/recruit/enterprise/talentPool/components/details/baseInfo.vue

@@ -59,7 +59,10 @@
       </div>
       </div>
       <div class="mt-4">
       <div class="mt-4">
         <span style="font-size: 15px;">个人画像:</span>
         <span style="font-size: 15px;">个人画像:</span>
-        <v-chip size="small" label v-for="(k, i) in ['响应', '改变', '诚信', '进取精神', '信任', '卓越']" :key="i" class="mr-2" color="primary">{{ k }}</v-chip>
+        <span v-if="info?.tagList && info?.tagList.length > 0">
+          <v-chip size="small" label v-for="(k, i) in info.tagList" :key="i" class="mr-2 mb-2" color="primary">{{ k }}</v-chip>
+        </span>
+        <span v-else>暂无</span>
       </div>
       </div>
     </div>
     </div>
   </div>
   </div>