Browse Source

Merge branch 'master' of http://39.98.153.250:9080/bowintek/EmploymentSite

pengjing 1 year ago
parent
commit
1d85cb08a8
26 changed files with 740 additions and 361 deletions
  1. 1 0
      doc/待更新脚本
  2. 28 26
      h5app/src/views/pages/company/edit.vue
  3. 31 44
      h5app/src/views/pages/company/editPost.vue
  4. 23 30
      h5app/src/views/pages/jobUserInfo/companyEdit.vue
  5. 10 7
      h5app/src/views/pages/jobUserInfo/jobHuntEdit.vue
  6. 12 8
      h5app/src/views/pages/jobUserInfo/postEdit.vue
  7. 28 17
      h5app/src/views/pages/jobUserInfo/userEdit.vue
  8. 78 5
      h5app/src/views/pages/jobhunt/detail.vue
  9. 28 17
      h5app/src/views/pages/jobhunt/edit.vue
  10. 11 8
      h5app/src/views/pages/jobhunt/jobHuntEdit.vue
  11. 9 2
      h5app/src/views/pages/work/log/detail.vue
  12. 12 5
      h5app/src/views/pages/work/log/edit.vue
  13. 1 1
      h5app/src/views/pages/work/log/list.vue
  14. 5 0
      src/main/java/com/hz/employmentsite/config/WebConfiguration.java
  15. 4 1
      src/main/java/com/hz/employmentsite/controller/companyService/PostController.java
  16. 58 0
      src/main/java/com/hz/employmentsite/model/PcPost.java
  17. 11 1
      src/main/java/com/hz/employmentsite/services/impl/companyService/PostServiceImpl.java
  18. 10 1
      src/main/java/com/hz/employmentsite/vo/companyService/PostVo.java
  19. 8 0
      src/main/java/com/hz/employmentsite/vo/jobUserManager/JobUserVo.java
  20. 266 176
      src/main/resources/mapping/PcPostMapper.xml
  21. 10 3
      src/main/resources/mapping/cquery/JobUserCQuery.xml
  22. 4 2
      src/main/resources/mapping/cquery/PostCQuery.xml
  23. 1 1
      src/main/resources/mapping/cquery/SiteUserCQuery.xml
  24. 1 1
      vue/src/views/baseSettings/siteUser/edit.vue
  25. 89 4
      vue/src/views/companyService/post/edit.vue
  26. 1 1
      vue/src/views/jobUserManager/jobuser/edit.vue

+ 1 - 0
doc/待更新脚本

@@ -149,6 +149,7 @@ values('toUser','thing5','companyname'),('toUser','thing4','postName'),('toUser'
 
 --2024-04-23
  alter table pc_profession modify ProfessionName varchar(50)
+ alter table pc_company alter column  companyType int
 
  -- 2023.4.24
  create table sys_user_datarange

+ 28 - 26
h5app/src/views/pages/company/edit.vue

@@ -40,31 +40,34 @@
             </ion-input>
 <!--            <ion-note slot="error">统一信用代码不能为空</ion-note>-->
           </div>
-         <div class="form-select">
-           <ion-label>所属街道<span class="danger">*</span></ion-label>
-<!--           <ion-multi-picker item-content v-model="dataModel.regionCode"-->
-<!--                             :placeholder="defaultAddText" :multiPickerColumns="cityColumns"-->
-<!--                             cancelText="取消" doneText="选择">-->
-<!--           </ion-multi-picker>-->
-           <ion-select interface="action-sheet" placeholder="请选择所属街道" cancel-text="取消"
-                       id="streetCode" v-model="dataModel.streetCode" style="width: 100%;text-align: left;">
-             <ion-select-option v-for="(record,key) in streetList" :key="key"
-                                v-model:value="record.code">
-               {{ record.name }}
-             </ion-select-option>
-           </ion-select>
 
-          </div>
           <div class="form-select">
             <ion-label>所属驿站<span class="danger">*</span></ion-label>
-            <ion-select id="siteID" name="siteID"  cancel-text="取消"  v-model="dataModel.siteID"
-                        interface="action-sheet" placeholder="请选择服务驿站"  style="width: 100%;text-align: left;">
+            <ion-select disabled id="siteID" name="siteID"  cancel-text="取消"  v-model="dataModel.siteID"
+                        interface="action-sheet" placeholder="请选择所属驿站"  style="width: 100%;text-align: left;">
               <ion-select-option v-for="(record,key) in siteList" :key="key"  v-model:value="record.siteID">
                 {{ record.siteName }}
               </ion-select-option>
             </ion-select>
 <!--            <ion-note slot="error">服务驿站不能为空</ion-note>-->
           </div>
+          <ion-label style="padding-left: 10px;">所属街道<span class="danger">*</span></ion-label>
+          <div class="form-select">
+            <ion-select disabled name="regionCode"  id="regionCode" okText="确定" cancelText="取消" v-model="dataModel.regionCode"
+                        interface="action-sheet" placeholder="请选择市/县" style="width:50%;float:left;" @ionChange="changeCity()" >
+            <ion-select-option v-for=" (it,key) in regionList" :key="key" :value="it.code">
+              {{ it.name }}
+            </ion-select-option>
+            </ion-select>
+            <ion-select interface="action-sheet" placeholder="请选择所属街道" cancel-text="取消"
+                        id="streetCode" v-model="dataModel.streetCode" style="width: 50%;float: left;">
+              <ion-select-option v-for="(record,key) in streetList" :key="key"
+                                 v-model:value="record.code">
+                {{ record.name }}
+              </ion-select-option>
+            </ion-select>
+          </div>
+          <div style="width: 100%;overflow: hidden;"></div>
           <div class="form-input">
             <ion-label>办公地址<span class="danger">*</span></ion-label>
             <ion-textarea placeholder="请输入办公地址" label-placement="stacked" :rows="3" :clear-input="true"
@@ -111,11 +114,8 @@
           <div class="form-title">
             其他信息
             <div style="float:right;">
-                <ion-icon :icon="chevronDownOutline" @click="isShow=!isShow" v-show="!isShow"
-                          style="font-size: 24px;"></ion-icon>
-                <ion-icon :icon="chevronUpOutline" @click="isShow=!isShow" v-show="isShow"
-                          style="font-size: 24px;"></ion-icon>
-              </div>
+              <ion-label style="color: red;font-size: 14px;" @click="isShow=!isShow">{{isShow?"收起":"展开"}}</ion-label>
+            </div>
           </div>
 
           <div v-show="isShow" >
@@ -151,7 +151,7 @@
               <ion-select interface="action-sheet" placeholder="请选择企业分类" cancel-text="取消"
                           id="companyType" v-model="dataModel.companyType"  style="width: 100%;text-align: left;">
                 <ion-select-option v-for="(record,key) in companyTypeList" :key="key"
-                                   v-model:value="record.code">
+                                   v-model:value="record.value">
                   {{ record.name }}
                 </ion-select-option>
               </ion-select>
@@ -202,7 +202,7 @@
   </ion-page>
 </template>
 <script lang="ts">
-import {chevronDownOutline, chevronUpOutline, arrowBackOutline} from 'ionicons/icons';
+import {arrowBackOutline} from 'ionicons/icons';
 import {defineComponent, ref, reactive, computed, toRefs} from "vue";
 import {useRoute,useRouter} from "vue-router";
 import {getRegionList, getSiteList, getStreeList} from '@/api/company/index';
@@ -407,6 +407,7 @@ export default defineComponent({
       companyCodeValidate();
       inputDataValidate();
       if(isAllowCommit.value){
+        console.log("ds",formState.dataModel);
         saveCompanyInfo(formState.dataModel).then(result => {
           if (result) {
               router.push({path: './postList', query: {reload:1,id:formState.dataModel.companyID,status:3}});
@@ -435,7 +436,7 @@ export default defineComponent({
       });
     }
     const changeCity = () => {
-      console.log(formState.dataModel.regionCode);
+      //console.log(formState.dataModel.regionCode);
       if (formState.dataModel.regionCode)
         getStreetListData(formState.dataModel.regionCode);
     }
@@ -481,8 +482,6 @@ export default defineComponent({
     return {
       ...toRefs(formState),
       arrowBackOutline,
-      chevronDownOutline,
-      chevronUpOutline,
       route,
       router,
       isShow,
@@ -519,6 +518,9 @@ export default defineComponent({
 
 <style lang="less">
 
+ion-select#siteID.md.select-disabled.legacy-select::after{display: none;}
+ion-select#regionCode.md.select-disabled.legacy-select::after{display: none;}
+
 .custom{
   --placeholder-color: gray;
   --placeholder-opacity: 0.5;

+ 31 - 44
h5app/src/views/pages/company/editPost.vue

@@ -13,23 +13,26 @@
     <ion-content>
       <form autocomplete="off">
         <div class="bw-vue-form">
-        <ion-list>
           <div class="form-title">基本信息</div>
           <div class="form-input">
             <ion-label>岗位名称<span class="danger">*</span></ion-label>
-            <ion-input placeholder="请选择岗位" label-placement="stacked" :clear-input="true"
-                       v-model="dataModel.professionName" style="width: 88%;float:left;">
-            </ion-input>
-            <picker :ProfessionID="dataModel.professionID" aria-disabled="false"  @SetProfessionID="onSetProfessionID" style="width: 10%;float:left;"></picker>
-<!--            <ion-note slot="error">请选择岗位</ion-note>-->
+            <div>
+              <ion-input placeholder="请选择岗位" label-placement="stacked" style="float: left;width:78%;"
+              v-model="dataModel.professionName" class="custom">
+              </ion-input>
+              <ion-item style="width:22%;float: right;padding:0px;margin: 0px;">
+                <post-selection  :ProfessionID="dataModel.professionID" @SetProfessionID="onSetProfessionID"></post-selection>
+              </ion-item>
+            </div>
+            <ion-note v-show="isCommit&&v$.dataModel.professionID.$error" class="danger" >请选择岗位</ion-note>
           </div>
           <div style="width: 100%;overflow: hidden;"></div>
           <div class="form-input">
-          <ion-label>招聘数量(人)<span class="danger">*</span></ion-label>
+            <ion-label>招聘数量(人)<span class="danger">*</span></ion-label>
             <ion-input type="number" placeholder="请输入招聘数量" label-placement="stacked" :clear-input="true"
                        v-model="dataModel.recruitCount" class="custom">
             </ion-input>
-<!--            <ion-note slot="error">请输入招聘数量</ion-note>-->
+            <ion-note v-show="isCommit&&v$.dataModel.professionName.$error" class="danger"  >请输入招聘数量</ion-note>
           </div>
           <div class="form-input">
           <ion-label>招聘日期<span class="danger">*</span></ion-label>
@@ -38,31 +41,32 @@
               <span style="float:left;padding-top: 5px;">至</span>
               <ion-datetime-button datetime="endTime" style="float:left;"></ion-datetime-button>
               <ion-modal :keep-contents-mounted="true">
-                <ion-datetime placeholder="招聘日期" id="startTime"
+                <ion-datetime placeholder="招聘开始日期" id="startTime"
                               v-model="dataModel.startTime"  :prefer-wheel="true"
                               dataformatas="YYYY-MM-DD" presentation="date" cancel-text="取消" done-text="确定"
                               :show-default-buttons="true" style="text-align: left;width: 100%;">
                 </ion-datetime>
               </ion-modal>
               <ion-modal :keep-contents-mounted="true">
-                <ion-datetime placeholder="招聘日期" id="endTime"
+                <ion-datetime placeholder="招聘结束日期" id="endTime"
                               v-model="dataModel.endTime"  :prefer-wheel="true"
                               dataformatas="YYYY-MM-DD" presentation="date" cancel-text="取消" done-text="确定"
                               :show-default-buttons="true" style="text-align: left;width: 100%;">
                 </ion-datetime>
               </ion-modal>
-              <!--            <ion-note slot="error">招聘开始日期与结束日期不能为空</ion-note>-->
             </div>
           </div>
-          <div style="overflow: hidden;width:100%;"></div>
+          <div style="width: 100%;overflow: hidden;"></div>
           <div class="form-input">
             <ion-label>招聘地点<span class="danger">*</span></ion-label>
             <ion-textarea placeholder="请输入招聘地点" :rows="3" label-placement="stacked" :clear-input="true"
                        v-model="dataModel.jobPlace" class="custom" style="border-bottom: 1px solid #fff2e8;">
             </ion-textarea>
-<!--            <ion-note slot="error">请输入招聘地点</ion-note>-->
+              <ion-note v-show="isCommit&&v$.dataModel.jobPlace.$error" class="danger"  >请输入招聘数量</ion-note>
           </div>
-          <div class="form-title">
+        </div>
+        <div class="bw-vue-form">
+          <div class="form-title" >
             其他信息
             <div style="float: right;">
               <ion-icon :icon="chevronDownOutline"  @click="isShow=!isShow" v-if="!isShow"
@@ -96,13 +100,13 @@
               </ion-select>
             </div>
             <div class="form-input">
-            <ion-label>试用期(月)</ion-label>
+              <ion-label>试用期(月)</ion-label>
               <ion-input type="number" placeholder="请输入试用期月数" label-placement="stacked"
                          v-model="dataModel.trailMonths" class="custom">
               </ion-input>
             </div>
             <div class="form-input">
-            <ion-label>试用期月薪(元)</ion-label>
+              <ion-label>试用期月薪(元)</ion-label>
               <div>
                 <ion-input placeholder="请输入金额" label-placement="stacked" style="float:left;width:40%;"
                            v-model="dataModel.trailMinSalary" class="custom">
@@ -125,7 +129,7 @@
               </ion-select>
             </div>
             <div class="form-select">
-            <ion-label>学历要求</ion-label>
+              <ion-label>学历要求</ion-label>
               <ion-select interface="action-sheet" placeholder="请选择学历" cancel-text="取消"
                           id="cultureRank" v-model="dataModel.cultureRank" style="width: 100%;text-align: left;">
                 <ion-select-option v-for="(record,key) in cultureRankList" :key="key"
@@ -135,19 +139,18 @@
               </ion-select>
             </div>
             <div class="form-input">
-            <ion-label>福利待遇</ion-label>
+              <ion-label>福利待遇</ion-label>
               <ion-textarea placeholder="请输入福利待遇" :rows="3" label-placement="stacked"
                             v-model="dataModel.welfare" class="custom" style="border-bottom: 1px solid #fff2e8;">
               </ion-textarea>
             </div>
             <div class="form-input">
-            <ion-label>其他要求</ion-label>
+              <ion-label>其他要求</ion-label>
               <ion-textarea placeholder="请输入其他要求" :rows="3" label-placement="stacked"
                             v-model="dataModel.postDesc" class="custom" style="border-bottom: 1px solid #fff2e8;">
               </ion-textarea>
             </div>
           </div>
-        </ion-list>
         </div>
       </form>
     </ion-content>
@@ -165,19 +168,20 @@ import {useRoute, useRouter} from "vue-router";
 import {alertController, onIonViewDidEnter} from "@ionic/vue";
 import {useVuelidate} from "@vuelidate/core";
 import {getPostByID,savePost} from "@/api/post";
-import {minLength, required} from "@vuelidate/validators";
+import {required} from "@vuelidate/validators";
 import {getSysDictionaryList} from "@/api/system/dictionary";
 import dayjs from "dayjs";
-import Picker from "@/components/picker.vue";
+import PostSelection from "@/components/postSelection.vue";
 
 export default defineComponent({
   name: 'PostEdit',
-  components:{Picker},
+  components:{PostSelection},
   setup() {
     const router = useRouter();
     const route = useRoute();
     const isShow = ref<any>(false);
     const isEdit = ref<any>(false);
+    const isCommit = ref<any>(false);
     const formState = reactive({
       dataModel: {
         companyID:null,
@@ -204,6 +208,7 @@ export default defineComponent({
       return {
         dataModel: {
           professionName: {required},
+          professionID:{required},
           recruitCount: {required},
           startTime: {required},
           endTime: {required},
@@ -234,6 +239,7 @@ export default defineComponent({
       formState.dataModel.professionName = data.text;
     }
     const onSave = async function (){
+      isCommit.value =true;
       const isFormCorrect = await v$.value.$validate();
       console.log("当前岗位信息",formState.dataModel);
       if (!isFormCorrect) {
@@ -263,6 +269,7 @@ export default defineComponent({
     }
 
     const loadData = async (postID: any,companyID:any) => {
+      isCommit.value =false;
       await getWorkYearList();
       await getCultureRankList();
       const reqData = await getPostByID(postID);
@@ -286,6 +293,7 @@ export default defineComponent({
       chevronDownOutline,
       chevronUpOutline,
       arrowBackOutline,
+      isCommit,
       route,
       router,
       isShow,
@@ -304,27 +312,6 @@ export default defineComponent({
 
 <style lang="less">
 
-.custom{
-  --placeholder-color: gray;
-  --placeholder-opacity: 0.5;
-}
-
-.title-item{
-  margin-left: 15px;
-  color:#1c3d70 !important;
-  font-size: 14px !important;
-  font-weight: bold;
-}
-
-ion-item {
-  --border-width: 0;
-  --border-style: none;
-
-  ion-label, input, ion-select, ion-datetime {
-    font-size: 14px !important;
-  }
-}
-
 .stepFlex {
   margin: 0;
   display: flex;

+ 23 - 30
h5app/src/views/pages/jobUserInfo/companyEdit.vue

@@ -38,28 +38,7 @@
             </ion-input>
             <!--            <ion-note slot="error">统一信用代码不能为空</ion-note>-->
           </div>
-          <div class="form-select">
-            <ion-label>所属街道<span class="danger">*</span></ion-label>
-            <ion-select interface="action-sheet" placeholder="请选择区/县" cancel-text="取消"
-                        id="regionCode" v-model="dataModel.regionCode" style="width: 100%;text-align: left;">
-              <ion-select-option v-for="(record,key) in regionList" :key="key"
-                                 v-model:value="record.code">
-                {{ record.name }}
-              </ion-select-option>
-            </ion-select>
-            <!--           <ion-multi-picker item-content v-model="dataModel.regionCode"-->
-            <!--                             :placeholder="defaultAddText" :multiPickerColumns="cityColumns"-->
-            <!--                             cancelText="取消" doneText="选择">-->
-            <!--           </ion-multi-picker>-->
-            <ion-select interface="action-sheet" placeholder="请选择所属街道" cancel-text="取消"
-                        id="streetCode" v-model="dataModel.streetCode" style="width: 100%;text-align: left;">
-              <ion-select-option v-for="(record,key) in streetList" :key="key"
-                                 v-model:value="record.code">
-                {{ record.name }}
-              </ion-select-option>
-            </ion-select>
 
-          </div>
           <div class="form-select">
             <ion-label>所属驿站<span class="danger">*</span></ion-label>
             <ion-select id="siteID" name="siteID"  cancel-text="取消"  v-model="dataModel.siteID"
@@ -70,6 +49,22 @@
             </ion-select>
             <!--            <ion-note slot="error">服务驿站不能为空</ion-note>-->
           </div>
+          <ion-label style="padding-left: 10px;">所属街道<span class="danger">*</span></ion-label>
+          <div class="form-select">
+            <ion-select disabled name="regionCode"  id="regionCode" okText="确定" cancelText="取消" v-model="dataModel.regionCode"
+                        interface="action-sheet" placeholder="请选择市/县" style="width:50%;float:left;" @ionChange="changeCity()" >
+              <ion-select-option v-for=" (it,key) in regionList" :key="key" :value="it.code">
+                {{ it.name }}
+              </ion-select-option>
+            </ion-select>
+            <ion-select interface="action-sheet" placeholder="请选择所属街道" cancel-text="取消"
+                        id="streetCode" v-model="dataModel.streetCode" style="width: 50%;float: left;">
+              <ion-select-option v-for="(record,key) in streetList" :key="key"
+                                 v-model:value="record.code">
+                {{ record.name }}
+              </ion-select-option>
+            </ion-select>
+          </div>
           <div class="form-input">
             <ion-label>办公地址<span class="danger">*</span></ion-label>
             <ion-textarea placeholder="请输入办公地址" label-placement="stacked" :rows="3" :clear-input="true"
@@ -116,10 +111,7 @@
           <div class="form-title">
             其他信息
             <div style="float:right;">
-              <ion-icon :icon="chevronDownOutline" @click="isShow=!isShow" v-show="!isShow"
-                        style="font-size: 24px;"></ion-icon>
-              <ion-icon :icon="chevronUpOutline" @click="isShow=!isShow" v-show="isShow"
-                        style="font-size: 24px;"></ion-icon>
+              <ion-label style="color: red;font-size: 14px;" @click="isShow=!isShow">{{isShow?"收起":"展开"}}</ion-label>
             </div>
           </div>
 
@@ -156,7 +148,7 @@
               <ion-select interface="action-sheet" placeholder="请选择企业分类" cancel-text="取消"
                           id="companyType" v-model="dataModel.companyType"  style="width: 100%;text-align: left;">
                 <ion-select-option v-for="(record,key) in companyTypeList" :key="key"
-                                   v-model:value="record.code">
+                                   v-model:value="record.value">
                   {{ record.name }}
                 </ion-select-option>
               </ion-select>
@@ -208,7 +200,7 @@
 </template>
 <script lang="ts">
 import {computed, defineComponent, reactive, ref, toRefs} from "vue";
-import {arrowBackOutline, chevronDownOutline, chevronUpOutline} from 'ionicons/icons';
+import {arrowBackOutline} from 'ionicons/icons';
 import {useRouter} from "vue-router";
 import dayjs from "dayjs";
 import {useRoute} from "vue-router/dist/vue-router";
@@ -399,7 +391,7 @@ export default defineComponent({
       formState.dataModel = reqData;
       isLongDate.value = formState.dataModel.validDate == "2099-12-31T00:00:00.000+08:00";
       formState.dataModel.openId = openId;
-      console.log('dataModel',formState.dataModel);
+      //console.log('dataModel',formState.dataModel);
       if(formState.dataModel.regionCode!=null) getStreetListData(formState.dataModel.regionCode);
     };
 
@@ -452,8 +444,6 @@ export default defineComponent({
     return {
       ...toRefs(formState),
       arrowBackOutline,
-      chevronDownOutline,
-      chevronUpOutline,
       route,
       router,
       isShow,
@@ -480,6 +470,9 @@ export default defineComponent({
 </script>
 <style lang="less">
 
+ion-select#siteID.md.select-disabled.legacy-select::after{display: none;}
+ion-select#regionCode.md.select-disabled.legacy-select::after{display: none;}
+
 .custom{
   --placeholder-color: gray;
   --placeholder-opacity: 0.5;

+ 10 - 7
h5app/src/views/pages/jobUserInfo/jobHuntEdit.vue

@@ -44,11 +44,14 @@
           </div>
           <div class="form-input">
             <ion-label>求职岗位<span class="danger">*</span></ion-label>
-            <ion-input placeholder="请选择岗位" label-placement="stacked"
-                       v-model="dataModel.professionName" style="float:left;width: 88%;" >
-            </ion-input>
-            <picker :ProfessionID="dataModel.professionID" aria-disabled="false"
-                    @SetProfessionID="onSetProfessionID" style="float:left;width: 10%;"></picker>
+            <div>
+              <ion-input placeholder="请选择岗位" label-placement="stacked" style="float: left;width:78%;"
+                         v-model="dataModel.professionName" class="custom">
+              </ion-input>
+              <ion-item style="width:22%;float: right;padding:0px;margin: 0px;">
+                <post-selection :ProfessionID="dataModel.professionID" @SetProfessionID="onSetProfessionID"></post-selection>
+              </ion-item>
+            </div>
             <!--            <ion-note slot="error">请选择求职岗位</ion-note>-->
           </div>
           <div class="form-select">
@@ -134,7 +137,7 @@ import {getJobHuntByID,saveJobHunt} from "@/api/jobHuntInfo";
 import {getSysDictionaryList} from '@/api/system/dictionary';
 import {alertController, onIonViewDidEnter} from "@ionic/vue";
 import dayjs from "dayjs";
-import Picker from "@/components/picker.vue";
+import PostSelection from "@/components/postSelection.vue";
 
 interface huntModel {
   dataModel: any;
@@ -155,7 +158,7 @@ export class ExampleComponent {
 
 export default defineComponent({
   name: 'jobHuntEdit',
-  components:{Picker},
+  components:{PostSelection},
   setup() {
     const router = useRouter();
     const route = useRoute();

+ 12 - 8
h5app/src/views/pages/jobUserInfo/postEdit.vue

@@ -17,11 +17,15 @@
           <div class="form-title">基本信息</div>
           <div class="form-input">
             <ion-label>岗位名称<span class="danger">*</span></ion-label>
-            <ion-input placeholder="请选择岗位" label-placement="stacked" disabled
-                       v-model="dataModel.professionName" style="width: 88%;float:left;color:black;" >
-            </ion-input>
-            <picker :ProfessionID="dataModel.professionID" aria-disabled="false"  @SetProfessionID="onSetProfessionID" style="width: 10%;float:left;"></picker>
-<!--            <ion-note slot="error">请选择岗位</ion-note>-->
+            <div>
+              <ion-input placeholder="请选择岗位" label-placement="stacked" style="float: left;width:78%;"
+                         v-model="dataModel.professionName" class="custom">
+              </ion-input>
+              <ion-item style="width:22%;float: right;padding:0px;margin: 0px;">
+                <post-selection  :ProfessionID="dataModel.professionID" @SetProfessionID="onSetProfessionID"></post-selection>
+              </ion-item>
+            </div>
+<!--            <ion-note v-show="isCommit&&v$.dataModel.professionID.$error" class="danger" >请选择岗位</ion-note>-->
           </div>
           <div style="width: 100%;overflow: hidden;"></div>
           <div class="form-input">
@@ -165,14 +169,14 @@ import {useRoute, useRouter} from "vue-router";
 import {alertController, onIonViewDidEnter} from "@ionic/vue";
 import {useVuelidate} from "@vuelidate/core";
 import {getPostByID,savePost} from "@/api/post";
-import {minLength, required} from "@vuelidate/validators";
+import {required} from "@vuelidate/validators";
 import {getSysDictionaryList} from "@/api/system/dictionary";
 import dayjs from "dayjs";
-import Picker from "@/components/picker.vue";
+import postSelection from "@/components/postSelection.vue";
 
 export default defineComponent({
   name: 'PostEdit',
-  components:{Picker},
+  components:{postSelection},
   setup() {
     const router = useRouter();
     const route = useRoute();

+ 28 - 17
h5app/src/views/pages/jobUserInfo/userEdit.vue

@@ -63,24 +63,40 @@
               </ion-select>
               <!--          <ion-note slot="error">所属驿站不能为空</ion-note>-->
             </div>
+            <ion-label style="padding-left: 10px;">所属街道<span class="danger">*</span></ion-label>
             <div class="form-select">
-              <ion-label>市/县<span class="danger">*</span></ion-label>
-              <ion-select class="disable" disabled name="regionCode"  id="regionCode" okText="确定" cancelText="取消" v-model="baseData.regionCode"
-                          interface="action-sheet" placeholder="请选择市/县" style="width:100%;text-align:left;" @ionChange="regionChange()" >
+              <ion-select disabled name="regionCode"  id="regionCode" okText="确定" cancelText="取消" v-model="baseData.regionCode"
+                          interface="action-sheet" placeholder="请选择市/县" style="width:50%;float:left;" @ionChange="regionChange()" >
                 <ion-select-option v-for=" (it,key) in regionList" :key="key" :value="it.code">
                   {{ it.name }}
                 </ion-select-option>
               </ion-select>
-            </div>
-            <div class="form-select">
-              <ion-label>所在街道<span class="danger">*</span></ion-label>
-              <ion-select name="streetCode"  id="streetCode" okText="确定" cancelText="取消" v-model="baseData.streetCode"
-                          interface="action-sheet" placeholder="请选择镇/街" style="width:100%;text-align:left;">
-                <ion-select-option v-for=" (it,key) in streetList" :key="key" :value="it.code">
-                  {{ it.name }}
+              <ion-select interface="action-sheet" placeholder="请选择所属街道" cancel-text="取消"
+                          id="streetCode" v-model="baseData.streetCode" style="width: 50%;float: left;">
+                <ion-select-option v-for="(record,key) in streetList" :key="key"
+                                   v-model:value="record.code">
+                  {{ record.name }}
                 </ion-select-option>
               </ion-select>
             </div>
+<!--            <div class="form-select">-->
+<!--              <ion-label>市/县<span class="danger">*</span></ion-label>-->
+<!--              <ion-select class="disable" disabled name="regionCode"  id="regionCode" okText="确定" cancelText="取消" v-model="baseData.regionCode"-->
+<!--                          interface="action-sheet" placeholder="请选择市/县" style="width:100%;text-align:left;" @ionChange="regionChange()" >-->
+<!--                <ion-select-option v-for=" (it,key) in regionList" :key="key" :value="it.code">-->
+<!--                  {{ it.name }}-->
+<!--                </ion-select-option>-->
+<!--              </ion-select>-->
+<!--            </div>-->
+<!--            <div class="form-select">-->
+<!--              <ion-label>所在街道<span class="danger">*</span></ion-label>-->
+<!--              <ion-select name="streetCode"  id="streetCode" okText="确定" cancelText="取消" v-model="baseData.streetCode"-->
+<!--                          interface="action-sheet" placeholder="请选择镇/街" style="width:100%;text-align:left;">-->
+<!--                <ion-select-option v-for=" (it,key) in streetList" :key="key" :value="it.code">-->
+<!--                  {{ it.name }}-->
+<!--                </ion-select-option>-->
+<!--              </ion-select>-->
+<!--            </div>-->
             <div class="form-input">
               <ion-label>住址<span class="danger">*</span></ion-label>
               <ion-input name="address" id="address"  style="text-align: left;"  class="custom" :clear-input="true"
@@ -109,10 +125,7 @@
             <div class="form-title">
               其他信息
               <div style="float: right;">
-                <ion-icon :icon="chevronDownOutline"  @click="expandChange" v-if="!expand"
-                          style="font-size: 24px;"></ion-icon>
-                <ion-icon :icon="chevronUpOutline"  @click="expandChange" v-if="expand"
-                          style="font-size: 24px;"></ion-icon>
+                <ion-label style="color: red;font-size: 14px;" @click="expand=!expand">{{expand?"收起":"展开"}}</ion-label>
               </div>
             </div>
             <div v-if="expand">
@@ -378,7 +391,7 @@
 </template>
 <script lang="ts">
 import {computed, defineComponent, reactive, ref, toRefs, watch} from "vue";
-import {addCircleOutline, arrowBackOutline, chevronDownOutline, chevronUpOutline, trashOutline} from 'ionicons/icons';
+import {addCircleOutline, arrowBackOutline, trashOutline} from 'ionicons/icons';
 import {useRoute, useRouter} from "vue-router";
 import {alertController, onIonViewDidEnter} from "@ionic/vue";
 import {baseInfoSave, getJobUserById} from "@/api/jobUserInfo";
@@ -758,8 +771,6 @@ export default defineComponent({
 
     return {
       ...toRefs(baseInfoData),
-      chevronDownOutline,
-      chevronUpOutline,
       arrowBackOutline,
       addCircleOutline,
       trashOutline,

+ 78 - 5
h5app/src/views/pages/jobhunt/detail.vue

@@ -16,25 +16,98 @@
           <ion-label>姓名</ion-label>
           <ion-text>{{ dataModel.name }}</ion-text>
         </div>
+        <div class="form-detail">
+          <ion-label>身份证号码</ion-label>
+          <ion-text>{{ dataModel.identityNumber }}</ion-text>
+        </div>
         <div class="form-detail">
           <ion-label>性别</ion-label>
           <ion-text>{{ dataModel.genderName }}</ion-text>
         </div>
+        <div class="form-detail">
+          <ion-label>联系电话</ion-label>
+          <ion-text>{{ dataModel.userMobile }}</ion-text>
+        </div>
         <div class="form-detail">
           <ion-label>所属驿站</ion-label>
           <ion-text>{{ dataModel.siteName }}</ion-text>
         </div>
         <div class="form-detail">
-          <ion-label>状态</ion-label>
+          <ion-label>所属街道</ion-label>
+          <ion-text>{{ dataModel.regionName+"-"+dataModel.streetName }}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>居住地址</ion-label>
+          <ion-text>{{ dataModel.address }}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>就业状态</ion-label>
           <ion-text>{{ dataModel.jobStatusName }}</ion-text>
         </div>
         <div class="form-detail">
-          <ion-label>联系电话</ion-label>
-          <ion-text>{{ dataModel.userMobile }}</ion-text>
+          <ion-label>重点人员类别</ion-label>
+          <ion-text>{{ dataModel.keyTypeName }}</ion-text>
         </div>
         <div class="form-detail">
-          <ion-label>居住地址</ion-label>
-          <ion-text>{{ dataModel.address }}</ion-text>
+          <ion-label>民族</ion-label>
+          <ion-text>{{ dataModel.nation }}</ion-text>
+        </div>
+
+        <div class="form-detail">
+          <ion-label>政治面貌</ion-label>
+          <ion-text>{{ dataModel.politicsStatusName }}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>出生地</ion-label>
+          <ion-text>{{ dataModel.birthPlace }}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>户口性质</ion-label>
+          <ion-text>{{ dataModel.familyNatureName }}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>文化程度</ion-label>
+          <ion-text>{{ dataModel.cultureName}}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>健康状况</ion-label>
+          <ion-text>{{ dataModel.healthName }}</ion-text>
+        </div>
+        <div class="form-detail" name="bloodTypeName">
+          <ion-label>血型</ion-label>
+          <ion-text>{{ dataModel.bloodTypeName }}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>身高</ion-label>
+          <ion-text v-if="dataModel.height!=null">{{ dataModel.height +"cm"}}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>视力</ion-label>
+          <ion-text>{{ dataModel.vision}}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>体重</ion-label>
+          <ion-text  v-if="dataModel.weight!=null">{{ dataModel.weight +"kg"}}</ion-text>
+        </div>
+        <div class="form-detail" name="maritalStatusName">
+          <ion-label>婚姻状况</ion-label>
+          <ion-text>{{ dataModel.maritalStatusName}}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>联系人</ion-label>
+          <ion-text>{{ dataModel.userName}}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>电子邮箱</ion-label>
+          <ion-text>{{ dataModel.email}}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>家庭住址</ion-label>
+          <ion-text>{{ dataModel.familyAddress}}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>兴趣爱好</ion-label>
+          <ion-text>{{ dataModel.hobby}}</ion-text>
         </div>
       </div>
     </ion-content>

+ 28 - 17
h5app/src/views/pages/jobhunt/edit.vue

@@ -63,24 +63,40 @@
               </ion-select>
               <!--          <ion-note slot="error">所属驿站不能为空</ion-note>-->
             </div>
+            <ion-label style="padding-left: 10px;">所属街道<span class="danger">*</span></ion-label>
             <div class="form-select">
-              <ion-label>市/县<span class="danger">*</span></ion-label>
-              <ion-select class="disable" disabled name="regionCode"  id="regionCode" okText="确定" cancelText="取消" v-model="baseData.regionCode"
-                          interface="action-sheet" placeholder="请选择市/县" style="width:100%;text-align:left;" @ionChange="regionChange()" >
+              <ion-select disabled name="regionCode"  id="regionCode" okText="确定" cancelText="取消" v-model="baseData.regionCode"
+                          interface="action-sheet" placeholder="请选择市/县" style="width:50%;float:left;" @ionChange="regionChange()" >
                 <ion-select-option v-for=" (it,key) in regionList" :key="key" :value="it.code">
                   {{ it.name }}
                 </ion-select-option>
               </ion-select>
-            </div>
-            <div class="form-select">
-              <ion-label>所在街道<span class="danger">*</span></ion-label>
-              <ion-select name="streetCode"  id="streetCode" okText="确定" cancelText="取消" v-model="baseData.streetCode"
-                          interface="action-sheet" placeholder="请选择镇/街" style="width:100%;text-align:left;">
-                <ion-select-option v-for=" (it,key) in streetList" :key="key" :value="it.code">
-                  {{ it.name }}
+              <ion-select interface="action-sheet" placeholder="请选择所属街道" cancel-text="取消"
+                          id="streetCode" v-model="baseData.streetCode" style="width: 50%;float: left;">
+                <ion-select-option v-for="(record,key) in streetList" :key="key"
+                                   v-model:value="record.code">
+                  {{ record.name }}
                 </ion-select-option>
               </ion-select>
             </div>
+<!--            <div class="form-select">-->
+<!--              <ion-label>市/县<span class="danger">*</span></ion-label>-->
+<!--              <ion-select disabled name="regionCode"  id="regionCode" okText="确定" cancelText="取消" v-model="baseData.regionCode"-->
+<!--                          interface="action-sheet" placeholder="请选择市/县" style="width:100%;text-align:left;" @ionChange="regionChange()" >-->
+<!--                <ion-select-option v-for=" (it,key) in regionList" :key="key" :value="it.code">-->
+<!--                  {{ it.name }}-->
+<!--                </ion-select-option>-->
+<!--              </ion-select>-->
+<!--            </div>-->
+<!--            <div class="form-select">-->
+<!--              <ion-label>所在街道<span class="danger">*</span></ion-label>-->
+<!--              <ion-select name="streetCode"  id="streetCode" okText="确定" cancelText="取消" v-model="baseData.streetCode"-->
+<!--                          interface="action-sheet" placeholder="请选择镇/街" style="width:100%;text-align:left;">-->
+<!--                <ion-select-option v-for=" (it,key) in streetList" :key="key" :value="it.code">-->
+<!--                  {{ it.name }}-->
+<!--                </ion-select-option>-->
+<!--              </ion-select>-->
+<!--            </div>-->
             <div class="form-input">
               <ion-label>住址<span class="danger">*</span></ion-label>
               <ion-input name="address" id="address"  style="text-align: left;"  class="custom" :clear-input="true"
@@ -109,10 +125,7 @@
         <div class="form-title">
           其他信息
           <div style="float: right;">
-            <ion-icon :icon="chevronDownOutline"  @click="expandChange" v-if="!expand"
-                      style="font-size: 24px;"></ion-icon>
-            <ion-icon :icon="chevronUpOutline"  @click="expandChange" v-if="expand"
-                      style="font-size: 24px;"></ion-icon>
+            <ion-label style="color: red;font-size: 14px;" @click="expand=!expand">{{expand?"收起":"展开"}}</ion-label>
           </div>
         </div>
         <div v-if="expand">
@@ -379,7 +392,7 @@
   </ion-page>
 </template>
 <script lang="ts">
-import {chevronDownOutline, chevronUpOutline,arrowBackOutline,addCircleOutline,trashOutline} from 'ionicons/icons';
+import {arrowBackOutline,addCircleOutline,trashOutline} from 'ionicons/icons';
 import {reactive,defineComponent, computed,watch,ref,toRefs} from "vue";
 import {post} from "@/api/common";
 import {useRoute, useRouter} from "vue-router";
@@ -758,8 +771,6 @@ export default defineComponent({
 
     return {
       ...toRefs(baseInfoData),
-      chevronDownOutline,
-      chevronUpOutline,
       arrowBackOutline,
       addCircleOutline,
       trashOutline,

+ 11 - 8
h5app/src/views/pages/jobhunt/jobHuntEdit.vue

@@ -43,12 +43,15 @@
 <!--              <ion-note slot="error">求职类型不能为空</ion-note>-->
           </div>
           <div class="form-input">
-            <ion-label>求职岗位<span class="danger">*</span></ion-label>
-            <ion-input placeholder="请选择岗位" label-placement="stacked"
-                       v-model="dataModel.professionName" style="float:left;width: 88%;" >
-            </ion-input>
-            <picker :ProfessionID="dataModel.professionID" aria-disabled="false"
-                    @SetProfessionID="onSetProfessionID" style="float:left;width: 10%;"></picker>
+            <ion-label>岗位名称<span class="danger">*</span></ion-label>
+            <div>
+              <ion-input placeholder="请选择岗位" label-placement="stacked" style="float: left;width:78%;"
+                         v-model="dataModel.professionName" class="custom">
+              </ion-input>
+              <ion-item style="width:22%;float: right;padding:0px;margin: 0px;">
+                <post-selection :ProfessionID="dataModel.professionID" @SetProfessionID="onSetProfessionID"></post-selection>
+              </ion-item>
+            </div>
             <!--            <ion-note slot="error">请选择求职岗位</ion-note>-->
           </div>
           <div class="form-select">
@@ -134,7 +137,7 @@ import {getJobHuntByID,saveJobHunt} from "@/api/jobHuntInfo";
 import {getSysDictionaryList} from '@/api/system/dictionary';
 import {alertController, onIonViewDidEnter} from "@ionic/vue";
 import dayjs from "dayjs";
-import Picker from "@/components/picker.vue";
+import PostSelection from "@/components/postSelection.vue";
 
 interface huntModel {
   dataModel: any;
@@ -155,7 +158,7 @@ export class ExampleComponent {
 
 export default defineComponent({
   name: 'jobHuntEdit',
-  components:{Picker},
+  components:{PostSelection},
   setup() {
     const router = useRouter();
     const route = useRoute();

+ 9 - 2
h5app/src/views/pages/work/log/detail.vue

@@ -41,6 +41,13 @@
           <ion-text>{{ recordsCount.RecordsJobhuntNum }}</ion-text>
         </div>
       </div>
+      <div class="form-detail" style="margin-top: 5px">
+        <ion-label style="color: #8c8f93;margin-left: 10px;">
+          照片
+        </ion-label>
+        <b-image v-if="workLogData.dataModel.doWorkID" :file-ref-id="workLogData.dataModel.doWorkID" :readonly="true"
+                 :is-single="false"></b-image>
+      </div>
     </ion-content>
     <ion-loading
         :is-open="loading"
@@ -59,6 +66,7 @@ import {arrowBackOutline} from 'ionicons/icons';
 import {required} from "@vuelidate/validators";
 import {useVuelidate} from "@vuelidate/core";
 import dayjs from "dayjs";
+import BImage from "@/components/bImage.vue";
 
 interface workLogModel {
   dataModel:any
@@ -105,10 +113,9 @@ const loadData = async (doWorkID: any) => {
   await getWorkTypeList();
   const reqData = await getWorkLogById(doWorkID);
   workLogData.dataModel = reqData;
-  if(workLogData.dataModel.workTime==null){
+  if (workLogData.dataModel.workTime == null) {
     workLogData.dataModel.workTime = dayjs(new Date().toLocaleDateString()).format("YYYY-MM-DD")+"T00:00:00.000+08:00";
   }
-  console.log("初始化dataModel",workLogData.dataModel);
   // 查询当天登记业务数据数量
   await getRecordsCount(workLogData.dataModel.userId, workLogData.dataModel.workTime).then((res:any)=>{
     Object.keys(recordsCount).forEach((key)=>{

+ 12 - 5
h5app/src/views/pages/work/log/edit.vue

@@ -27,7 +27,6 @@
                               :show-default-buttons="true">
                 </ion-datetime>
               </ion-modal>
-<!--              <span style="margin-right: 5px; color: #02a6f1">选择</span>-->
             </div>
           </div>
           <div class="form-select">
@@ -48,6 +47,13 @@
             </ion-label>
             <ion-textarea name="workContent" id="workContent" placeholder="请输入工作内容" :rows="3" v-model="dataModel.workContent"></ion-textarea>
           </div>
+          <div class="form-input">
+            <ion-label>
+              照片
+            </ion-label>
+            <b-image v-if="dataModel.doWorkID" :file-ref-id="dataModel.doWorkID" :readonly="false"
+                     :is-single="false"></b-image>
+          </div>
         </div>
       </form>
     </ion-content>
@@ -71,6 +77,7 @@ import {arrowBackOutline} from 'ionicons/icons';
 import {required} from "@vuelidate/validators";
 import {useVuelidate} from "@vuelidate/core";
 import dayjs from "dayjs";
+import BImage from "@/components/bImage.vue";
 
 interface workLogModel {
   dataModel:any
@@ -82,6 +89,7 @@ interface SelectProps {
 
 export default defineComponent({
   name: 'WorkLogEdit',
+  components: {BImage},
   setup() {
     const router = useRouter();
     const route = useRoute();
@@ -90,7 +98,7 @@ export default defineComponent({
     const workLogData = reactive<workLogModel>({
       dataModel:{
         doWorkID: null,
-        workTime: dayjs().format("YYYY-MM-DD"),
+        workTime: null,
         doTypeID:null,
         workContent: null
     }});
@@ -152,10 +160,9 @@ export default defineComponent({
       await getWorkTypeList();
       const reqData = await getWorkLogById(doWorkID);
       workLogData.dataModel = reqData;
-      if(workLogData.dataModel.workTime==null){
-         workLogData.dataModel.workTime = dayjs(new Date().toLocaleDateString()).format("YYYY-MM-DD")+"T00:00:00.000+08:00";
+      if (workLogData.dataModel.workTime == null) {
+        workLogData.dataModel.workTime = dayjs(new Date().toLocaleDateString()).format("YYYY-MM-DD") + "T00:00:00.000+08:00";
       }
-      console.log("初始化dataModel",workLogData.dataModel);
       loading.value = false;
     };
 

+ 1 - 1
h5app/src/views/pages/work/log/list.vue

@@ -40,7 +40,7 @@
           <ion-list>
             <div v-for="(record,key) in dataList" :key="key">
               <ion-item-sliding>
-                <ion-item detail @click="onDetail(record)">
+                <ion-item detail @click="onDetail(record.doWorkID)">
                   <ion-grid @click="onDetail(record.doWorkID)">
                     <ion-row>
                       <ion-col>

+ 5 - 0
src/main/java/com/hz/employmentsite/config/WebConfiguration.java

@@ -77,6 +77,11 @@ public class WebConfiguration implements WebMvcConfigurer {
         excludePath.add("/api/jobUserService/education/getListByJobUserID");//查询某求职人员所有教育经验(分页)
         excludePath.add("/api/jobUserService/jobHunt/get"); //获取单条求职意向
         excludePath.add("/api/jobUserService/jobHunt/getList");//查询某求职人员所有求职意向(分页)
+        excludePath.add("/api/user/getUserInfo");//查询当前登录人信息
+        excludePath.add("/api/system/dictionary/getDictionaryItemByCodeList");//查询相关字典信息
+        excludePath.add("/api/system/area/getCityList");//查询相关市区信息
+        excludePath.add("/api/system/area/getAreaList");//查询相关街道信息
+        excludePath.add("/api/jobusermgr/recommendmgt/getProfessionLevelList");//查询所有求职岗位信息
 
 
         excludePath.add("/api/wx/**");

+ 4 - 1
src/main/java/com/hz/employmentsite/controller/companyService/PostController.java

@@ -86,7 +86,10 @@ public class PostController {
             data = new PostVo();
             data.postID = UUID.randomUUID().toString();
             data.startTime = new Date();
-            data.endTime = new Date();
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(new Date());
+            calendar.add(Calendar.MONTH, 1);
+            data.endTime = calendar.getTime();
             data.recordStatus=1;
         }
         return RespGenerstor.success(data);

+ 58 - 0
src/main/java/com/hz/employmentsite/model/PcPost.java

@@ -68,6 +68,16 @@ public class PcPost {
 
     private String postDesc;
 
+    private String contactName;
+
+    private String contactMobile;
+
+    private String contactEmail;
+
+    private Integer workNatureID;
+
+    private Integer tagID;
+
     public String getPostID() {
         return postID;
     }
@@ -323,4 +333,52 @@ public class PcPost {
     public void setPostDesc(String postDesc) {
         this.postDesc = postDesc == null ? null : postDesc.trim();
     }
+
+    public Boolean getTrail() {
+        return isTrail;
+    }
+
+    public void setTrail(Boolean trail) {
+        isTrail = trail;
+    }
+
+    public String getContactName() {
+        return contactName;
+    }
+
+    public void setContactName(String contactName) {
+        this.contactName = contactName;
+    }
+
+    public String getContactMobile() {
+        return contactMobile;
+    }
+
+    public void setContactMobile(String contactMobile) {
+        this.contactMobile = contactMobile;
+    }
+
+    public String getContactEmail() {
+        return contactEmail;
+    }
+
+    public void setContactEmail(String contactEmail) {
+        this.contactEmail = contactEmail;
+    }
+
+    public Integer getWorkNatureID() {
+        return workNatureID;
+    }
+
+    public void setWorkNatureID(Integer workNatureID) {
+        this.workNatureID = workNatureID;
+    }
+
+    public Integer getTagID() {
+        return tagID;
+    }
+
+    public void setTagID(Integer tagID) {
+        this.tagID = tagID;
+    }
 }

+ 11 - 1
src/main/java/com/hz/employmentsite/services/impl/companyService/PostServiceImpl.java

@@ -9,8 +9,8 @@ import com.hz.employmentsite.model.*;
 import com.hz.employmentsite.services.service.companyService.PostService;
 import com.hz.employmentsite.services.service.system.DictionaryService;
 import com.hz.employmentsite.util.StringUtils;
-import com.hz.employmentsite.vo.companyService.RecommendPostVo;
 import com.hz.employmentsite.vo.companyService.PostVo;
+import com.hz.employmentsite.vo.companyService.RecommendPostVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -143,6 +143,11 @@ public class PostServiceImpl implements PostService {
             dbData.setJobPlace(data.getJobPlace());
             dbData.setStartTime(data.getStartTime());
             dbData.setEndTime(data.getEndTime());
+            dbData.setContactName(data.getContactName());
+            dbData.setContactMobile(data.getContactMobile());
+            dbData.setContactEmail(data.getContactEmail());
+            dbData.setWorkNatureID(data.getWorkNatureID());
+            dbData.setTagID(data.getTagID());
             result = pcPostMapper.insert(dbData);
         } else {
             dbData.setProfessionID(data.getProfessionID());
@@ -175,6 +180,11 @@ public class PostServiceImpl implements PostService {
             dbData.setJobPlace(data.getJobPlace());
             dbData.setStartTime(data.getStartTime());
             dbData.setEndTime(data.getEndTime());
+            dbData.setContactName(data.getContactName());
+            dbData.setContactMobile(data.getContactMobile());
+            dbData.setContactEmail(data.getContactEmail());
+            dbData.setWorkNatureID(data.getWorkNatureID());
+            dbData.setTagID(data.getTagID());
             result = pcPostMapper.updateByPrimaryKeySelective(dbData);
         }
         return result;

+ 10 - 1
src/main/java/com/hz/employmentsite/vo/companyService/PostVo.java

@@ -1,7 +1,8 @@
 package com.hz.employmentsite.vo.companyService;
 
-import lombok.Data;
 import com.hz.employmentsite.util.datarange.annotations.PostID;
+import lombok.Data;
+
 import java.math.BigDecimal;
 import java.util.Date;
 @Data
@@ -97,4 +98,12 @@ public class PostVo {
     public String parentProfessionID;
 
     public String recommendNum; //推荐数量
+
+    public String contactName;
+    public String contactMobile;
+    public String contactEmail;
+
+    public Integer workNatureID;
+    public String workNatureName;
+    public Integer tagID;
 }

+ 8 - 0
src/main/java/com/hz/employmentsite/vo/jobUserManager/JobUserVo.java

@@ -49,6 +49,8 @@ public class JobUserVo {
 
     private Integer bloodTypeID;
 
+    private String bloodTypeName;
+
     private String height;
 
     private String vision;
@@ -57,12 +59,18 @@ public class JobUserVo {
 
     private Integer maritalStatusID;
 
+    private String MaritalStatusName;
+
     private String provinceCode;
 
     private String regionCode;
 
+    private String regionName;
+
     private String streetCode;
 
+    private String streetName;
+
     private String userName;
 
     private String userMobile;

+ 266 - 176
src/main/resources/mapping/PcPostMapper.xml

@@ -2,37 +2,42 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.hz.employmentsite.mapper.PcPostMapper">
   <resultMap id="BaseResultMap" type="com.hz.employmentsite.model.PcPost">
-    <id column="PostID" jdbcType="VARCHAR" property="postID" />
-    <result column="ProfessionID" jdbcType="VARCHAR" property="professionID" />
-    <result column="WorkCode" jdbcType="VARCHAR" property="workCode" />
-    <result column="WorkName" jdbcType="VARCHAR" property="workName" />
-    <result column="RecruitCount" jdbcType="INTEGER" property="recruitCount" />
-    <result column="CompanyID" jdbcType="VARCHAR" property="companyID" />
-    <result column="PostName" jdbcType="VARCHAR" property="postName" />
-    <result column="RecordStatus" jdbcType="INTEGER" property="recordStatus" />
-    <result column="WorkNature" jdbcType="VARCHAR" property="workNature" />
-    <result column="ValidDay" jdbcType="INTEGER" property="validDay" />
-    <result column="WorkYear" jdbcType="INTEGER" property="workYear" />
-    <result column="CultureRank" jdbcType="INTEGER" property="cultureRank" />
-    <result column="MaxSalary" jdbcType="DECIMAL" property="maxSalary" />
-    <result column="MinSalary" jdbcType="DECIMAL" property="minSalary" />
-    <result column="Welfare" jdbcType="VARCHAR" property="welfare" />
-    <result column="UserName" jdbcType="VARCHAR" property="userName" />
-    <result column="UserMobile" jdbcType="VARCHAR" property="userMobile" />
-    <result column="PostEmail" jdbcType="VARCHAR" property="postEmail" />
-    <result column="WorkTime" jdbcType="INTEGER" property="workTime" />
-    <result column="IsTrail" jdbcType="BIT" property="isTrail" />
-    <result column="TrailMonths" jdbcType="INTEGER" property="trailMonths" />
-    <result column="TrailMaxSalary" jdbcType="DECIMAL" property="trailMaxSalary" />
-    <result column="TrailMinSalary" jdbcType="DECIMAL" property="trailMinSalary" />
-    <result column="CreateUserID" jdbcType="VARCHAR" property="createUserID" />
-    <result column="CreateTime" jdbcType="TIMESTAMP" property="createTime" />
-    <result column="ModifyUserID" jdbcType="VARCHAR" property="modifyUserID" />
-    <result column="ModifyTime" jdbcType="TIMESTAMP" property="modifyTime" />
-    <result column="ValidTime" jdbcType="TIMESTAMP" property="validTime" />
-    <result column="StartTime" jdbcType="TIMESTAMP" property="startTime" />
-    <result column="EndTime" jdbcType="TIMESTAMP" property="endTime" />
-    <result column="JobPlace" jdbcType="VARCHAR" property="jobPlace" />
+    <id column="PostID" jdbcType="VARCHAR" property="postID"/>
+    <result column="ProfessionID" jdbcType="VARCHAR" property="professionID"/>
+    <result column="WorkCode" jdbcType="VARCHAR" property="workCode"/>
+    <result column="WorkName" jdbcType="VARCHAR" property="workName"/>
+    <result column="RecruitCount" jdbcType="INTEGER" property="recruitCount"/>
+    <result column="CompanyID" jdbcType="VARCHAR" property="companyID"/>
+    <result column="PostName" jdbcType="VARCHAR" property="postName"/>
+    <result column="RecordStatus" jdbcType="INTEGER" property="recordStatus"/>
+    <result column="WorkNature" jdbcType="VARCHAR" property="workNature"/>
+    <result column="ValidDay" jdbcType="INTEGER" property="validDay"/>
+    <result column="WorkYear" jdbcType="INTEGER" property="workYear"/>
+    <result column="CultureRank" jdbcType="INTEGER" property="cultureRank"/>
+    <result column="MaxSalary" jdbcType="DECIMAL" property="maxSalary"/>
+    <result column="MinSalary" jdbcType="DECIMAL" property="minSalary"/>
+    <result column="Welfare" jdbcType="VARCHAR" property="welfare"/>
+    <result column="UserName" jdbcType="VARCHAR" property="userName"/>
+    <result column="UserMobile" jdbcType="VARCHAR" property="userMobile"/>
+    <result column="PostEmail" jdbcType="VARCHAR" property="postEmail"/>
+    <result column="WorkTime" jdbcType="INTEGER" property="workTime"/>
+    <result column="IsTrail" jdbcType="BIT" property="isTrail"/>
+    <result column="TrailMonths" jdbcType="INTEGER" property="trailMonths"/>
+    <result column="TrailMaxSalary" jdbcType="DECIMAL" property="trailMaxSalary"/>
+    <result column="TrailMinSalary" jdbcType="DECIMAL" property="trailMinSalary"/>
+    <result column="CreateUserID" jdbcType="VARCHAR" property="createUserID"/>
+    <result column="CreateTime" jdbcType="TIMESTAMP" property="createTime"/>
+    <result column="ModifyUserID" jdbcType="VARCHAR" property="modifyUserID"/>
+    <result column="ModifyTime" jdbcType="TIMESTAMP" property="modifyTime"/>
+    <result column="ValidTime" jdbcType="TIMESTAMP" property="validTime"/>
+    <result column="StartTime" jdbcType="TIMESTAMP" property="startTime"/>
+    <result column="EndTime" jdbcType="TIMESTAMP" property="endTime"/>
+    <result column="JobPlace" jdbcType="VARCHAR" property="jobPlace"/>
+    <result column="ContactName" jdbcType="VARCHAR" property="contactName"/>
+    <result column="ContactMobile" jdbcType="VARCHAR" property="contactMobile"/>
+    <result column="ContactEmail" jdbcType="VARCHAR" property="contactEmail"/>
+    <result column="WorkNatureID" jdbcType="INTEGER" property="workNatureID"/>
+    <result column="TagID" jdbcType="INTEGER" property="tagID"/>
   </resultMap>
   <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.hz.employmentsite.model.PcPost">
     <result column="PostDesc" jdbcType="LONGVARCHAR" property="postDesc" />
@@ -96,11 +101,12 @@
     </where>
   </sql>
   <sql id="Base_Column_List">
-    PostID, ProfessionID, WorkCode, WorkName, RecruitCount, CompanyID, PostName, RecordStatus, 
+    PostID
+    , ProfessionID, WorkCode, WorkName, RecruitCount, CompanyID, PostName, RecordStatus,
     WorkNature, ValidDay, WorkYear, CultureRank, MaxSalary, MinSalary, Welfare, UserName, 
     UserMobile, PostEmail, WorkTime, IsTrail, TrailMonths, TrailMaxSalary, TrailMinSalary, 
     CreateUserID, CreateTime, ModifyUserID, ModifyTime, ValidTime, StartTime, EndTime, 
-    JobPlace
+    JobPlace, ContactName,ContactMobile,ContactEmail,WorkNatureID,TagID
   </sql>
   <sql id="Blob_Column_List">
     PostDesc
@@ -154,28 +160,32 @@
     </if>
   </delete>
   <insert id="insert" parameterType="com.hz.employmentsite.model.PcPost">
-    insert into pc_post (PostID, ProfessionID, WorkCode, 
-      WorkName, RecruitCount, CompanyID, 
-      PostName, RecordStatus, WorkNature, 
-      ValidDay, WorkYear, CultureRank, 
-      MaxSalary, MinSalary, Welfare, 
-      UserName, UserMobile, PostEmail, 
-      WorkTime, IsTrail, TrailMonths, 
-      TrailMaxSalary, TrailMinSalary, CreateUserID, 
-      CreateTime, ModifyUserID, ModifyTime, 
-      ValidTime, StartTime, EndTime, 
-      JobPlace, PostDesc)
-    values (#{postID,jdbcType=VARCHAR}, #{professionID,jdbcType=VARCHAR}, #{workCode,jdbcType=VARCHAR}, 
-      #{workName,jdbcType=VARCHAR}, #{recruitCount,jdbcType=INTEGER}, #{companyID,jdbcType=VARCHAR}, 
-      #{postName,jdbcType=VARCHAR}, #{recordStatus,jdbcType=INTEGER}, #{workNature,jdbcType=VARCHAR}, 
-      #{validDay,jdbcType=INTEGER}, #{workYear,jdbcType=INTEGER}, #{cultureRank,jdbcType=INTEGER}, 
-      #{maxSalary,jdbcType=DECIMAL}, #{minSalary,jdbcType=DECIMAL}, #{welfare,jdbcType=VARCHAR}, 
-      #{userName,jdbcType=VARCHAR}, #{userMobile,jdbcType=VARCHAR}, #{postEmail,jdbcType=VARCHAR}, 
-      #{workTime,jdbcType=INTEGER}, #{isTrail,jdbcType=BIT}, #{trailMonths,jdbcType=INTEGER}, 
-      #{trailMaxSalary,jdbcType=DECIMAL}, #{trailMinSalary,jdbcType=DECIMAL}, #{createUserID,jdbcType=VARCHAR}, 
-      #{createTime,jdbcType=TIMESTAMP}, #{modifyUserID,jdbcType=VARCHAR}, #{modifyTime,jdbcType=TIMESTAMP}, 
-      #{validTime,jdbcType=TIMESTAMP}, #{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP}, 
-      #{jobPlace,jdbcType=VARCHAR}, #{postDesc,jdbcType=LONGVARCHAR})
+    insert into pc_post (PostID, ProfessionID, WorkCode,
+                         WorkName, RecruitCount, CompanyID,
+                         PostName, RecordStatus, WorkNature,
+                         ValidDay, WorkYear, CultureRank,
+                         MaxSalary, MinSalary, Welfare,
+                         UserName, UserMobile, PostEmail,
+                         WorkTime, IsTrail, TrailMonths,
+                         TrailMaxSalary, TrailMinSalary, CreateUserID,
+                         CreateTime, ModifyUserID, ModifyTime,
+                         ValidTime, StartTime, EndTime,
+                         JobPlace, PostDesc, ContactName,
+                         ContactMobile, ContactEmail, WorkNatureID,
+                         TagID)
+    values (#{postID,jdbcType=VARCHAR}, #{professionID,jdbcType=VARCHAR}, #{workCode,jdbcType=VARCHAR},
+            #{workName,jdbcType=VARCHAR}, #{recruitCount,jdbcType=INTEGER}, #{companyID,jdbcType=VARCHAR},
+            #{postName,jdbcType=VARCHAR}, #{recordStatus,jdbcType=INTEGER}, #{workNature,jdbcType=VARCHAR},
+            #{validDay,jdbcType=INTEGER}, #{workYear,jdbcType=INTEGER}, #{cultureRank,jdbcType=INTEGER},
+            #{maxSalary,jdbcType=DECIMAL}, #{minSalary,jdbcType=DECIMAL}, #{welfare,jdbcType=VARCHAR},
+            #{userName,jdbcType=VARCHAR}, #{userMobile,jdbcType=VARCHAR}, #{postEmail,jdbcType=VARCHAR},
+            #{workTime,jdbcType=INTEGER}, #{isTrail,jdbcType=BIT}, #{trailMonths,jdbcType=INTEGER},
+            #{trailMaxSalary,jdbcType=DECIMAL}, #{trailMinSalary,jdbcType=DECIMAL}, #{createUserID,jdbcType=VARCHAR},
+            #{createTime,jdbcType=TIMESTAMP}, #{modifyUserID,jdbcType=VARCHAR}, #{modifyTime,jdbcType=TIMESTAMP},
+            #{validTime,jdbcType=TIMESTAMP}, #{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP},
+            #{jobPlace,jdbcType=VARCHAR}, #{postDesc,jdbcType=LONGVARCHAR}, #{contactName,jdbcType=VARCHAR},
+            #{contactMobile,jdbcType=VARCHAR}, #{contactEmail,jdbcType=VARCHAR},
+            #{workNatureID,jdbcType=INTEGER}, #{tagID,jdbcType=INTEGER})
   </insert>
   <insert id="insertSelective" parameterType="com.hz.employmentsite.model.PcPost">
     insert into pc_post
@@ -276,6 +286,21 @@
       <if test="postDesc != null">
         PostDesc,
       </if>
+      <if test="contactName != null">
+        ContactName
+      </if>
+      <if test="contactMobile != null">
+        ContactMobile,
+      </if>
+      <if test="contactEmail != null">
+        ContactEmail,
+      </if>
+      <if test="workNatureID != null">
+        WorkNatureID,
+      </if>
+      <if test="tagID != null">
+        TagID,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="postID != null">
@@ -374,6 +399,21 @@
       <if test="postDesc != null">
         #{postDesc,jdbcType=LONGVARCHAR},
       </if>
+      <if test="contactName != null">
+        #{contactName,jdbcType=VARCHAR},
+      </if>
+      <if test="contactMobile != null">
+        #{contactMobile,jdbcType=VARCHAR},
+      </if>
+      <if test="contactEmail != null">
+        #{contactEmail,jdbcType=VARCHAR},
+      </if>
+      <if test="workNatureID != null">
+        #{workNatureID,jdbcType=INTEGER},
+      </if>
+      <if test="tagID != null">
+        #{tagID,jdbcType=INTEGER},
+      </if>
     </trim>
   </insert>
   <select id="countByExample" parameterType="com.hz.employmentsite.model.PcPostExample" resultType="java.lang.Long">
@@ -481,6 +521,21 @@
       <if test="row.postDesc != null">
         PostDesc = #{row.postDesc,jdbcType=LONGVARCHAR},
       </if>
+      <if test="row.contactName != null">
+        ContactName = #{row.contactName,jdbcType=VARCHAR},
+      </if>
+      <if test="row.contactMobile != null">
+        ContactMobile = #{row.contactMobile,jdbcType=VARCHAR},
+      </if>
+      <if test="row.contactEmail != null">
+        ContactEmail = #{row.contactEmail,jdbcType=VARCHAR},
+      </if>
+      <if test="row.workNatureID != null">
+        WorkNatureID = #{row.workNatureID,jdbcType=INTEGER},
+      </if>
+      <if test="row.tagID != null">
+        TagID = #{row.tagID,jdbcType=INTEGER},
+      </if>
     </set>
     <if test="example != null">
       <include refid="Update_By_Example_Where_Clause" />
@@ -489,37 +544,42 @@
   <update id="updateByExampleWithBLOBs" parameterType="map">
     update pc_post
     set PostID = #{row.postID,jdbcType=VARCHAR},
-      ProfessionID = #{row.professionID,jdbcType=VARCHAR},
-      WorkCode = #{row.workCode,jdbcType=VARCHAR},
-      WorkName = #{row.workName,jdbcType=VARCHAR},
-      RecruitCount = #{row.recruitCount,jdbcType=INTEGER},
-      CompanyID = #{row.companyID,jdbcType=VARCHAR},
-      PostName = #{row.postName,jdbcType=VARCHAR},
-      RecordStatus = #{row.recordStatus,jdbcType=INTEGER},
-      WorkNature = #{row.workNature,jdbcType=VARCHAR},
-      ValidDay = #{row.validDay,jdbcType=INTEGER},
-      WorkYear = #{row.workYear,jdbcType=INTEGER},
-      CultureRank = #{row.cultureRank,jdbcType=INTEGER},
-      MaxSalary = #{row.maxSalary,jdbcType=DECIMAL},
-      MinSalary = #{row.minSalary,jdbcType=DECIMAL},
-      Welfare = #{row.welfare,jdbcType=VARCHAR},
-      UserName = #{row.userName,jdbcType=VARCHAR},
-      UserMobile = #{row.userMobile,jdbcType=VARCHAR},
-      PostEmail = #{row.postEmail,jdbcType=VARCHAR},
-      WorkTime = #{row.workTime,jdbcType=INTEGER},
-      IsTrail = #{row.isTrail,jdbcType=BIT},
-      TrailMonths = #{row.trailMonths,jdbcType=INTEGER},
-      TrailMaxSalary = #{row.trailMaxSalary,jdbcType=DECIMAL},
-      TrailMinSalary = #{row.trailMinSalary,jdbcType=DECIMAL},
-      CreateUserID = #{row.createUserID,jdbcType=VARCHAR},
-      CreateTime = #{row.createTime,jdbcType=TIMESTAMP},
-      ModifyUserID = #{row.modifyUserID,jdbcType=VARCHAR},
-      ModifyTime = #{row.modifyTime,jdbcType=TIMESTAMP},
-      ValidTime = #{row.validTime,jdbcType=TIMESTAMP},
-      StartTime = #{row.startTime,jdbcType=TIMESTAMP},
-      EndTime = #{row.endTime,jdbcType=TIMESTAMP},
-      JobPlace = #{row.jobPlace,jdbcType=VARCHAR},
-      PostDesc = #{row.postDesc,jdbcType=LONGVARCHAR}
+    ProfessionID = #{row.professionID,jdbcType=VARCHAR},
+    WorkCode = #{row.workCode,jdbcType=VARCHAR},
+    WorkName = #{row.workName,jdbcType=VARCHAR},
+    RecruitCount = #{row.recruitCount,jdbcType=INTEGER},
+    CompanyID = #{row.companyID,jdbcType=VARCHAR},
+    PostName = #{row.postName,jdbcType=VARCHAR},
+    RecordStatus = #{row.recordStatus,jdbcType=INTEGER},
+    WorkNature = #{row.workNature,jdbcType=VARCHAR},
+    ValidDay = #{row.validDay,jdbcType=INTEGER},
+    WorkYear = #{row.workYear,jdbcType=INTEGER},
+    CultureRank = #{row.cultureRank,jdbcType=INTEGER},
+    MaxSalary = #{row.maxSalary,jdbcType=DECIMAL},
+    MinSalary = #{row.minSalary,jdbcType=DECIMAL},
+    Welfare = #{row.welfare,jdbcType=VARCHAR},
+    UserName = #{row.userName,jdbcType=VARCHAR},
+    UserMobile = #{row.userMobile,jdbcType=VARCHAR},
+    PostEmail = #{row.postEmail,jdbcType=VARCHAR},
+    WorkTime = #{row.workTime,jdbcType=INTEGER},
+    IsTrail = #{row.isTrail,jdbcType=BIT},
+    TrailMonths = #{row.trailMonths,jdbcType=INTEGER},
+    TrailMaxSalary = #{row.trailMaxSalary,jdbcType=DECIMAL},
+    TrailMinSalary = #{row.trailMinSalary,jdbcType=DECIMAL},
+    CreateUserID = #{row.createUserID,jdbcType=VARCHAR},
+    CreateTime = #{row.createTime,jdbcType=TIMESTAMP},
+    ModifyUserID = #{row.modifyUserID,jdbcType=VARCHAR},
+    ModifyTime = #{row.modifyTime,jdbcType=TIMESTAMP},
+    ValidTime = #{row.validTime,jdbcType=TIMESTAMP},
+    StartTime = #{row.startTime,jdbcType=TIMESTAMP},
+    EndTime = #{row.endTime,jdbcType=TIMESTAMP},
+    JobPlace = #{row.jobPlace,jdbcType=VARCHAR},
+    PostDesc = #{row.postDesc,jdbcType=LONGVARCHAR},
+    ContactName = #{row.contactName,jdbcType=VARCHAR},
+    ContactMobile = #{row.contactMobile,jdbcType=VARCHAR},
+    ContactEmail = #{row.contactEmail,jdbcType=VARCHAR},
+    WorkNatureID = #{row.workNatureID,jdbcType=INTEGER},
+    TagID = #{row.tagID,jdbcType=INTEGER}
     <if test="example != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
@@ -527,36 +587,41 @@
   <update id="updateByExample" parameterType="map">
     update pc_post
     set PostID = #{row.postID,jdbcType=VARCHAR},
-      ProfessionID = #{row.professionID,jdbcType=VARCHAR},
-      WorkCode = #{row.workCode,jdbcType=VARCHAR},
-      WorkName = #{row.workName,jdbcType=VARCHAR},
-      RecruitCount = #{row.recruitCount,jdbcType=INTEGER},
-      CompanyID = #{row.companyID,jdbcType=VARCHAR},
-      PostName = #{row.postName,jdbcType=VARCHAR},
-      RecordStatus = #{row.recordStatus,jdbcType=INTEGER},
-      WorkNature = #{row.workNature,jdbcType=VARCHAR},
-      ValidDay = #{row.validDay,jdbcType=INTEGER},
-      WorkYear = #{row.workYear,jdbcType=INTEGER},
-      CultureRank = #{row.cultureRank,jdbcType=INTEGER},
-      MaxSalary = #{row.maxSalary,jdbcType=DECIMAL},
-      MinSalary = #{row.minSalary,jdbcType=DECIMAL},
-      Welfare = #{row.welfare,jdbcType=VARCHAR},
-      UserName = #{row.userName,jdbcType=VARCHAR},
-      UserMobile = #{row.userMobile,jdbcType=VARCHAR},
-      PostEmail = #{row.postEmail,jdbcType=VARCHAR},
-      WorkTime = #{row.workTime,jdbcType=INTEGER},
-      IsTrail = #{row.isTrail,jdbcType=BIT},
-      TrailMonths = #{row.trailMonths,jdbcType=INTEGER},
-      TrailMaxSalary = #{row.trailMaxSalary,jdbcType=DECIMAL},
-      TrailMinSalary = #{row.trailMinSalary,jdbcType=DECIMAL},
-      CreateUserID = #{row.createUserID,jdbcType=VARCHAR},
-      CreateTime = #{row.createTime,jdbcType=TIMESTAMP},
-      ModifyUserID = #{row.modifyUserID,jdbcType=VARCHAR},
-      ModifyTime = #{row.modifyTime,jdbcType=TIMESTAMP},
-      ValidTime = #{row.validTime,jdbcType=TIMESTAMP},
-      StartTime = #{row.startTime,jdbcType=TIMESTAMP},
-      EndTime = #{row.endTime,jdbcType=TIMESTAMP},
-      JobPlace = #{row.jobPlace,jdbcType=VARCHAR}
+    ProfessionID = #{row.professionID,jdbcType=VARCHAR},
+    WorkCode = #{row.workCode,jdbcType=VARCHAR},
+    WorkName = #{row.workName,jdbcType=VARCHAR},
+    RecruitCount = #{row.recruitCount,jdbcType=INTEGER},
+    CompanyID = #{row.companyID,jdbcType=VARCHAR},
+    PostName = #{row.postName,jdbcType=VARCHAR},
+    RecordStatus = #{row.recordStatus,jdbcType=INTEGER},
+    WorkNature = #{row.workNature,jdbcType=VARCHAR},
+    ValidDay = #{row.validDay,jdbcType=INTEGER},
+    WorkYear = #{row.workYear,jdbcType=INTEGER},
+    CultureRank = #{row.cultureRank,jdbcType=INTEGER},
+    MaxSalary = #{row.maxSalary,jdbcType=DECIMAL},
+    MinSalary = #{row.minSalary,jdbcType=DECIMAL},
+    Welfare = #{row.welfare,jdbcType=VARCHAR},
+    UserName = #{row.userName,jdbcType=VARCHAR},
+    UserMobile = #{row.userMobile,jdbcType=VARCHAR},
+    PostEmail = #{row.postEmail,jdbcType=VARCHAR},
+    WorkTime = #{row.workTime,jdbcType=INTEGER},
+    IsTrail = #{row.isTrail,jdbcType=BIT},
+    TrailMonths = #{row.trailMonths,jdbcType=INTEGER},
+    TrailMaxSalary = #{row.trailMaxSalary,jdbcType=DECIMAL},
+    TrailMinSalary = #{row.trailMinSalary,jdbcType=DECIMAL},
+    CreateUserID = #{row.createUserID,jdbcType=VARCHAR},
+    CreateTime = #{row.createTime,jdbcType=TIMESTAMP},
+    ModifyUserID = #{row.modifyUserID,jdbcType=VARCHAR},
+    ModifyTime = #{row.modifyTime,jdbcType=TIMESTAMP},
+    ValidTime = #{row.validTime,jdbcType=TIMESTAMP},
+    StartTime = #{row.startTime,jdbcType=TIMESTAMP},
+    EndTime = #{row.endTime,jdbcType=TIMESTAMP},
+    JobPlace = #{row.jobPlace,jdbcType=VARCHAR},
+    ContactName = #{row.contactName,jdbcType=VARCHAR},
+    ContactMobile = #{row.contactMobile,jdbcType=VARCHAR},
+    ContactEmail = #{row.contactEmail,jdbcType=VARCHAR},
+    WorkNatureID = #{row.workNatureID,jdbcType=INTEGER},
+    TagID = #{row.tagID,jdbcType=INTEGER}
     <if test="example != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
@@ -657,76 +722,101 @@
       <if test="postDesc != null">
         PostDesc = #{postDesc,jdbcType=LONGVARCHAR},
       </if>
+      <if test="contactName != null">
+        ContactName = #{contactName,jdbcType=VARCHAR},
+      </if>
+      <if test="contactMobile != null">
+        ContactMobile = #{contactMobile,jdbcType=VARCHAR},
+      </if>
+      <if test="contactEmail != null">
+        ContactEmail = #{contactEmail,jdbcType=VARCHAR},
+      </if>
+      <if test="workNatureID != null">
+        WorkNatureID = #{workNatureID,jdbcType=INTEGER},
+      </if>
+      <if test="tagID != null">
+        TagID = #{tagID,jdbcType=INTEGER},
+      </if>
     </set>
     where PostID = #{postID,jdbcType=VARCHAR}
   </update>
   <update id="updateByPrimaryKeyWithBLOBs" parameterType="com.hz.employmentsite.model.PcPost">
     update pc_post
-    set ProfessionID = #{professionID,jdbcType=VARCHAR},
-      WorkCode = #{workCode,jdbcType=VARCHAR},
-      WorkName = #{workName,jdbcType=VARCHAR},
-      RecruitCount = #{recruitCount,jdbcType=INTEGER},
-      CompanyID = #{companyID,jdbcType=VARCHAR},
-      PostName = #{postName,jdbcType=VARCHAR},
-      RecordStatus = #{recordStatus,jdbcType=INTEGER},
-      WorkNature = #{workNature,jdbcType=VARCHAR},
-      ValidDay = #{validDay,jdbcType=INTEGER},
-      WorkYear = #{workYear,jdbcType=INTEGER},
-      CultureRank = #{cultureRank,jdbcType=INTEGER},
-      MaxSalary = #{maxSalary,jdbcType=DECIMAL},
-      MinSalary = #{minSalary,jdbcType=DECIMAL},
-      Welfare = #{welfare,jdbcType=VARCHAR},
-      UserName = #{userName,jdbcType=VARCHAR},
-      UserMobile = #{userMobile,jdbcType=VARCHAR},
-      PostEmail = #{postEmail,jdbcType=VARCHAR},
-      WorkTime = #{workTime,jdbcType=INTEGER},
-      IsTrail = #{isTrail,jdbcType=BIT},
-      TrailMonths = #{trailMonths,jdbcType=INTEGER},
-      TrailMaxSalary = #{trailMaxSalary,jdbcType=DECIMAL},
-      TrailMinSalary = #{trailMinSalary,jdbcType=DECIMAL},
-      CreateUserID = #{createUserID,jdbcType=VARCHAR},
-      CreateTime = #{createTime,jdbcType=TIMESTAMP},
-      ModifyUserID = #{modifyUserID,jdbcType=VARCHAR},
-      ModifyTime = #{modifyTime,jdbcType=TIMESTAMP},
-      ValidTime = #{validTime,jdbcType=TIMESTAMP},
-      StartTime = #{startTime,jdbcType=TIMESTAMP},
-      EndTime = #{endTime,jdbcType=TIMESTAMP},
-      JobPlace = #{jobPlace,jdbcType=VARCHAR},
-      PostDesc = #{postDesc,jdbcType=LONGVARCHAR}
+    set ProfessionID   = #{professionID,jdbcType=VARCHAR},
+        WorkCode       = #{workCode,jdbcType=VARCHAR},
+        WorkName       = #{workName,jdbcType=VARCHAR},
+        RecruitCount   = #{recruitCount,jdbcType=INTEGER},
+        CompanyID      = #{companyID,jdbcType=VARCHAR},
+        PostName       = #{postName,jdbcType=VARCHAR},
+        RecordStatus   = #{recordStatus,jdbcType=INTEGER},
+        WorkNature     = #{workNature,jdbcType=VARCHAR},
+        ValidDay       = #{validDay,jdbcType=INTEGER},
+        WorkYear       = #{workYear,jdbcType=INTEGER},
+        CultureRank    = #{cultureRank,jdbcType=INTEGER},
+        MaxSalary      = #{maxSalary,jdbcType=DECIMAL},
+        MinSalary      = #{minSalary,jdbcType=DECIMAL},
+        Welfare        = #{welfare,jdbcType=VARCHAR},
+        UserName       = #{userName,jdbcType=VARCHAR},
+        UserMobile     = #{userMobile,jdbcType=VARCHAR},
+        PostEmail      = #{postEmail,jdbcType=VARCHAR},
+        WorkTime       = #{workTime,jdbcType=INTEGER},
+        IsTrail        = #{isTrail,jdbcType=BIT},
+        TrailMonths    = #{trailMonths,jdbcType=INTEGER},
+        TrailMaxSalary = #{trailMaxSalary,jdbcType=DECIMAL},
+        TrailMinSalary = #{trailMinSalary,jdbcType=DECIMAL},
+        CreateUserID   = #{createUserID,jdbcType=VARCHAR},
+        CreateTime     = #{createTime,jdbcType=TIMESTAMP},
+        ModifyUserID   = #{modifyUserID,jdbcType=VARCHAR},
+        ModifyTime     = #{modifyTime,jdbcType=TIMESTAMP},
+        ValidTime      = #{validTime,jdbcType=TIMESTAMP},
+        StartTime      = #{startTime,jdbcType=TIMESTAMP},
+        EndTime        = #{endTime,jdbcType=TIMESTAMP},
+        JobPlace       = #{jobPlace,jdbcType=VARCHAR},
+        PostDesc       = #{postDesc,jdbcType=LONGVARCHAR},
+        ContactName    = #{contactName,jdbcType=VARCHAR},
+        ContactMobile  = #{contactMobile,jdbcType=VARCHAR},
+        ContactEmail   = #{contactEmail,jdbcType=VARCHAR},
+        WorkNatureID   = #{workNatureID,jdbcType=INTEGER},
+        TagID          = #{tagID,jdbcType=INTEGER}
     where PostID = #{postID,jdbcType=VARCHAR}
   </update>
   <update id="updateByPrimaryKey" parameterType="com.hz.employmentsite.model.PcPost">
     update pc_post
     set ProfessionID = #{professionID,jdbcType=VARCHAR},
-      WorkCode = #{workCode,jdbcType=VARCHAR},
-      WorkName = #{workName,jdbcType=VARCHAR},
-      RecruitCount = #{recruitCount,jdbcType=INTEGER},
-      CompanyID = #{companyID,jdbcType=VARCHAR},
-      PostName = #{postName,jdbcType=VARCHAR},
-      RecordStatus = #{recordStatus,jdbcType=INTEGER},
-      WorkNature = #{workNature,jdbcType=VARCHAR},
-      ValidDay = #{validDay,jdbcType=INTEGER},
-      WorkYear = #{workYear,jdbcType=INTEGER},
-      CultureRank = #{cultureRank,jdbcType=INTEGER},
-      MaxSalary = #{maxSalary,jdbcType=DECIMAL},
-      MinSalary = #{minSalary,jdbcType=DECIMAL},
-      Welfare = #{welfare,jdbcType=VARCHAR},
-      UserName = #{userName,jdbcType=VARCHAR},
-      UserMobile = #{userMobile,jdbcType=VARCHAR},
-      PostEmail = #{postEmail,jdbcType=VARCHAR},
-      WorkTime = #{workTime,jdbcType=INTEGER},
-      IsTrail = #{isTrail,jdbcType=BIT},
-      TrailMonths = #{trailMonths,jdbcType=INTEGER},
-      TrailMaxSalary = #{trailMaxSalary,jdbcType=DECIMAL},
-      TrailMinSalary = #{trailMinSalary,jdbcType=DECIMAL},
-      CreateUserID = #{createUserID,jdbcType=VARCHAR},
-      CreateTime = #{createTime,jdbcType=TIMESTAMP},
-      ModifyUserID = #{modifyUserID,jdbcType=VARCHAR},
-      ModifyTime = #{modifyTime,jdbcType=TIMESTAMP},
-      ValidTime = #{validTime,jdbcType=TIMESTAMP},
-      StartTime = #{startTime,jdbcType=TIMESTAMP},
-      EndTime = #{endTime,jdbcType=TIMESTAMP},
-      JobPlace = #{jobPlace,jdbcType=VARCHAR}
+        WorkCode = #{workCode,jdbcType=VARCHAR},
+        WorkName = #{workName,jdbcType=VARCHAR},
+        RecruitCount = #{recruitCount,jdbcType=INTEGER},
+        CompanyID = #{companyID,jdbcType=VARCHAR},
+        PostName = #{postName,jdbcType=VARCHAR},
+        RecordStatus = #{recordStatus,jdbcType=INTEGER},
+        WorkNature = #{workNature,jdbcType=VARCHAR},
+        ValidDay = #{validDay,jdbcType=INTEGER},
+        WorkYear       = #{workYear,jdbcType=INTEGER},
+        CultureRank    = #{cultureRank,jdbcType=INTEGER},
+        MaxSalary      = #{maxSalary,jdbcType=DECIMAL},
+        MinSalary      = #{minSalary,jdbcType=DECIMAL},
+        Welfare        = #{welfare,jdbcType=VARCHAR},
+        UserName       = #{userName,jdbcType=VARCHAR},
+        UserMobile     = #{userMobile,jdbcType=VARCHAR},
+        PostEmail      = #{postEmail,jdbcType=VARCHAR},
+        WorkTime       = #{workTime,jdbcType=INTEGER},
+        IsTrail        = #{isTrail,jdbcType=BIT},
+        TrailMonths    = #{trailMonths,jdbcType=INTEGER},
+        TrailMaxSalary = #{trailMaxSalary,jdbcType=DECIMAL},
+        TrailMinSalary = #{trailMinSalary,jdbcType=DECIMAL},
+        CreateUserID   = #{createUserID,jdbcType=VARCHAR},
+        CreateTime     = #{createTime,jdbcType=TIMESTAMP},
+        ModifyUserID   = #{modifyUserID,jdbcType=VARCHAR},
+        ModifyTime     = #{modifyTime,jdbcType=TIMESTAMP},
+        ValidTime      = #{validTime,jdbcType=TIMESTAMP},
+        StartTime      = #{startTime,jdbcType=TIMESTAMP},
+        EndTime        = #{endTime,jdbcType=TIMESTAMP},
+        JobPlace       = #{jobPlace,jdbcType=VARCHAR},
+        ContactName    = #{contactName,jdbcType=VARCHAR},
+        ContactMobile  = #{contactMobile,jdbcType=VARCHAR},
+        ContactEmail   = #{contactEmail,jdbcType=VARCHAR},
+        WorkNatureID   = #{workNatureID,jdbcType=INTEGER},
+        TagID          = #{tagID,jdbcType=INTEGER}
     where PostID = #{postID,jdbcType=VARCHAR}
   </update>
 

+ 10 - 3
src/main/resources/mapping/cquery/JobUserCQuery.xml

@@ -5,7 +5,8 @@
         select jobuser.* ,gender.name as GenderName,culture.name as CultureName,site.SiteName,jobstatus.name as
         JobStatusName,keytype.name as KeyTypeName,sys_politics.name as politicsStatusName,sys_health.name as healthName,
         sys_family.name as familyNatureName,sys_full_time.Name as isFullTimeName, sys_occ_level.Name as
-        occupationalLevelName,
+        occupationalLevelName,sys_blood_type.Name as bloodTypeName,sys_marital_status.Name as MaritalStatusName,
+        area_region.name as RegionName,area_street.name as StreetName,
         (select count(*) from pc_recommend recommend where jobuser.JobUserID = recommend.JobuserID and isRead = 1)as
         RecommendedCount
         ,case when jobuser.IdentityNumber is not null and jobuser.IdentityNumber <![CDATA[ <> ]]>'' then
@@ -14,7 +15,7 @@
         from pc_jobuser jobuser
         left join pc_site site on site.SiteID = jobuser.SiteID
         left join sys_dictionary_item culture on jobuser.CultureRank = culture.value and
-        culture.DictionaryCode='CultureLevel'
+        culture.DictionaryCode='HighestDegree'
         left join sys_dictionary_item gender on jobuser.Sex = gender.value and gender.DictionaryCode='Gender'
         left join sys_dictionary_item jobstatus on jobuser.JobStatusID = jobstatus.value and
         jobstatus.DictionaryCode='JobStatus'
@@ -29,7 +30,13 @@
         left join (select * from sys_dictionary_item where DictionaryCode ='IsFullTime') sys_full_time on
         jobuser.IsFullTime = sys_full_time.Value
         left join (select * from sys_dictionary_item where DictionaryCode ='OccupationalLevel') sys_occ_level on
-        jobuser.OccupationalLevel = sys_family.Value
+        jobuser.OccupationalLevel = sys_occ_level.Value
+        left join (select * from sys_dictionary_item where DictionaryCode ='BloodType') sys_blood_type on
+        jobuser.BloodTypeID = sys_blood_type.Value
+        left join (select * from sys_dictionary_item where DictionaryCode ='MaritalStatus') sys_marital_status on
+        jobuser.MaritalStatusID = sys_marital_status.Value
+        left join area_code area_region on jobuser.RegionCode = area_region.code
+        left join area_code area_street on jobuser.StreetCode = area_street.code
         where 1=1
         <if test="jobUserIDList != '' and jobUserIDList != null">
             and jobuser.jobuserID in (${jobUserIDList})

+ 4 - 2
src/main/resources/mapping/cquery/PostCQuery.xml

@@ -6,13 +6,15 @@
         post.postID,post.workCode,post.workName,post.recruitCount,post.companyID,post.postName,post.recordStatus,post.workNature,post.validDay,
         post.workYear,post.cultureRank,post.postDesc,post.maxSalary,post.minSalary,post.welfare,post.postEmail,post.workTime,post.isTrail,post.trailMonths,
         post.TrailMaxSalary,post.trailMinSalary,post.createUserID,post.createTime,post.modifyUserID,post.modifyTime,post.validTime,post.startTime,post.endTime,
-        post.jobPlace,t.workNatureID,post.tagID,company.userName,company.userMobile,company.companyEmail,company.CompanyName,company.insuredCount,item.`Name`
-        as cultureLevelName,
+        post.jobPlace,post.contactName,post.contactMobile,post.contactEmail,post.workNatureID,post.tagID,t.workNatureID,post.tagID,company.userName,company.userMobile,company.companyEmail,
+        company.CompanyName,company.insuredCount,item.`Name` as cultureLevelName,job_hunt_type.Name as workNatureName,
         post.ProfessionID,pro.ProfessionName,pro.parentProfessionID
         , IFNULL(count(rmgt.RecommendMgtID),0) as recommendNum
         from pc_post post
         left join pc_company company on post.CompanyID = company.CompanyID
         left join sys_dictionary_item item on item.value=post.CultureRank and item.DictionaryCode='CultureLevel'
+        left join sys_dictionary_item job_hunt_type on job_hunt_type.value=post.WorkNatureID and
+        job_hunt_type.DictionaryCode='JobHuntType'
         left join pc_profession pro on post.ProfessionID = pro.ProfessionID
         left join pc_recommend_mgt rmgt on post.PostID = rmgt.PostID
         <where>

+ 1 - 1
src/main/resources/mapping/cquery/SiteUserCQuery.xml

@@ -29,7 +29,7 @@
         left join (select * from sys_dictionary_item where DictionaryCode ='PoliticsStatus' ) dic_politicsStatus on
         siteUser.PoliticsStatusID =
         dic_politicsStatus.Value
-        left join (select * from sys_dictionary_item where DictionaryCode ='CultureLevel' ) dic_culture on
+        left join (select * from sys_dictionary_item where DictionaryCode ='HighestDegree' ) dic_culture on
         siteUser.CultureRank =
         dic_culture.Value
         left join pc_site_institution inSites on site.SiteID = inSites.SiteID

+ 1 - 1
vue/src/views/baseSettings/siteUser/edit.vue

@@ -241,7 +241,7 @@ export default defineComponent({
       occupationalLevelList.value = result;
     }
     const getCultureRankList = async function () {
-      const result: any = await getSysDictionaryList("CultureLevel");
+      const result: any = await getSysDictionaryList("HighestDegree");
       cultureRankList.value = result;
     }
 

+ 89 - 4
vue/src/views/companyService/post/edit.vue

@@ -6,7 +6,8 @@
         <a-col flex="800px">
           <a-form-item label="企业名称" :label-col="{ span: 3}"
                        name="companyID" :rules="[{ required: true, message: '请选择关联企业!' }]" >
-            <a-select :disabled="isEdit" ref="select" show-search optionFilterProp="label" v-model:value="dataModel.companyID" >
+            <a-select :disabled="isEdit" ref="select" show-search optionFilterProp="label"
+                      v-model:value="dataModel.companyID" @change="companyChange">
               <a-select-option v-for="item in companyList" :label="item.companyName" :value="item.companyID"
                                :key="item.companyID">
                 <span>{{ item.companyName }}</span>
@@ -52,6 +53,51 @@
           </a-form-item>
         </a-col>
       </a-row>
+      <a-row justify="start">
+        <a-col flex="500px">
+          <a-form-item
+            label="联系人姓名"
+            :label-col="{ span: 5 }"
+            name="contactName"
+          >
+            <a-input v-model:value="dataModel.contactName" placeholder=""/>
+          </a-form-item>
+        </a-col>
+        <a-col flex="400px">
+          <a-form-item
+            label="联系人电话"
+            :label-col="{ span: 9 }"
+            name="contactMobile"
+          >
+            <a-input v-model:value="dataModel.contactMobile" placeholder=""/>
+          </a-form-item>
+        </a-col>
+        <a-col flex="400px">
+          <a-form-item
+            label="联系人邮箱"
+            :label-col="{ span: 9 }"
+            name="contactEmail"
+          >
+            <a-input v-model:value="dataModel.contactEmail" placeholder=""/>
+          </a-form-item>
+        </a-col>
+      </a-row>
+      <a-row justify="start">
+        <a-col flex="500px">
+          <a-form-item
+            label="工作性质"
+            :label-col="{ span: 5 }"
+            name="contactName"
+          >
+            <a-select ref="select" v-model:value="dataModel.workNatureID" :options="jobHuntList"
+                      :field-names="{ label: 'name', value: 'value' }" :allow-clear="false"></a-select>
+          </a-form-item>
+        </a-col>
+        <a-col flex="400px">
+        </a-col>
+        <a-col flex="400px">
+        </a-col>
+      </a-row>
       <h1>岗位其他信息</h1>
       <a-row justify="start">
         <a-col flex="300px" >
@@ -191,6 +237,8 @@ import {message} from "ant-design-vue";
 import {useTabsViewStore} from '@/store/modules/tabsView';
 import BUploadFile from '@/components/file/uploadFile.vue';
 import {get} from '@/api/common';
+import {getInfo} from "@/api/account";
+import {getCompanyById} from "@/api/companyService/company";
 
 interface postModel {
   dataModel: any;
@@ -211,6 +259,7 @@ export default defineComponent(
 
       const cultureLevelList = ref<SelectProps['options']>();
       const WorkYearTypeList = ref<SelectProps['options']>();
+      const jobHuntList = ref<SelectProps['options']>();
       const companyList = ref<SelectProps['options']>();
       const postStatusList = [{name: '启用', value: 1}, {name: '停用', value: 0}];
       const trialStatusList = [{name: '是', value: true}, {name: '否', value: false}];
@@ -279,6 +328,10 @@ export default defineComponent(
         WorkYearTypeList.value = result;
       });
 
+      get('system/dictionary/getDictionaryItemByCodeList', {code: 'JobHuntType'}).then(result => {
+        jobHuntList.value = result;
+      });
+
       get('companyService/company/getList', {pageIndex: 1, pageSize: 9999}).then(result => {
         companyList.value = result.list;
       })
@@ -289,11 +342,32 @@ export default defineComponent(
         router.push({name: '/companyService/post/index'});
       };
 
+      const inputDataValidate = () => {
+        const mobileReg = /^1[3|4|5|6|7|8|9]\d{9}$/;
+        const landlineReg = /[0-9-()()]{7,18}/;
+        if (postCompany.dataModel.contactMobile != null && postCompany.dataModel.contactMobile.trim() != '') {
+          if (!mobileReg.test(postCompany.dataModel.contactMobile) && !landlineReg.test(postCompany.dataModel.contactMobile)) {
+            message.error("联系人电话格式有误!");
+            return false;
+          }
+        }
+        const emailReg = /^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/;
+        if (postCompany.dataModel.contactEmail != null && postCompany.dataModel.contactEmail.trim() != '') {
+          if (!emailReg.test(postCompany.dataModel.contactEmail)) {
+            message.error("联系人邮箱格式有误!");
+            return false;
+          }
+        }
+        return true;
+      };
+
       const onFinish = () => {
         if(!postCompany.dataModel.hasProfession){
           message.error("请选择完整的岗位信息!")
         }else{
-          // postCompany.dataModel.postName = postCompany.dataModel.professionName;
+          if (!inputDataValidate()) {
+            return;
+          }
           postCompany.dataModel.professionName = null;
           savePost(postCompany.dataModel).then((result) => {
             if (result) {
@@ -323,10 +397,19 @@ export default defineComponent(
       function professionChange(value: any, selectedOptions: any) {
         if (value.length >= 3) {
           postCompany.dataModel.postName = selectedOptions[2].label;
-          // postCompany.dataModel.professionName = selectedOptions[2].label;
         }
       }
 
+      // 企业名称选择变更事件
+      function companyChange(value: any) {
+        getInfo().then((loginUserInfo: any) => {
+          getCompanyById(value, loginUserInfo.userID).then(result => {
+            console.log(result)
+            postCompany.dataModel.welfare = result.bonus
+          })
+        });
+      }
+
       return {
         ...toRefs(postCompany),
         loadData,
@@ -341,7 +424,9 @@ export default defineComponent(
         WorkYearTypeList,
         postCompany,
         isEdit,
-        professionChange
+        jobHuntList,
+        professionChange,
+        companyChange
       }
     },
     created() {

+ 1 - 1
vue/src/views/jobUserManager/jobuser/edit.vue

@@ -634,7 +634,7 @@ export default defineComponent(
         });
       };
       const getCultureList = () => {
-        getSysDictionaryList('CultureLevel').then((data) => {
+        getSysDictionaryList('HighestDegree').then((data) => {
           cultureList.value = data;
         });
       };