Browse Source

行业类型

lifanagju_citu 1 năm trước cách đây
mục cha
commit
56f49b8c9e

+ 1 - 0
components.d.ts

@@ -21,6 +21,7 @@ declare module 'vue' {
     HeadSearch: typeof import('./src/components/headSearch/index.vue')['default']
     HotPromoted: typeof import('./src/components/Enterprise/hotPromoted.vue')['default']
     'Index copy': typeof import('./src/components/CtForm/index copy.vue')['default']
+    IndustryTypeCard: typeof import('./src/components/industryTypeCard/index.vue')['default']
     Info: typeof import('./src/components/Enterprise/info.vue')['default']
     Item: typeof import('./src/components/Position/item.vue')['default']
     JobTypeCard: typeof import('./src/components/jobTypeCard/index.vue')['default']

+ 1 - 2
src/components/CtForm/index.vue

@@ -45,7 +45,7 @@ const isValid = ref(true)
 const formRef = ref()
 
 const handleChange = (item) => {
-  console.log('handleChange', item)
+  // console.log('handleChange', item)
   if (item.type === 'date' && item.value) item.option.validate = false
   if (item?.change) item.change(item.value, item)
   emit('change', false)
@@ -69,7 +69,6 @@ const validateTime = () => {
 }
   
 const validate = () => {
-  console.log('点击调用子组件方法', 1)
   const form = formRef.value.validate()
   const time = validateTime()
   return form && time

+ 73 - 0
src/components/industryTypeCard/index.vue

@@ -0,0 +1,73 @@
+<template>
+  <v-card class="card rightCardBox">
+      <div class="rightCard">
+        <div v-for="item in items" :key="item.id">
+          <!-- <v-divider v-if="index" class="divider"></v-divider> -->
+          <div class="rowItem d-flex">
+            <div class="categoryName2">{{ item.nameCn }}</div>
+            <div class="rightContent">
+              <div v-if="!item.children?.length"></div>
+              <div v-else class="jobItem" v-for="val in item.children" :key="val.id">{{ val.nameCn }}</div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </v-card>
+</template>
+
+<script setup>
+import { getDict } from '@/hooks/web/useDictionaries'
+import { ref } from 'vue';
+defineOptions({ name:'common-components-industryTypeCard'})
+
+let items = ref()
+getDict('industryTreeData', null, 'industryTreeData').then(({ data }) => {
+  data = data?.length && data || []
+  items.value = data
+})
+</script>
+<style lang="scss" scoped>
+.card { border-radius: 12px; }
+.rightCard {
+  height: 384px;
+  width: 786px;
+  margin: 4px 0;
+  padding: 0 16px;
+  overflow-y: auto;
+  // .categoryName { font-size: 16px; line-height: 28px; margin-top: 6px; color: var(--v-primary-base)}
+  .categoryName2 { font-size: 14px; color: #000; width: 150px; margin-right: 4px;}
+  .jobItem { font-size: 14px; color: #333333; }
+  .rowItem {
+    padding: 8px 0;
+  }
+  .divider {
+    margin-left: 150px;
+  }
+  .rightContent {
+    flex: 1;
+    div {
+      margin: 4px 28px 2px 0;
+      float: left;
+      cursor: pointer;
+      // color: #000;
+      &:hover {
+        color: var(--v-primary-base);
+      }
+    }
+  }
+}
+
+::-webkit-scrollbar {
+  width: 4px;
+  height: 10px;
+  // display: none;
+}
+::-webkit-scrollbar-thumb, .temporaryAdd ::-webkit-scrollbar-thumb, .details_edit ::-webkit-scrollbar-thumb {
+  // 滚动条-颜色
+  background: #c3c3c379;
+}
+::-webkit-scrollbar-track, .temporaryAdd ::-webkit-scrollbar-track, .details_edit ::-webkit-scrollbar-track {
+  // 滚动条-底色
+  background: #e5e5e58f;
+}
+</style>

+ 9 - 1
src/hooks/web/useDictionaries.js

@@ -1,4 +1,11 @@
-import { getDictData, getIndustryListData, getAreaListData, getPositionTreeData, getAreaTreeData } from '@/api/common/index'
+import {
+  getDictData,
+  getIndustryListData,
+  getIndustryTreeData,
+  getAreaListData,
+  getPositionTreeData,
+  getAreaTreeData
+} from '@/api/common/index'
 // 定义对应的api
 // const DICT_CITY_API = {
 //   menduner_exp_type: getDictData
@@ -24,6 +31,7 @@ export const getDict = (type, params, apiType = 'dict') => {
         dict: getDictData,
         positionTreeData: getPositionTreeData, // 职位tree
         areaTreeData: getAreaTreeData, // 区域tree
+        industryTreeData: getIndustryTreeData, // 行业tree
         industryList: getIndustryListData,
         areaList: getAreaListData
       }

+ 2 - 0
src/views/recruit/position/components/conditionFilter.vue

@@ -2,10 +2,12 @@
   <div class="d-flex">
     <companyIndustry></companyIndustry>
     <positionType></positionType>
+    <JobSearchType></JobSearchType>
   </div>
 </template>
 <script setup>
 import companyIndustry from './conditionFilter/companyIndustry.vue'
 import positionType from './conditionFilter/positionType.vue'
+import JobSearchType from './conditionFilter/JobSearchType.vue'
 defineOptions({name: 'retrieval-components-conditionFilter'})
 </script>

+ 2 - 2
src/views/recruit/position/components/conditionFilter/companyIndustry.vue

@@ -1,11 +1,11 @@
 <template>
   <commonStyle btnTitle="行业类型">
-    <jobTypeCard></jobTypeCard>
+    <industryTypeCard></industryTypeCard>
   </commonStyle>
 </template>
 <script setup>
 import commonStyle from './commonStyle.vue'
-import jobTypeCard from '@/components/jobTypeCard'
+import industryTypeCard from '@/components/industryTypeCard'
 
 defineOptions({name: 'conditionFilter-company-industry'})
 </script>