Kaynağa Gözat

Merge remote-tracking branch 'origin/master'

lizeyu 10 ay önce
ebeveyn
işleme
d816190f0a

+ 7 - 0
h5app/src/views/pages/company/edit.vue

@@ -320,6 +320,11 @@ export default defineComponent({
       companyModelList.value = companyModelResult;
     }
 
+    const getCompanyTypeList = async function(){
+      const companyTypeResult :any = await getSysDictionaryList("CompanyType");
+      companyTypeList.value = companyTypeResult;
+    }
+
     const rules = computed(() => {
       return {
         dataModel: {
@@ -499,6 +504,7 @@ export default defineComponent({
       onNext,
       onBack,
       getCompanyModelList,
+      getCompanyTypeList,
       getRegionListData,
       getSiteListData,
       changeCity,
@@ -508,6 +514,7 @@ export default defineComponent({
     }
   },mounted(){
     this.getCompanyModelList();
+    this.getCompanyTypeList();
     this.getRegionListData();
     this.getSiteListData();
   }

+ 1 - 3
h5app/src/views/pages/company/editPost.vue

@@ -151,9 +151,7 @@
     </ion-content>
     <ion-footer>
       <ion-toolbar>
-        <div slot="end">
-          <ion-button shape="round" expand="block" @click="onSave">提交</ion-button>
-        </div>
+          <ion-button style="width: 100%;" @click="onSave">提交</ion-button>
       </ion-toolbar>
     </ion-footer>
   </ion-page>

+ 5 - 6
h5app/src/views/pages/company/list.vue

@@ -91,7 +91,7 @@ import {IonIcon, onIonViewDidEnter} from '@ionic/vue';
 import BEmpty from "@/components/empty.vue";
 import {getCompanyList} from '@/api/company/index';
 import {chevronForwardOutline,buildOutline,trashOutline} from 'ionicons/icons';
-import {get} from "@/api/common";
+import {get, post} from "@/api/common";
 
 export default defineComponent({
   name: 'CompanyList',
@@ -184,10 +184,10 @@ export default defineComponent({
         role: 'confirm',
         handler: () => {
           delLoading.value = true;
-          get("companyService/company/delete",{id:delCompanyID.value}).then((res) => {
-            infoAlterData.title = "提示";
+          post("companyService/company/delete",[delCompanyID.value],"企业信息删除").then((res) => {
+            /*infoAlterData.title = "提示";
             infoAlterData.message = "删除成功";
-            setInfoAlertOpen(true);
+            setInfoAlertOpen(true);*/
           }).finally(()=>{
             delLoading.value = false;
             reload();
@@ -262,8 +262,7 @@ export default defineComponent({
 <style lang="less">
 .custom{
   --placeholder-color: gray;
-  --placeholder-font-style:italic;
-  --placeholder-opacity: 1;
+  --placeholder-opacity: 0.5;
 }
 
 .company-list-page {

+ 101 - 4
h5app/src/views/pages/company/postList.vue

@@ -54,9 +54,9 @@
                   </ion-label>
                 </ion-item>
                 <ion-item-options>
-               <ion-item-option color="danger" @click="setDelAlertOpen(true, record.educationID)">
-               <ion-icon :icon="trashOutline"></ion-icon>
-             </ion-item-option>
+                  <ion-item-option color="danger" @click="setDelAlertOpen(true, record.postID)">
+                    <ion-icon :icon="trashOutline"></ion-icon>
+                  </ion-item-option>
              </ion-item-options>
                 </ion-item-sliding>
               </div>
@@ -78,6 +78,27 @@
         <ion-button style="width: 48%;float:left;margin-right: 1%;" @click="onFinish" >完  成</ion-button>
       </ion-toolbar>
     </ion-footer>
+
+    <ion-alert
+        :is-open="delAlertOpen"
+        header="删除确认"
+        message="确定要删除该岗位吗?"
+        :buttons="delAlertButtons"
+        @didDismiss="setDelAlertOpen(false, null)"
+    ></ion-alert>
+
+    <ion-alert
+        :is-open="infoAlertOpen"
+        :header="infoAlterData.title"
+        :message="infoAlterData.message"
+        :buttons="infoAlertButtons"
+        @didDismiss="setInfoAlertOpen(false)"
+    ></ion-alert>
+    <ion-loading
+        :is-open="delLoading"
+        message="删除中..."
+        @didDismiss="setDelLoadingOpen(false)" >
+    </ion-loading>
   </ion-page>
 </template>
 <script lang="ts">
@@ -87,6 +108,7 @@ import {alertController, onIonViewDidEnter} from "@ionic/vue";
 import {arrowBackOutline, addCircleOutline,trashOutline} from 'ionicons/icons';
 import {getCompanyPostList} from '@/api/company/index'
 import dayjs from "dayjs";
+import {post} from "@/api/common";
 
 interface StepParams{
   name: string,
@@ -144,6 +166,71 @@ export default defineComponent({
       return `${year}-${month}-${day}`;
     };*/
 
+    // 信息弹窗内容
+    const infoAlterData = reactive({
+      title:"",
+      message:""
+    });
+    // 删除警告弹窗开关
+    const delAlertOpen = ref(false);
+    // 删除警告弹窗按钮定义
+    const infoAlertButtons = [
+      {
+        text: '确定',
+        role: 'confirm',
+        handler: () => {
+          reload(pageParams.companyID,curStepData.value.statusVal);
+        },
+      },
+    ];
+
+    // 删除数据
+    const delPostID = ref("");
+    // 删除加载
+    const delLoading = ref(false);
+    // 信息弹窗开关
+    const infoAlertOpen = ref(false);
+    // 删除警告弹窗按钮定义
+    const delAlertButtons = [
+      {
+        text: '取消',
+        role: 'cancel',
+        handler: () => {
+          reload(pageParams.companyID,curStepData.value.statusVal);
+        },
+      },
+      {
+        text: '确定',
+        role: 'confirm',
+        handler: () => {
+          delLoading.value = true;
+          post("companyService/post/delete",[delPostID.value],"岗位信息删除").then((res) => {
+           /* infoAlterData.title = "提示";
+            infoAlterData.message = "删除成功";
+            setInfoAlertOpen(true);*/
+          }).finally(()=>{
+            delLoading.value = false;
+            reload(pageParams.companyID,curStepData.value.statusVal);
+          });
+        },
+      },
+    ];
+    // 设置要删除的求职人员
+    function setDelAlertOpen(value: boolean, postID: any) {
+      delAlertOpen.value = value;
+      if(postID != null) {
+        delPostID.value = postID;
+      }
+    }
+    // 设置信息提示弹窗开关
+    function setInfoAlertOpen(value: boolean) {
+      infoAlertOpen.value = value;
+    }
+    // 设置删除弹窗开启关闭
+    function setDelLoadingOpen(value: boolean) {
+      delLoading.value = value;
+    }
+
     const onAdd = () => {
       router.push({path: './editPost', query: {reload:1,id: null,companyID:pageParams.companyID}});
     };
@@ -203,6 +290,13 @@ export default defineComponent({
       curStepData,
       postList,
       stepList,
+      delPostID,
+      delAlertButtons,
+      infoAlertButtons,
+      delAlertOpen,
+      infoAlertOpen,
+      delLoading,
+      infoAlterData,
       onBack,
       onAdd,
       onEdit,
@@ -211,7 +305,10 @@ export default defineComponent({
       loadData,
       presentAlert,
       /*calculateEndDate,*/
-      dayjs
+      dayjs,
+      setDelAlertOpen,
+      setInfoAlertOpen,
+      setDelLoadingOpen,
     }
   }
 });

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

@@ -306,23 +306,32 @@
           </ion-list>
 
           <ion-list  v-if="curStepData.statusVal==4">
-            <ion-item>
-              <div class="panel-title2"  slot="start">
-                <div class="item-flag"></div>
-                求职意向
+            <div class="form-title">
+              求职意向
+              <ion-icon :icon="addCircleOutline"  class="iconBtn" style="float:right;"
+                        @click="onPathForward('./jobHuntEdit',null,null,null,4)"></ion-icon>
+            </div>
+            <div class="bw-vue-list">
+              <div class="list-content" v-if="!loading">
+                <ion-list>
+                  <div v-for="(record,key) in jobHuntList" :key="key">
+                    <ion-item-sliding>
+                      <ion-item detail @click="onPathForward('./jobHuntEdit',null,null,record.jobHuntID,4)">
+                        <ion-label>
+                          <h2>{{record.professionName}}</h2>
+                          <p>期望薪资:{{record.minSalary}}-{{record.maxSalary}}</p>
+                        </ion-label>
+                      </ion-item>
+                      <ion-item-options>
+                        <ion-item-option color="danger" @click="setDelAlertOpen(true, record.jobHuntID)">
+                          <ion-icon :icon="trashOutline"></ion-icon>
+                        </ion-item-option>
+                      </ion-item-options>
+                    </ion-item-sliding>
+                  </div>
+                </ion-list>
               </div>
-              <ion-buttons slot="end">
-                <ion-icon :icon="addCircleOutline" class="iconBtn"
-                          @click="onPathForward('./jobHuntEdit',null,null,null,4)"></ion-icon>
-              </ion-buttons>
-            </ion-item>
-            <ion-item  v-for="(record,key) in jobHuntList" :key="key" detail
-                       @click="onPathForward( './jobHuntEdit',null,null,record.jobHuntID,4)">
-              <ion-label>
-                <h3>{{record.postName}}</h3>
-                <p>期望薪资:{{record.minSalary}}-{{record.maxSalary}}</p>
-              </ion-label>
-            </ion-item>
+            </div>
             <b-empty  v-if="jobHuntList.length==0"  :loading="loading" />
           </ion-list>
         <!--<ion-refresher pulling-text="下拉刷新" @ionRefresh="onRefresh"></ion-refresher>-->
@@ -544,7 +553,7 @@ export default defineComponent({
           postUrl.value = "jobUserService/education/deleteEducation";
           actionName.value = "删除教育经历";
           if(curStepData.value.statusVal!=2){
-            postUrl.value = curStepData.value.statusVal==3 ?"jobUserService/experience/deleteExperience":"jobUserService/jobHunt/deleteJobHunt";
+            postUrl.value = curStepData.value.statusVal==3 ?"jobUserService/experience/deleteExperience":"jobUserService/jobHunt/delete";
             actionName.value = curStepData.value.statusVal==3 ?"删除工作经验":"删除求职意向";
           }
           post(postUrl.value,[delID.value],actionName.value).then((res) => {

+ 68 - 65
h5app/src/views/pages/jobhunt/jobHuntEdit.vue

@@ -1,6 +1,6 @@
 <template>
   <ion-page>
-    <ion-header>
+    <ion-header class="header-theme2">
       <ion-toolbar>
         <ion-buttons slot="start">
           <ion-icon :icon="arrowBackOutline" @click="onCancel" style="padding-left:10px;width:24px;height:24px;"></ion-icon>
@@ -17,82 +17,84 @@
                :class="[record.val < curStepData?.statusVal ? 'greenLine' : 'grayLine']"></div>
           <div class="stepFlex-item-label">
             <p class="stepFlex-item-label-title">{{ record.title }}</p>
-<!--            <p class="stepFlex-item-label-desc">{{ record.desc }}</p>-->
+            <p class="stepFlex-item-label-desc">{{ record.desc }}</p>
           </div>
         </div>
       </div>
+
+      <form ref="editForm" @submit.prevent="onSave">
+        <div class="bw-vue-form">
         <ion-list class="canvasWrapper" >
-          <ion-item-group>
-            <ion-item>
-              <div class="panel-title2">
-                <div class="item-flag"></div>
-                求职意向
-              </div>
-            </ion-item>
-            <ion-label class="title-item">工种名称<span class="danger">*</span></ion-label>
-            <ion-item :class="[huntDataValid.dataModel.workName.$error?'ion-invalid':'ion-valid']">
-              <ion-input name="workName" id="workName"  style="text-align: left;" class="custom"
-                         placeholder="请输入工种名称" v-model="dataModel.workName" ></ion-input>
-              <ion-note slot="error">工种名称不能为空</ion-note>
-            </ion-item>
-            <ion-label class="title-item">求职类型<span class="danger">*</span></ion-label>
-            <ion-item :class="[huntDataValid.dataModel.jobHuntType.$error?'ion-invalid':'ion-valid']">
+          <div class="form-title">求职意向</div>
+<!--          <div class="form-input">
+            <ion-label>工种名称<span class="danger">*</span></ion-label>
+            <ion-input name="workName" id="workName"  style="text-align: left;" class="custom"
+                       placeholder="请输入工种名称" v-model="dataModel.workName" ></ion-input>
+&lt;!&ndash;            <ion-note slot="error">工种名称不能为空</ion-note>&ndash;&gt;
+          </div>-->
+          <div class="form-select">
+            <ion-label>求职类型<span class="danger">*</span></ion-label>
               <ion-select name="jobHuntType"  id="jobHuntType" okText="确定" cancelText="取消" v-model="dataModel.jobHuntType"
                           interface="action-sheet" placeholder="请选择求职类型" style="width:100%;text-align: left;">
                 <ion-select-option v-for=" (it,key) in jobHuntTypeList" :key="key" :value="it.value">
                   {{ it.name }}
                 </ion-select-option>
               </ion-select>
-              <ion-note slot="error">求职类型不能为空</ion-note>
-            </ion-item>
-            <ion-label class="title-item">求职岗位<span class="danger">*</span></ion-label>
-            <ion-item :class="[huntDataValid.dataModel.postID.$error?'ion-invalid':'ion-valid']">
+<!--              <ion-note slot="error">求职类型不能为空</ion-note>-->
+          </div>
+          <div class="form-select">
+            <ion-label>求职岗位<span class="danger">*</span></ion-label>
               <ion-select name="postID"  id="postID" okText="确定" cancelText="取消" v-model="dataModel.postID"
                           interface="action-sheet" placeholder="请选择求职岗位"  style="width:100%;text-align: left;">
                 <ion-select-option v-for=" (it,key) in allPostList" :key="key" :value="it.postID">
                   {{ it.postName }}
                 </ion-select-option>
               </ion-select>
-              <ion-note slot="error">求职岗位不能为空</ion-note>
-            </ion-item>
-            <ion-label class="title-item">人才类型<span class="danger">*</span></ion-label>
-            <ion-item :class="[huntDataValid.dataModel.jobUserType.$error?'ion-invalid':'ion-valid']">
+<!--              <ion-note slot="error">求职岗位不能为空</ion-note>-->
+          </div>
+          <div class="form-select">
+            <ion-label>人才类型<span class="danger">*</span></ion-label>
               <ion-select name="jobUserType"  id="jobUserType" okText="确定" cancelText="取消" v-model="dataModel.jobUserType"
                           interface="action-sheet" placeholder="请选择人才类型"  style="width:100%;text-align: left;">
                 <ion-select-option v-for=" (it,key) in jobUserTypeList" :key="key" :value="it.value">
                   {{ it.name }}
                 </ion-select-option>
               </ion-select>
-              <ion-note slot="error">人才类型不能为空</ion-note>
-            </ion-item>
-            <ion-label class="title-item">月薪要求(元)<span class="danger">*</span></ion-label>
-            <ion-item :class="[huntDataValid.dataModel.maxSalary.$error||huntDataValid.dataModel.minSalary.$error?'ion-invalid':'ion-valid']">
-              <ion-input inputmode="numeric" name="minSalary" id="minSalary" style="text-align: left;" class="custom"
-                         placeholder="请输入最低薪资" v-model="dataModel.minSalary" ></ion-input>
-              <span style="padding-left:20px;padding-right:20px;">至</span>
-              <ion-input inputmode="numeric" name="maxSalary" id="maxSalary" style="text-align: left;" class="custom"
-                         placeholder="请输入最高薪资" v-model="dataModel.maxSalary" ></ion-input>
-              <ion-note slot="error">月薪要求不能为空</ion-note>
-            </ion-item>
-            <ion-label class="title-item">工作年限<span class="danger">*</span></ion-label>
-            <ion-item :class="[huntDataValid.dataModel.workYear.$error?'ion-invalid':'ion-valid']">
-              <ion-select name="workYear"  id="workYear" okText="确定" cancelText="取消" v-model="dataModel.workYear"
+<!--              <ion-note slot="error">人才类型不能为空</ion-note>-->
+          </div>
+          <div class="form-input">
+            <ion-label>月薪要求(元)<span class="danger">*</span></ion-label>
+            <div>
+              <ion-input placeholder="请输入最低薪资" label-placement="stacked" style="float:left;width:40%;"
+                         v-model="dataModel.minSalary" class="custom">
+              </ion-input>
+              <ion-label style="float:left;width:5%;padding-top: 8px;">至</ion-label>
+              <ion-input placeholder="请输入最高薪资" label-placement="stacked" style="float:left;width:40%;"
+                         v-model="dataModel.maxSalary" class="custom">
+              </ion-input>
+              <!--              <ion-note slot="error">月薪要求不能为空</ion-note>-->
+            </div>
+          </div>
+          <div style="overflow: hidden;width:100%;"></div>
+          <div class="form-select">
+            <ion-label>工作年限<span class="danger">*</span></ion-label>
+            <ion-select name="workYear"  id="workYear" okText="确定" cancelText="取消" v-model="dataModel.workYear"
                           interface="action-sheet" placeholder="请选择工作年限"  style="width:100%;text-align: left;">
                 <ion-select-option v-for=" (it,key) in workYearTypeList" :key="key" :value="it.value">
                   {{ it.name }}
                 </ion-select-option>
               </ion-select>
-              <ion-note slot="error">工作年限不能为空</ion-note>
-            </ion-item>
-            <ion-label class="title-item">期望工作地区<span class="danger">*</span></ion-label>
-            <ion-item :class="[huntDataValid.dataModel.areaWork.$error?'ion-invalid':'ion-valid']">
-              <ion-input name="areaWork" id="areaWork" style="text-align: left;" class="custom"
+<!--              <ion-note slot="error">工作年限不能为空</ion-note>-->
+          </div>
+          <div class="form-input">
+            <ion-label>期望工作地区<span class="danger">*</span></ion-label>
+            <ion-input name="areaWork" id="areaWork" style="text-align: left;" class="custom"
                          placeholder="请输入期望工作地区" v-model="dataModel.areaWork" ></ion-input>
-              <ion-note slot="error">期望工作地区不能为空</ion-note>
-            </ion-item>
-            <ion-label class="title-item">可到职日期<span class="danger">*</span></ion-label>
-            <ion-item  :class="[huntDataValid.dataModel.inDate.$error?'ion-invalid':'ion-valid']">
-              <ion-datetime-button datetime="inDate" style="background-color: white;"></ion-datetime-button>
+<!--              <ion-note slot="error">期望工作地区不能为空</ion-note>-->
+          </div>
+          <div class="form-input">
+            <ion-label>可到职日期<span class="danger">*</span></ion-label>
+              <ion-datetime-button datetime="inDate" style="position: relative;right:110px;"></ion-datetime-button>
               <ion-modal :keep-contents-mounted="true">
                 <ion-datetime name="inDate" id="inDate" placeholder="可到职日期"
                               v-model="dataModel.inDate"  :prefer-wheel="true"
@@ -100,20 +102,20 @@
                               :show-default-buttons="true">
                 </ion-datetime>
               </ion-modal>
-            </ion-item>
-            <ion-label class="title-item">其他信息</ion-label>
-            <ion-item>
-              <ion-textarea name="areaWork" id="otherDemand" style="text-align: left;" class="custom"  rows="4"
-                         placeholder="请输入其他信息" v-model="dataModel.otherDemand" ></ion-textarea>
-            </ion-item>
-          </ion-item-group>
+          </div>
+          <div class="form-input">
+            <ion-label>其他信息</ion-label>
+            <ion-textarea placeholder="请输入其他信息" :rows="3" label-placement="stacked"
+                          v-model="dataModel.otherDemand" class="custom" style="border-bottom: 1px solid #fff2e8;">
+            </ion-textarea>
+          </div>
         </ion-list>
+        </div>
+      </form>
     </ion-content>
     <ion-footer>
       <ion-toolbar>
-        <div slot="end">
-          <ion-button shape="round" expand="block"  @click="onSave">保  存</ion-button>
-        </div>
+          <ion-button style="width: 100%;"  @click="onSave">保  存</ion-button>
       </ion-toolbar>
       <ion-loading
           :is-open="loading"
@@ -164,9 +166,11 @@ export default defineComponent({
       statusVal: 2
     });
     const stepList = ref([
-      {title: '个人基础信息', desc: '个人基础信息', val: 1},
-      {title: '完善教育经历', desc: '完善个人教育经历',val: 2},
-      {title: '个人求职意向', desc: '个人求职意向', val: 3}]);
+      {title: '基础信息', desc: '个人基础信息', val: 1},
+      {title: '教育经历', desc: '完善教育经历',val: 2},
+      {title: '工作经验', desc: '完善工作经验', val: 3},
+      {title: '求职意向', desc: '个人求职意向', val: 4}
+    ]);
     const allPostList = ref([]);
     const jobHuntTypeList = ref<SelectProps[]>([]);
     const jobUserTypeList = ref<SelectProps[]>([]);
@@ -299,10 +303,9 @@ export default defineComponent({
 });
 </script>
 <style lang="less">
-ion-input.custom{
+.custom{
   --placeholder-color: gray;
-  --placeholder-font-style:oblique;
-  --placeholder-opacity: 1;
+  --placeholder-opacity: 0.5;
 }
 
 .title-item{

+ 3 - 4
h5app/src/views/pages/jobhunt/list.vue

@@ -207,9 +207,9 @@ export default defineComponent({
         handler: () => {
           delLoading.value = true;
           post("jobUserService/jobUser/delete",[delJobUserID.value],"求职人员信息删除").then((res) => {
-            infoAlterData.title = "提示";
+            /*infoAlterData.title = "提示";
             infoAlterData.message = "删除成功";
-            setInfoAlertOpen(true);
+            setInfoAlertOpen(true);*/
           }).finally(()=>{
             delLoading.value = false;
             reload();
@@ -281,8 +281,7 @@ export default defineComponent({
 <style lang="less">
 ion-input.custom{
   --placeholder-color: gray;
-  --placeholder-font-style:oblique;
-  --placeholder-opacity: 1;
+  --placeholder-opacity: 0.5;
 }
 
 .search-item{

+ 7 - 3
src/main/java/com/hz/employmentsite/controller/companyService/CompanyController.java

@@ -2,6 +2,7 @@ package com.hz.employmentsite.controller.companyService;
 
 import com.github.pagehelper.PageInfo;
 import com.hz.employmentsite.filter.exception.BaseErrorEnum;
+import com.hz.employmentsite.filter.exception.BaseException;
 import com.hz.employmentsite.filter.exception.BaseResponse;
 import com.hz.employmentsite.filter.exception.RespGenerstor;
 import com.hz.employmentsite.model.PcCompany;
@@ -84,9 +85,12 @@ public class CompanyController {
     }
 
     @ResponseBody
-    @GetMapping("/delete")
-    public BaseResponse<Integer> delete(String id) {
-        Integer result = companyService.delete(id);
+    @PostMapping("/delete")
+    public BaseResponse<Integer> delete(@RequestBody List<String> ids) {
+        var result = companyService.delete(ids);
+        if (result <= 0) {
+            throw new BaseException(BaseErrorEnum.DELETE_NOT_DATA_ERROR);
+        }
         return RespGenerstor.success(result);
     }
 

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

@@ -103,11 +103,12 @@ public class PostController {
 
     @ResponseBody
     @PostMapping("/delete")
-    public BaseResponse<Integer> delete(String id) {
-        Integer result = postService.delete(id);
-        if (result <= 0)
+    public BaseResponse<Integer> delete(@RequestBody List<String> ids) {
+        var result = postService.delete(ids);
+        if (result <= 0) {
             throw new BaseException(BaseErrorEnum.DELETE_NOT_DATA_ERROR);
-        return RespGenerstor.success(1);
+        }
+        return RespGenerstor.success(result);
     }
 
     @ResponseBody

+ 1 - 2
src/main/java/com/hz/employmentsite/controller/jobUserManager/JobHuntController.java

@@ -93,7 +93,7 @@ public class JobHuntController {
 
         PageInfo<JobHuntVo> result = jobhuntService.getList(pageIndex, pageSize,jobHuntIDList,jobUserID,jobUserName,workName,minWorkYear, maxWorkYear, jobHuntTypeID, jobUserTypeID, minSalary, maxSalary, isAccomplish);
         ExcelHelper.ExcelData data = excelHelper.new ExcelData();
-        data.setTitles(Arrays.asList(new String[]{"序号","姓名","工种名称", "希望工作地区", "可到职日期","工作年限", "求职类型", "人才类型", "月薪要求"}));
+        data.setTitles(Arrays.asList(new String[]{"序号","姓名", "希望工作地区", "可到职日期","工作年限", "求职类型", "人才类型", "月薪要求"}));
         int i = 0;
         List<List<Object>> rowDatas = new ArrayList();
         for (JobHuntVo item : result.getList()) {
@@ -101,7 +101,6 @@ public class JobHuntController {
             ++i;
             row.add(i);
             row.add(item.jobUserName);
-            row.add(item.workName);
             row.add(item.areaWork);
             row.add(dataUtils.dateToStrFormat(item.inDate,"yyyy-MM-dd"));
             row.add(item.workYear);

+ 12 - 10
src/main/java/com/hz/employmentsite/services/impl/companyService/CompanyServiceImpl.java

@@ -164,17 +164,19 @@ public class CompanyServiceImpl implements CompanyService {
 
 
     @Override
-    public Integer delete(String id) {
+    public Integer delete(List<String> ids) {
         int result = 0;
-        PcPostExample pcPostExp = new PcPostExample();
-        pcPostExp.or().andCompanyIDEqualTo(id);
-        var curCompanyPostList = pcPostMapper.selectByExample(pcPostExp).stream().toList();
-        if( curCompanyPostList != null && curCompanyPostList.size() > 0){
-            throw new BaseException("10004","所选企业已有关联岗位信息,不允许删除!");
-        }else{
-            PcCompanyExample contactExample = new PcCompanyExample();
-            contactExample.or().andCompanyIDEqualTo(id);
-            result += pcCompanyMapper.deleteByExample(contactExample);
+        for(String curCompanyID : ids){
+            PcPostExample pcPostExp = new PcPostExample();
+            pcPostExp.or().andCompanyIDEqualTo(curCompanyID);
+            var curCompanyPostList = pcPostMapper.selectByExample(pcPostExp).stream().toList();
+            if( curCompanyPostList != null && curCompanyPostList.size() > 0){
+                throw new BaseException("10004","所选企业已有关联岗位信息,不允许删除!");
+            }else{
+                PcCompanyExample contactExample = new PcCompanyExample();
+                contactExample.or().andCompanyIDEqualTo(curCompanyID);
+                result += pcCompanyMapper.deleteByExample(contactExample);
+            }
         }
         return result;
     }

+ 4 - 6
src/main/java/com/hz/employmentsite/services/impl/companyService/PostServiceImpl.java

@@ -183,13 +183,11 @@ public class PostServiceImpl implements PostService {
 
 
     @Override
-    public int delete(String id) {
+    public int delete(List<String> ids) {
         int result = 0;
-        PcPostExample exp = new PcPostExample();
-        PcPostExample.Criteria cro = exp.or();
-        cro.andPostIDEqualTo(id);
-        result = pcPostMapper.deleteByExample(exp);
-
+        PcPostExample postExp = new PcPostExample();
+        postExp.or().andPostIDIn(ids);
+        result = pcPostMapper.deleteByExample(postExp);
         return result;
     }
 

+ 1 - 1
src/main/java/com/hz/employmentsite/services/service/companyService/CompanyService.java

@@ -16,7 +16,7 @@ public interface CompanyService {
 
     Integer save(CompanyVo data, String userId);
 
-    Integer delete(String id);
+    Integer delete(List<String> id);
 
     CompanyVo getDataById(String id);
 

+ 1 - 1
src/main/java/com/hz/employmentsite/services/service/companyService/PostService.java

@@ -10,7 +10,7 @@ public interface PostService {
     PageInfo<RecommendPostVo> getCommendPostList(Integer page, Integer rows, String jobUserID);
     Integer saveCommendPost(RecommendPostVo data, String userId);
     int save(PostVo data, String userId);
-    int delete(String id);
+    int delete(List<String> ids);
     PostVo getDataById(String id);
     List<PcPost> getDataListByCompanyId(String companyID);
     List<PostVo> importPost(List<PostVo> dataList, String userID);

+ 1 - 7
vue/src/views/companyService/post/edit.vue

@@ -258,13 +258,7 @@ export default defineComponent(
             });
             postCompany.dataModel.hasProfession = false;
           }
-          // else if (targetOption.tag == "thirdLevel") {
-          //   targetOption.children = null;
-          //   postCompany.dataModel.professionID = targetOption.value;
-          //   postCompany.dataModel.postName = targetOption.label;
-          //   postCompany.dataModel.hasProfession = true;
-          //   //console.log("xx",postCompany.dataModel);
-          // }
+
         }
       };
 

+ 14 - 15
vue/src/views/jobUserManager/jobhunt/edit.vue

@@ -6,10 +6,6 @@
         <a-col :span="7">
           <a-form-item label="姓名"  name="jobUserID" :label-col="{span:8}"  :rules="[{ required: true, message: '请输选择求职人员!' }]">
             <label v-if="opCategory==3">{{dataModel.name}}</label>
-<!--            <a-select  ref="select"  v-model:value="dataModel.jobUserID" :options="jobUserList"
-                       :field-names="{label:'text',value:'value'}"  :allow-clear="true"  >
-            </a-select>-->
-
             <a-select ref="select" show-search optionFilterProp="label"  v-model:value="dataModel.jobUserID" >
               <a-select-option v-for="item in jobUserList" :label="item.text" :value="item.value"
                                :key="item.value">
@@ -101,7 +97,7 @@
   </div>
 </template>
 <script lang="ts">
-import {defineComponent, reactive, ref, toRefs} from "vue";
+import {defineComponent, reactive, ref, toRefs, watch} from "vue";
 import {useTabsViewStore} from "@/store/modules/tabsView";
 import {getJobHuntByID,saveJobHunt} from "@/api/jobUserManager/jobhunt"
 import {getJobUserDataList} from "@/api/jobUserManager/jobuser";
@@ -145,7 +141,6 @@ export default defineComponent({
       regionList.value = result;
     }
 
-
     const getFirstProfessionList = () => {
       get("profession/getFirstProfessionList", null).then(data=>{
         firstProfessionList.value = (data as any[]).map((x) => {
@@ -173,7 +168,7 @@ export default defineComponent({
               };
             });
           });
-          formData.dataModel.professionID = null;
+          formData.dataModel.hasProfession = false;
         } else if (targetOption.tag == "secondLevel") {
           get("profession/getListByParentProfessionID",{parentProfessionID:targetOption.value}).then(data => {
             targetOption.loading = false;
@@ -181,20 +176,24 @@ export default defineComponent({
               return {
                 label: x.name,
                 value: x.code,
-                isLeaf: false,
+                isLeaf: true,
                 tag: 'thirdLevel'
               };
             });
           });
-          formData.dataModel.professionID = null;
-        }else if (targetOption.tag == "thirdLevel") {
-          targetOption.loading = false;
-          targetOption.children = [];
-          formData.dataModel.professionID = targetOption.value;
-          console.log("xx",formData.dataModel);
+          formData.dataModel.hasProfession = false;
         }
       }
     };
+    watch(() => formData.dataModel.professionName, (selectedValues) => {
+      if (selectedValues && selectedValues.length == 3) {
+        formData.dataModel.professionID = selectedValues[2];
+        formData.dataModel.hasProfession = true;
+      } else {
+        formData.dataModel.professionID = '';
+        formData.dataModel.hasProfession = false;
+      }
+    });
     const getJobUserList = async function() {
       const jobUserResult :any = await getJobUserDataList();
       jobUserList.value = jobUserResult;
@@ -245,7 +244,7 @@ export default defineComponent({
         }
       }
 
-      if(formData.dataModel.professionID==null){
+      if(!formData.dataModel.hasProfession){
         message.error("请选择完整的岗位信息!");
         isAllowCommit.value = false;
       }