Jelajahi Sumber

接口更新

Xiao_123 11 bulan lalu
induk
melakukan
a2fba3b71d

+ 10 - 3
src/api/enterprise.js

@@ -101,10 +101,9 @@ export const getEnterpriseUserList = async (params) => {
 }
 
 // 招聘端-企业信息-获取基本信息
-export const getEnterpriseBaseInfo = async (params) => {
+export const getEnterpriseBaseInfo = async () => {
   return await request.get({
-    url: '/app-admin-api/menduner/system/enterprise/get',
-    params
+    url: '/app-admin-api/menduner/system/enterprise/get'
   })
 }
 
@@ -132,6 +131,14 @@ export const updateEnterpriseBusiness = async (data) => {
   })
 }
 
+// 招聘端-企业信息-获取营业执照信息
+export const getEnterpriseBusiness = async (params) => {
+  return await request.get({
+    url: '/app-admin-api/menduner/system/enterprise/business/get',
+    params
+  })
+}
+
 // 招聘端-企业信息-修改企业logo
 export const updateEnterpriseLogo = async (data) => {
   return await request.post({

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

@@ -74,6 +74,7 @@ getDict('industryTreeData', null, 'industryTreeData').then(({ data }) => {
 // 设置选中ids
 const handleClick = (val) => {
   const isExist = idChecked.value.includes(val.id)
+  console.log(isExist, 'isExist', idChecked.value)
   if (!isExist) {
     // 添加
     if (props.limit === idChecked.value.length) return Snackbar.warning(`最多可选${props.limit}个行业`)

+ 0 - 11
src/views/enterprise/informationManagement/index.vue

@@ -1,11 +0,0 @@
-<template>
-  <div>系统管理</div>
-</template>
-
-<script setup>
-defineOptions({ name: 'enterprise-system-management'})
-</script>
-
-<style scoped lang="scss">
-
-</style>

+ 6 - 6
src/views/enterprise/informationManagement/informationSettings.vue

@@ -8,8 +8,8 @@
           <v-tab :value="2">{{ $t('enterprise.infoSetting.enterpriseLogo') }}</v-tab>
           <v-tab :value="3">{{ $t('enterprise.infoSetting.enterpriseAlbum') }}</v-tab>
           <v-tab :value="4">{{ $t('enterprise.infoSetting.welfareLabel') }}</v-tab>
-          <v-tab :value="5">{{ $t('enterprise.infoSetting.enterpriseVideo') }}</v-tab>
-          <v-tab :value="6">{{ $t('enterprise.infoSetting.recruitmentQRCode') }}</v-tab>
+          <!-- <v-tab :value="5">{{ $t('enterprise.infoSetting.enterpriseVideo') }}</v-tab>
+          <v-tab :value="6">{{ $t('enterprise.infoSetting.recruitmentQRCode') }}</v-tab> -->
         </v-tabs>
         <v-window v-model="tab" class="mt-3">
           <v-window-item :value="1">
@@ -24,12 +24,12 @@
           <v-window-item :value="4">
             <welfareLabel></welfareLabel>
           </v-window-item>
-          <v-window-item :value="5">
+          <!-- <v-window-item :value="5">
             <enterpriseVideo></enterpriseVideo>
           </v-window-item>
           <v-window-item :value="6">
             <recruitmentQRCode></recruitmentQRCode>
-          </v-window-item>
+          </v-window-item> -->
         </v-window>
       </div>
     </v-card>
@@ -41,8 +41,8 @@ import basicInfo from './informationSettingsComponents/basicInfo.vue'
 import enterpriseLogo from './informationSettingsComponents/enterpriseLogo.vue'
 import enterpriseAlbum from './informationSettingsComponents/enterpriseAlbum.vue'
 import welfareLabel from './informationSettingsComponents/welfareLabel.vue'
-import enterpriseVideo from './informationSettingsComponents/enterpriseVideo.vue'
-import recruitmentQRCode from './informationSettingsComponents/recruitmentQRCode.vue'
+// import enterpriseVideo from './informationSettingsComponents/enterpriseVideo.vue'
+// import recruitmentQRCode from './informationSettingsComponents/recruitmentQRCode.vue'
 import { provide, ref, watch } from 'vue'
 import { useRoute, useRouter } from 'vue-router'
 const route = useRoute(); const router = useRouter()

+ 77 - 75
src/views/enterprise/informationManagement/informationSettingsComponents/basicInfo.vue

@@ -9,6 +9,18 @@
           <span style="color: var(--v-primary-base);font-size: 14px;">已认证</span>
         </div>
       </template>
+      <template #industryId="{ item }">
+        <v-menu :close-delay="1" :open-delay="0" v-bind="$attrs" :close-on-content-click="true">
+          <template v-slot:activator="{  props }">
+            <TextInput
+              v-model="item.value"
+              :item="item"
+              v-bind="props"
+            ></TextInput>
+          </template>
+          <industryTypeCard :limit="1" :select="query.industryIdList" :currentData="currentSelect" @handleClickIndustry="handleIndustry"></industryTypeCard>
+        </v-menu>
+      </template>
     </CtForm>
     <div class="text-center">
       <v-btn color="primary" class="buttons mt-3 mb-10" @click="handleSave">{{ $t('common.save') }}</v-btn>
@@ -17,9 +29,12 @@
 </template>
 
 <script setup>
-import { inject, ref } from 'vue';
-
 defineOptions({name: 'informationSettingsComponents-basicInfo'})
+import { inject, ref, reactive } from 'vue'
+// import { getEnterpriseBaseInfo } from '@/api/enterprise'
+import industryTypeCard from '@/components/industryTypeCard'
+
+const query = reactive({})
 const infoData = JSON.parse(inject('infoData'))
 const formItems = ref({
   options: [
@@ -28,131 +43,95 @@ const formItems = ref({
       key: 'name',
       value: '',
       label: '企业名称 *',
-      disabled: true,
       slotName: 'name',
       rules: [v => !!v || '请输入企业名称']
     },
     {
       type: 'text',
-      key: 'suoZaiDi',
+      key: 'anotherName',
       value: '',
-      label: '企业所在地 *',
-      disabled: true,
-      rules: [v => !!v || '请输入企业所在地']
+      col: 6,
+      flexStyle: 'mr-3',
+      label: '企业别名 *',
+      rules: [v => !!v || '请输入企业别名']
     },
     {
       type: 'text',
-      key: 'diZhi',
+      key: 'website',
       value: '',
-      label: '企业地址 *',
-      rules: [v => !!v || '请输入企业地址']
+      col: 6,
+      label: '企业官网'
     },
     {
       type: 'text',
-      key: 'key1',
+      key: 'contact',
       value: '',
-      label: '区域定位',
-    },
-    {
-      type: 'autocomplete',
-      key: 'select',
-      value: null,
-      label: '行业类别 *',
-      outlined: true,
-      clearable: false,
-      disabled: true,
-      itemText: 'label',
-      itemValue: 'value',
       col: 6,
       flexStyle: 'mr-3',
-      rules: [v => !!v || '请选择行业类别'],
-      items: [{ label: '餐饮业', value: '1' }]
+      label: '联系人'
     },
     {
-      type: 'autocomplete',
-      key: 'select',
-      value: null,
-      label: '企业类型 *',
-      outlined: true,
-      clearable: false,
-      itemText: 'label',
-      itemValue: 'value',
+      type: 'text',
+      key: 'phone',
+      value: '',
       col: 6,
-      rules: [v => !!v || '请选择企业类型'],
-      items: [{ label: '西餐餐饮', value: '1' }]
+      label: '联系电话'
     },
     {
-      type: 'autocomplete',
-      key: 'select',
-      value: null,
-      label: '所属类别 *',
+      slotName: 'industryId',
+      key: 'industryId',
+      value: '',
+      label: '所在行业 *',
       outlined: true,
       clearable: false,
       itemText: 'label',
       itemValue: 'value',
       col: 6,
       flexStyle: 'mr-3',
-      rules: [v => !!v || '请选择所属类别'],
-      items: [{ label: '总部', value: '1' }]
+      rules: [v => !!v || '请选择所在行业'],
+      items: []
     },
     {
       type: 'autocomplete',
-      key: 'select',
+      key: 'financingStatus',
       value: null,
-      label: '企业规模 *',
+      label: '融资阶段 *',
       outlined: true,
       clearable: false,
       itemText: 'label',
       itemValue: 'value',
       col: 6,
-      rules: [v => !!v || '请选择企业规模'],
-      items: [{ label: '50-99人', value: '1' }]
+      dictTypeName: 'menduner_financing_status',
+      rules: [v => !!v || '请选择融资阶段'],
+      items: []
     },
     {
       type: 'autocomplete',
-      key: 'select',
+      key: 'scale',
       value: null,
-      label: '企业性质 *',
+      label: '企业规模 *',
       outlined: true,
       clearable: false,
       itemText: 'label',
       itemValue: 'value',
-      rules: [v => !!v || '请选择企业性质'],
-      items: [{ label: '民营、私营企业', value: '1' }]
-    },
-    {
-      type: 'datePicker',
-      key: 'time',
-      value: null,
       col: 6,
       flexStyle: 'mr-3',
-      class: 'mb-3',
-      options: {
-        // type: 'time',
-        format: 'timestamp',
-        placeholder: '开业时间 *',
-      },
-      rules: [v => !!v || '请选择开业时间']
-    },
-    {
-      type: 'checkbox',
-      key: 'select',
-      value: '1',
-      // label: '筹建中',
-      col: 6,
-      items: [
-        { key: '1', label: '筹建中', value: '1' }
-      ]
+      dictTypeName: 'menduner_scale',
+      rules: [v => !!v || '请选择企业规模'],
+      items: []
     },
     {
       type: 'text',
-      key: 'net',
-      value: '',
-      label: '企业网址',
+      key: 'workTime',
+      value: null,
+      col: 6,
+      class: 'mb-3',
+      label: '上班时间(示例:上午09:00 - 下午17:00) *',
+      rules: [v => !!v || '请选择上班时间']
     },
     {
       type: 'textarea',
-      key: 'content',
+      key: 'introduce',
       value: null,
       counter: 2000,
       label: '企业介绍 *',
@@ -162,6 +141,29 @@ const formItems = ref({
   ]
 })
 formItems.value.options.forEach(e => { if (infoData[e.key]) e.value = infoData[e.key] })
+
+const setValue = (key, value) => {
+  formItems.value.options.find(e => e.key === key).value = value
+}
+
+// 获取基本信息
+// const getBaseInfo = async () => {
+//   const data = await getEnterpriseBaseInfo()
+//   console.log(data, 'info')
+// }
+// getBaseInfo()
+
+// 行业类型
+let currentSelect = reactive([])
+const handleIndustry = (list, arr) => {
+  console.log(list, arr, 'in')
+  if (!list.length) return
+  query.industryId = list
+  currentSelect = arr
+  const str = arr.map(e => e.nameCn).join('、')
+  setValue('industryId', str)
+}
+
 const handleSave = async () => {
   // const { valid } = await formPageRef.value.formRef.validate()
   // if (!valid) return