Browse Source

Merge remote-tracking branch 'origin/master'

liao-sea 11 months ago
parent
commit
1bcd1b989f

+ 13 - 0
vue/src/api/jobUserManager/jobuser/index.ts

@@ -88,3 +88,16 @@ export function getExperienceList(id: any) {
     },
   );
 }
+
+export function getJobHuntList(id: any) {
+  return request(
+    {
+      url: "jobUserService/jobUser/getJobHuntList",
+      method: 'get',
+      params: {id},
+    },
+    {
+      isNew: true,
+    },
+  );
+}

+ 10 - 7
vue/src/views/baseSettings/siteInfo/edit.vue

@@ -47,19 +47,19 @@
       </a-row>
       <a-row type="flex">
         <a-col :span="7">
-          <a-form-item label="站点负责人"  name="fzrName" :label-col="{span:7}" :rules="[{ required: true, message: '请输入站点负责人!' }]">
+          <a-form-item label="站点负责人" name="fzrName" :label-col="{span:7}">
             <label v-if="opCategory==3">{{dataModel.fzrName }}</label>
             <a-input v-model:value="dataModel.fzrName" placeholder=""/>
           </a-form-item>
         </a-col>
         <a-col :span="8">
-          <a-form-item label="联系电话"  name="fzrMobile" :label-col="{span:7}" :rules="[{ required: true, message: '请输入联系电话!' }]">
+          <a-form-item label="联系电话" name="fzrMobile" :label-col="{span:7}">
             <label v-if="opCategory==3">{{dataModel.fzrMobile }}</label>
             <a-input v-model:value="dataModel.fzrMobile" placeholder=""/>
           </a-form-item>
         </a-col>
         <a-col :span="8">
-          <a-form-item label="经度"  name="siteLongitude" :label-col="{span:7}" :rules="[{ required: true, message: '请输入经度!' }]">
+          <a-form-item label="经度" name="siteLongitude" :label-col="{span:7}">
             <label v-if="opCategory==3">{{dataModel.siteLongitude }}</label>
             <a-input-number style="width: 100%" :controls="false" v-model:value="dataModel.siteLongitude" placeholder=""/>
           </a-form-item>
@@ -76,7 +76,7 @@
       </a-row>
       <a-row type="flex">
         <a-col :span="7">
-          <a-form-item label="纬度"  name="siteLatitude" :label-col="{span:7}" :rules="[{ required: true, message: '请输入站点负责人!' }]">
+          <a-form-item label="纬度" name="siteLatitude" :label-col="{span:7}">
             <label v-if="opCategory==3">{{dataModel.siteLatitude }}</label>
             <a-input-number style="width: 100%" :controls="false" v-model:value="dataModel.siteLatitude" placeholder=""/>
           </a-form-item>
@@ -306,7 +306,8 @@ export default defineComponent({
     const mobileValidate = ()=>{
       isAllowCommit.value = true;
       const mobileReg = /^1[3|4|5|6|7|8|9]\d{9}$/;
-      if(!mobileReg.test(formData.dataModel.fzrMobile)){
+      const landlineReg = /[0-9-()()]{7,18}/;
+      if (!mobileReg.test(formData.dataModel.fzrMobile) && !landlineReg.test(formData.dataModel.fzrMobile)) {
         message.error("输入的联系电话有误!");
         isAllowCommit.value = false;
       }
@@ -318,8 +319,10 @@ export default defineComponent({
       tabsViewStore.openTab('/baseSettings/site/index',{reload:reload});
     };
     const onFinish = () => {
-      mobileValidate();
-      /*validateSameUser();*/
+      isAllowCommit.value = true;
+      if (formData.dataModel.fzrMobile) {
+        mobileValidate();
+      }
       if (isAllowCommit.value){
         formData.dataModel.manageUsers = manageUsers.value;
         saveSite(formData.dataModel).then(result => {

+ 64 - 1
vue/src/views/jobUserManager/jobuser/vitae.vue

@@ -86,6 +86,10 @@
             </template>
           </template>
         </a-table>
+        <a-divider orientation="left">求职意向</a-divider>
+        <a-table :columns="jobHuntColumns" :data-source="jobHuntList" bordered :pagination="false"
+                 style="margin-left: 11px">
+        </a-table>
         <a-divider orientation="left">工作经历</a-divider>
         <a-timeline style="margin-left: 25px;">
           <a-timeline-item v-for="(item, key) in experienceData" :key="key" position="left">
@@ -107,6 +111,7 @@ import {ManOutlined, WomanOutlined} from '@ant-design/icons-vue';
 import type {SelectProps, TableColumnsType} from "ant-design-vue";
 import dayjs from "dayjs";
 import {getSysDictionaryList} from "@/api/system/dictionary";
+import {getJobHuntList} from "@/api/jobUserManager/jobhunt";
 
 // 求职人员信息
 const jobUserInfo = reactive({
@@ -180,6 +185,51 @@ const searchParams = reactive({
 });
 // 工作经验数据
 const experienceData = ref<Array<any>>([]);
+// 求职意向数据
+const jobHuntList = ref<Array<any>>([]);
+// 求职意向表格定义
+const jobHuntColumns: TableColumnsType = [
+  {
+    title: '序号',
+    align: 'center',
+    width: 80,
+    key: 'jobHuntID',
+    customRender: (item) =>
+      `${searchParams.pageSize * (searchParams.pageIndex - 1) + item.index + 1}`,
+  },
+  {title: '希望工作地区', dataIndex: 'areaWork', key: 'areaWork', width: 150, align: "center",},
+  {
+    title: '可到职日期', dataIndex: 'inDate', key: 'inDate', width: 100, align: "center",
+    customRender: ({record}) => record.inDate == null ? "" : dayjs(record.inDate).format('YYYY-MM-DD'),
+  },
+  {title: '工作年限', dataIndex: 'workYear', key: 'workYear', align: "center",},
+  {title: '求职类型', dataIndex: 'jobHuntTypeStr', key: 'jobHuntTypeStr', align: "center",},
+  {title: '求职岗位', dataIndex: 'professionName', key: 'professionName', align: "center",},
+  {title: '人才类型', dataIndex: 'jobUserTypeStr', key: 'jobUserTypeStr', align: "center",},
+  {
+    title: '月薪要求', dataIndex: 'salary', key: 'salary', align: "center",
+    customRender: (item) => {
+      const salary = showSalary(item.record.minSalary, item.record.maxSalary);
+      return salary;
+    }
+  },
+];
+// 期望月薪显示优化方法
+const showSalary = (minSalary: any, maxSalary: any) => {
+  if (minSalary != null) {
+    if (maxSalary != null) {
+      return minSalary.toString() + "-" + maxSalary.toString();
+    } else {
+      return "≥" + minSalary.toString();
+    }
+  } else {
+    if (maxSalary != null) {
+      return "≤" + maxSalary.toString();
+    } else {
+      return "";
+    }
+  }
+}
 // 教育经历数据
 const cultureList = ref<SelectProps['options']>();
 
@@ -217,6 +267,18 @@ const loadExperienceData = (id: any) => {
   })
 }
 
+// 加载求职意向数据
+function loadJobHuntData(jobUserID: any) {
+  let params = {
+    pageIndex: 1,
+    pageSize: 999,
+    jobUserID
+  }
+  getJobHuntList(params).then(result => {
+    jobHuntList.value = result.list
+  })
+}
+
 // 获取教育经历数据
 const getCultureList = () => {
   getSysDictionaryList('HighestDegree').then((data) => {
@@ -238,7 +300,8 @@ onMounted(() => {
   if (id) {
     loadData(id);
     loadEducation(id);
-    loadExperienceData(id)
+    loadExperienceData(id);
+    loadJobHuntData(id);
   }
   getCultureList()
 })