Browse Source

岗位-新增页面功能实现

Liudijing 1 year ago
parent
commit
efab998260

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

@@ -13,7 +13,7 @@ import com.hz.employmentsite.vo.companyService.CompanyVo;
 import java.util.*;
 
 @RestController
-@RequestMapping("/api/company/")
+@RequestMapping("/api/companyService/company")
 public class CompanyController {
 
     @Autowired

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

@@ -3,6 +3,7 @@ package com.hz.employmentsite.controller.companyService;
 import com.github.pagehelper.PageInfo;
 import com.hz.employmentsite.filter.exception.BaseResponse;
 import com.hz.employmentsite.filter.exception.RespGenerstor;
+import com.hz.employmentsite.services.service.AccountService;
 import com.hz.employmentsite.services.service.companyService.PostService;
 import com.hz.employmentsite.vo.companyService.PostVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,6 +15,9 @@ public class PostController {
     @Autowired
     private PostService postService;
 
+    @Autowired
+    private AccountService accountService;
+
     @ResponseBody
     @GetMapping("/getList")
     public BaseResponse getList(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize,
@@ -24,7 +28,19 @@ public class PostController {
                                 @RequestParam(required = false) Integer recordStatus,
                                 @RequestParam(required = false) String workNmae) {
 
-        PageInfo<PostVo> result = postService.getList(pageIndex, pageSize,postName, minCount, maxCount,companyName,recordStatus,workNmae);
+        PageInfo<PostVo> result = postService.getList(pageIndex, pageSize, null, postName, minCount, maxCount, companyName, recordStatus, workNmae);
+        return RespGenerstor.success(result);
+    }
+
+    @PostMapping("/save")
+    public BaseResponse<Integer> save(@RequestBody PostVo data) {
+        var result = postService.save(data, accountService.getLoginUserID());
+        return RespGenerstor.success(result);
+    }
+
+    @GetMapping("/getPostByID")
+    public BaseResponse<PostVo> getPostByID(@RequestParam(required = false) String id) {
+        var result = postService.getDataById(id);
         return RespGenerstor.success(result);
     }
 

+ 3 - 1
src/main/java/com/hz/employmentsite/mapper/cquery/PostCQuery.java

@@ -1,5 +1,6 @@
 package com.hz.employmentsite.mapper.cquery;
 
+import com.hz.employmentsite.model.PcPost;
 import com.hz.employmentsite.vo.companyService.PostVo;
 import com.hz.employmentsite.vo.jobUserManager.JobhuntVo;
 import org.apache.ibatis.annotations.Param;
@@ -7,6 +8,7 @@ import org.apache.ibatis.annotations.Param;
 import java.util.List;
 
 public interface PostCQuery {
-    List<PostVo> selectPostList(@Param("postName") String postName, @Param("minCount")Integer minCount, @Param("maxCount")Integer maxCount,
+    List<PostVo> selectPostList(@Param("postID")String postID,@Param("postName") String postName, @Param("minCount")Integer minCount, @Param("maxCount")Integer maxCount,
                                 @Param("companyName")String companyName, @Param("RecordStatus") Integer RecordStatus, @Param("WorkNmae")String WorkNmae);
+    int insert(PcPost post);
 }

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

@@ -42,7 +42,7 @@ public class PcPost {
 
     private Boolean isTrail;
 
-    private Date trailtime;
+    private Integer trailtime;
 
     private BigDecimal trailMaxSalary;
 
@@ -210,11 +210,11 @@ public class PcPost {
         this.isTrail = isTrail;
     }
 
-    public Date getTrailtime() {
+    public Integer getTrailtime() {
         return trailtime;
     }
 
-    public void setTrailtime(Date trailtime) {
+    public void setTrailtime(Integer trailtime) {
         this.trailtime = trailtime;
     }
 

+ 106 - 2
src/main/java/com/hz/employmentsite/services/impl/companyService/PostServiceImpl.java

@@ -1,26 +1,130 @@
 package com.hz.employmentsite.services.impl.companyService;
 
 import com.github.pagehelper.PageInfo;
+import com.hz.employmentsite.filter.exception.BaseException;
+import com.hz.employmentsite.mapper.PcPostMapper;
 import com.hz.employmentsite.mapper.cquery.JobhuntCQuery;
 import com.hz.employmentsite.mapper.cquery.PostCQuery;
+import com.hz.employmentsite.model.PcPost;
+import com.hz.employmentsite.model.PcPostExample;
 import com.hz.employmentsite.services.service.companyService.PostService;
+import com.hz.employmentsite.util.StringUtils;
 import com.hz.employmentsite.vo.companyService.PostVo;
 import com.hz.employmentsite.vo.jobUserManager.JobhuntVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
 import java.util.List;
+import java.util.UUID;
 
 @Service("PostService")
 public class PostServiceImpl implements PostService {
     @Autowired
     private PostCQuery postCQuery;
+    @Autowired
+    private StringUtils stringUtils;
+
+    @Autowired
+    private PcPostMapper pcPostMapper;
 
     @Override
-    public PageInfo<PostVo> getList(Integer page, Integer rows, String postName, Integer minCount, Integer maxCount, String companyName, int recordStatus, String workNmae) {
-        List<PostVo> list = postCQuery.selectPostList(postName, minCount, maxCount, companyName, recordStatus, workNmae);
+    public PageInfo<PostVo> getList(Integer page, Integer rows, String postID, String postName, Integer minCount, Integer maxCount, String companyName, int recordStatus, String workNmae) {
+        List<PostVo> list = postCQuery.selectPostList(postID, postName, minCount, maxCount, companyName, recordStatus, workNmae);
         PageInfo<PostVo> result = new PageInfo(list);
         return result;
 
     }
+
+    @Override
+    public Integer save(PostVo data, String userId) {
+        int result = 0;
+        PcPost dbData = null;
+        Boolean isExist=data.getPostID()!=null;
+        PcPostExample exp = new PcPostExample();
+        PcPostExample.Criteria cro = exp.createCriteria();
+        if(isExist){
+            cro.andPostIDEqualTo(data.getPostID());
+            dbData = pcPostMapper.selectByExample(exp).stream().findFirst().orElse(null);
+        }
+
+        if (dbData == null) {
+            dbData = new PcPost();
+            dbData.setPostID(UUID.randomUUID().toString());
+            dbData.setWorkCode(data.getWorkCode());
+            dbData.setWorkNmae(data.getWorkNmae());
+            dbData.setRecruitCount(data.getRecruitCount());
+            dbData.setCompanyID(data.getCompanyID());
+            dbData.setPostName(data.getPostName());
+            dbData.setRecordStatus(data.getRecordStatus());
+            dbData.setWorkNature(data.getWorkNature());
+            dbData.setValidDay(data.getValidDay());
+            dbData.setWorkYear(data.getWorkYear());
+            dbData.setWorkNature(data.getWorkNature());
+            dbData.setCultureRank(data.getCultureRank());
+            dbData.setPostDesc(data.getPostDesc());
+            dbData.setMaxSalary(data.getMaxSalary());
+            dbData.setMinSalary(data.getMinSalary());
+            dbData.setWelfare(data.getWelfare());
+            dbData.setUserName(data.getUserName());
+            dbData.setUserMobile(data.getUserMobile());
+            dbData.setPostEmial(data.getPostEmial());
+            dbData.setWorkTime(data.getWorkTime());
+            dbData.setIsTrail(data.getIsTrail());
+            dbData.setTrailtime(data.getTrailtime());
+            dbData.setTrailMaxSalary(data.getTrailMaxSalary());
+            dbData.setTrailMinSalary(data.getTrailMinSalary());
+            dbData.setCreateTime(new Date());
+            dbData.setCreateUserID(userId);
+            result = pcPostMapper.insert(dbData);
+        } else {
+            dbData.setPostID(UUID.randomUUID().toString());
+            dbData.setWorkCode(data.getWorkCode());
+            dbData.setWorkNmae(data.getWorkNmae());
+            dbData.setRecruitCount(data.getRecruitCount());
+            dbData.setCompanyID(data.getCompanyID());
+            dbData.setPostName(data.getPostName());
+            dbData.setRecordStatus(data.getRecordStatus());
+            dbData.setWorkNature(data.getWorkNature());
+            dbData.setValidDay(data.getValidDay());
+            dbData.setWorkYear(data.getWorkYear());
+            dbData.setWorkNature(data.getWorkNature());
+            dbData.setCultureRank(data.getCultureRank());
+            dbData.setPostDesc(data.getPostDesc());
+            dbData.setMaxSalary(data.getMaxSalary());
+            dbData.setMinSalary(data.getMinSalary());
+            dbData.setWelfare(data.getWelfare());
+            dbData.setUserName(data.getUserName());
+            dbData.setUserMobile(data.getUserMobile());
+            dbData.setPostEmial(data.getPostEmial());
+            dbData.setWorkTime(data.getWorkTime());
+            dbData.setIsTrail(data.getIsTrail());
+            dbData.setTrailtime(data.getTrailtime());
+            dbData.setTrailMaxSalary(data.getTrailMaxSalary());
+            dbData.setTrailMinSalary(data.getTrailMinSalary());
+            dbData.setModifyTime(new Date());
+            dbData.setModifyUserID(userId);
+            result = pcPostMapper.updateByPrimaryKey(dbData);
+        }
+        return result;
+    }
+
+    @Override
+    public int delete(List<String> idList) {
+        int result = 0;
+        PcPostExample exp = new PcPostExample();
+        PcPostExample.Criteria cro = exp.or();
+        cro.andPostIDIn(idList);
+        result = pcPostMapper.deleteByExample(exp);
+
+        return result;
+    }
+
+    @Override
+    public PostVo getDataById(String id) {
+        if (stringUtils.IsNullOrEmpty(id)) {
+            return null;
+        }
+        return postCQuery.selectPostList(id, null, null, null, null, null, null).stream().findFirst().orElse(null);
+    }
 }

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

@@ -3,6 +3,12 @@ package com.hz.employmentsite.services.service.companyService;
 import com.github.pagehelper.PageInfo;
 import com.hz.employmentsite.vo.companyService.PostVo;
 
+import java.util.List;
+
 public interface PostService {
-    PageInfo<PostVo> getList(Integer page, Integer rows, String postName, Integer minCount, Integer maxCount, String companyName,int RecordStatus,String WorkNmae);
+    PageInfo<PostVo> getList(Integer page, Integer rows, String postID,String postName, Integer minCount, Integer maxCount, String companyName,int RecordStatus,String WorkNmae);
+    Integer save(PostVo data, String userId);
+    int delete(List<String> idList);
+    PostVo getDataById(String id);
+
 }

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

@@ -44,7 +44,7 @@ public class PostVo {
 
     public Boolean isTrail;
 
-    public Date trailtime;
+    public Integer trailtime;
 
     public BigDecimal trailMaxSalary;
 

+ 1 - 1
vue/src/api/companyService/company.ts

@@ -4,7 +4,7 @@ import {request} from "@/utils/request";
 export function getList(params: any) {
   return request<object>(
     {
-      url: "company/getList",
+      url: "company/companyService/getList",
       method: 'get',
       params: params,
     },

+ 22 - 0
vue/src/api/companyService/post.ts

@@ -14,6 +14,28 @@ export function getList(params: any) {
   );
 }
 
+export function getPostByID(id: string) {
+  return request<object>({
+    url: 'companyService/post/getPostByID',
+    method: 'get',
+    params: {id: id}
+  }, {
+    isNew: true
+  })
+}
+
+export function save(data: any) {
+  return request<object>({
+    url: 'companyService/post/save',
+    method: 'post',
+    data: data
+  }, {
+    isNew: true,
+    successMsg: '提交成功!',
+    errorMsg: '提交失败!'
+  })
+}
+
 export function del(data: any) {
   return request<object>(
     {

+ 106 - 76
vue/src/views/companyService/post/edit.vue

@@ -8,21 +8,21 @@
           <a-form-item
             label="岗位名称"
             :label-col="{ span: 6 }"
-            name="PostName"
+            name="postName"
             :rules="[{ required: true, message: '请输入岗位名称!' }]"
           >
-            <a-input v-model:value="dataModel.PostName" placeholder=""/>
+            <a-input v-model:value="dataModel.postName" placeholder=""/>
           </a-form-item>
         </a-col>
         <a-col :span="8">
           <a-form-item
             label="有效开始时间"
             :label-col="{ span: 6 }"
-            name="ValidTime"
+            name="validTime"
             :rules="[{ required: true, message: '请输入招聘有效开始时间' }]"
           >
             <a-date-picker
-              v-model:value="dataModel.ValidTime"
+              v-model:value="dataModel.validTime"
               picker="date"
               value-format="YYYY-MM-DD"
             />
@@ -32,10 +32,10 @@
           <a-form-item
             label="有效期(天)"
             :label-col="{ span: 6 }"
-            name="ValidDay"
+            name="validDay"
             :rules="[{ required: true, message: '请输入有效期(天)!' }]"
           >
-            <a-input v-model:value="dataModel.ValidDay" placeholder=""/>
+            <a-input v-model:value="dataModel.validDay" placeholder=""/>
           </a-form-item>
         </a-col>
       </a-row>
@@ -46,13 +46,13 @@
           <a-form-item
             label="岗位状态"
             :label-col="{ span: 6 }"
-            name="RecordStatus"
+            name="recordStatus"
             :rules="[{ required: true, message: '请岗位状态!' }]"
           >
             <a-select
               ref="select"
-              v-model:value="dataModel.RecordStatus"
-              :options="studentTypelist"
+              v-model:value="dataModel.recordStatus"
+              :options="postStatusList"
               :field-names="{ label: 'name', value: 'value' }"
             >
             </a-select>
@@ -62,14 +62,14 @@
           <a-form-item
             label="所属企业"
             :label-col="{ span: 6 }"
-            name="CompanyID"
+            name="companyID"
             :rules="[{ required: true, message: '请选择企业!' }]"
           >
             <a-select
               ref="select"
-              v-model:value="dataModel.CompanyID"
-              :options="studentTypelist"
-              :field-names="{ label: 'name', value: 'value' }"
+              v-model:value="dataModel.companyID"
+              :options="companyList"
+              :field-names="{ label: 'companyName', value: 'companyID' }"
             >
             </a-select>
           </a-form-item>
@@ -78,10 +78,10 @@
           <a-form-item
             label="工作性质"
             :label-col="{ span: 6 }"
-            name="WorkNature"
+            name="workNature"
             :rules="[{ required: true, message: '请输入工作性质!' }]"
           >
-            <a-input v-model:value="dataModel.WorkNature" placeholder=""/>
+            <a-input v-model:value="dataModel.workNature" placeholder=""/>
           </a-form-item>
         </a-col>
       </a-row>
@@ -92,33 +92,33 @@
           <a-form-item
             label="工作年限"
             :label-col="{ span: 6 }"
-            name="WorkYear"
+            name="workYear"
             :rules="[{ required: true, message: '请输入工作年限!' }]"
           >
-            <a-input v-model:value="dataModel.WorkYear" placeholder=""/>
+            <a-input v-model:value="dataModel.workYear" placeholder=""/>
           </a-form-item>
         </a-col>
         <a-col :span="8">
           <a-form-item
             label="招聘人数"
             :label-col="{ span: 6 }"
-            name="RecruitCount"
+            name="recruitCount"
             :rules="[{ required: true, message: '请输入招聘人数!' }]"
           >
-            <a-input v-model:value="dataModel.RecruitCount" placeholder=""/>
+            <a-input v-model:value="dataModel.recruitCount" placeholder=""/>
           </a-form-item>
         </a-col>
         <a-col :span="8">
           <a-form-item
             label="文化程度"
             :label-col="{ span: 6 }"
-            name="CultureRank"
+            name="cultureRank"
             :rules="[{ required: true, message: '请选择文化程度!' }]"
           >
             <a-select
               ref="select"
-              v-model:value="dataModel.CultureRank"
-              :options="studentStatuslist"
+              v-model:value="dataModel.cultureRank"
+              :options="cultureLevelList"
               :field-names="{ label: 'name', value: 'value' }"
             >
             </a-select>
@@ -130,30 +130,30 @@
           <a-form-item
             label="最高薪酬"
             :label-col="{ span: 6 }"
-            name="MaxSalary"
+            name="maxSalary"
             :rules="[{ required: true, message: '请输入最高薪酬!' }]"
           >
-            <a-input v-model:value="dataModel.MaxSalary" placeholder=""/>
+            <a-input v-model:value="dataModel.maxSalary" placeholder=""/>
           </a-form-item>
         </a-col>
         <a-col :span="8">
           <a-form-item
             label="最低薪酬"
             :label-col="{ span: 6 }"
-            name="MinSalary"
+            name="minSalary"
             :rules="[{ required: true, message: '请输入最低薪酬!' }]"
           >
-            <a-input v-model:value="dataModel.MinSalary" placeholder=""/>
+            <a-input v-model:value="dataModel.minSalary" placeholder=""/>
           </a-form-item>
         </a-col>
         <a-col :span="8">
           <a-form-item
             label="福利待遇"
             :label-col="{ span: 6 }"
-            name="Welfare"
+            name="welfare"
             :rules="[{ required: true, message: '请输入福利待遇!' }]"
           >
-            <a-input v-model:value="dataModel.Welfare" placeholder=""/>
+            <a-input v-model:value="dataModel.welfare" placeholder=""/>
           </a-form-item>
         </a-col>
       </a-row>
@@ -162,30 +162,30 @@
           <a-form-item
             label="联系人"
             :label-col="{ span: 6 }"
-            name="UserName"
+            name="userName"
             :rules="[{ required: true, message: '请选择联系人!' }]"
           >
-            <a-input v-model:value="dataModel.UserName" placeholder=""/>
+            <a-input v-model:value="dataModel.userName" placeholder=""/>
           </a-form-item>
         </a-col>
         <a-col :span="8">
           <a-form-item
             label="联系电话"
             :label-col="{ span: 6 }"
-            name="UserMobile"
+            name="userMobile"
             :rules="[{ required: true, message: '请输入联系电话!' }]"
           >
-            <a-input v-model:value="dataModel.UserMobile" placeholder=""/>
+            <a-input v-model:value="dataModel.userMobile" placeholder=""/>
           </a-form-item>
         </a-col>
         <a-col :span="8">
           <a-form-item
             label="邮箱"
             :label-col="{ span: 6 }"
-            name="PostEmial"
+            name="postEmial"
             :rules="[{ required: true, message: '请输入邮箱!' }]"
           >
-            <a-input v-model:value="dataModel.PostEmial" placeholder=""/>
+            <a-input v-model:value="dataModel.postEmial" placeholder=""/>
           </a-form-item>
         </a-col>
       </a-row>
@@ -194,23 +194,23 @@
           <a-form-item
             label="工作时长"
             :label-col="{ span: 6 }"
-            name="WorkTime"
+            name="workTime"
             :rules="[{ required: true, message: '请输入工作时长!' }]"
           >
-            <a-input v-model:value="dataModel.WorkTime" placeholder=""/>
+            <a-input v-model:value="dataModel.workTime" placeholder=""/>
           </a-form-item>
         </a-col>
         <a-col :span="8">
           <a-form-item
             label="是否试用期"
             :label-col="{ span: 6 }"
-            name="IsTrail"
+            name="isTrail"
             :rules="[{ required: true, message: '请选择是否试用期!' }]"
           >
             <a-select
               ref="select"
-              v-model:value="dataModel.IsTrail"
-              :options="studentStatuslist"
+              v-model:value="dataModel.isTrail"
+              :options="trialStatusList"
               :field-names="{ label: 'name', value: 'value' }"
             >
             </a-select>
@@ -220,10 +220,10 @@
           <a-form-item
             label="试用期时长"
             :label-col="{ span: 6 }"
-            name="Trailtime"
+            name="trailtime"
             :rules="[{ required: true, message: '请选择试用期时长!' }]"
           >
-            <a-input v-model:value="dataModel.Trailtime" placeholder=""/>
+            <a-input v-model:value="dataModel.trailtime" placeholder=""/>
           </a-form-item>
         </a-col>
       </a-row>
@@ -232,28 +232,28 @@
           <a-form-item
             label="试用期最高薪酬"
             :label-col="{ span: 6 }"
-            name="TrailMaxSalary"
+            name="trailMaxSalary"
             :rules="[{ required: true, message: '请输入试用期最高薪酬!' }]"
           >
-            <a-input v-model:value="dataModel.TrailMaxSalary" placeholder=""/>
+            <a-input v-model:value="dataModel.trailMaxSalary" placeholder=""/>
           </a-form-item>
         </a-col>
         <a-col :span="8">
           <a-form-item
             label="试用期最低薪酬"
             :label-col="{ span: 6 }"
-            name="TrailMinSalary"
+            name="trailMinSalary"
             :rules="[{ required: true, message: '' }]"
           >
-            <a-input v-model:value="dataModel.TrailMinSalary" placeholder=""/>
+            <a-input v-model:value="dataModel.trailMinSalary" placeholder=""/>
           </a-form-item>
         </a-col>
       </a-row>
       <a-divider orientation="left">其他信息</a-divider>
       <a-row>
         <a-col class="table-bottom-a1">
-          <a-form-item :label-col="{span:8}" label="" name="PostDesc">
-            <a-textarea v-model:value="dataModel.PostDesc" placeholder="岗位描述" :rows="4"/>
+          <a-form-item :label-col="{span:8}" label="" name="postDesc">
+            <a-textarea v-model:value="dataModel.postDesc" placeholder="岗位描述" :rows="4"/>
           </a-form-item>
         </a-col>
       </a-row>
@@ -266,49 +266,79 @@
 </template>
 
 <script lang="ts">
-import { defineComponent, reactive, ref, toRefs } from 'vue';
-import { useRouter } from 'vue-router';
-import type { SelectProps } from 'ant-design-vue';
-import { useTabsViewStore } from '@/store/modules/tabsView';
+import {defineComponent, reactive, ref, toRefs} from 'vue';
+import {useRouter} from 'vue-router';
+import {save, getPostByID} from '@/api/companyService/post'
+import type {SelectProps} from 'ant-design-vue';
+import {useTabsViewStore} from '@/store/modules/tabsView';
 import BUploadFile from '@/components/file/uploadFile.vue';
+import {get} from '@/api/common';
 
 interface FormState {
   dataModel: any;
 }
 
 export default defineComponent(
-{
-  components: { BUploadFile },
-  setup()
   {
-    const formState = reactive<FormState>({ dataModel: {} });
-    const router = useRouter();
-    const postStatuslist = ref<SelectProps['options']>();
-    // const fullpath = router.currentRoute.value.fullPath;
-    const tabsViewStore = useTabsViewStore();
+    name: 'PostEdit',
+    components: {BUploadFile},
+    setup() {
+      const formState = reactive<FormState>({dataModel: {}});
+      const router = useRouter();
+      const fullpath = router.currentRoute.value.fullPath;
+      const tabsViewStore = useTabsViewStore();
 
-    const onClose = () => {
-      tabsViewStore.closeCurrentTabByPath('/companyService/post/add');
-      tabsViewStore.closeCurrentTabByPath('/companyService/post/edit');
-      router.push({ name: '/companyService/post/index' });
-    };
 
-    const onFinish=()=>{
+      const cultureLevelList = ref<SelectProps['options']>();
+      const companyList = ref<SelectProps['options']>();
+      const postStatusList = [{name: '启用', value: 1}, {name: '禁用', value: 0}];
+      const trialStatusList = [{name: '是', value: 1}, {name: '否', value: 0}];
 
-    }
+      get('system/dictionary/getDictionaryItemByCodeList', {code: 'CultureLevel'}).then(result => {
+        cultureLevelList.value = result;
+      });
+
+      get('companyService/company/getList', {pageIndex: 1, pageSize: 999}).then(result => {
+        companyList.value = result.list;
+      })
+
+      const onClose = () => {
+        tabsViewStore.closeCurrentTabByPath('/companyService/post/add');
+        tabsViewStore.closeCurrentTabByPath('/companyService/post/edit');
+        router.push({name: '/companyService/post/index'});
+      };
 
-    const loadData = () => {
+      const onFinish = () => {
+        save(formState.dataModel).then((result) => {
+          if (result) {
+            tabsViewStore.closeCurrentTab(fullpath);
+            tabsViewStore.addTabByPath('/companyService/post/index', {reload: 1});
+          }
+        });
+      }
 
-    };
+      const loadData = (id: any) => {
+        getPostByID(id).then(result => {
+          formState.dataModel = result;
+        })
+      };
 
-    return {
-      ...toRefs(formState),
-      loadData,
-      onClose,
-      onFinish,
-      postStatuslist
+      return {
+        ...toRefs(formState),
+        loadData,
+        onClose,
+        onFinish,
+        companyList,
+        postStatusList,
+        trialStatusList,
+        cultureLevelList
+      }
+    },
+    created() {
+      const id = history.state.params?.id;
+      console.log(id);
+      this.loadData(id);
     }
-  }
-})
+  })
 </script>
 

+ 2 - 0
vue/src/views/companyService/post/index.vue

@@ -151,6 +151,8 @@ export default defineComponent({
       tabsViewStore.addTabByPath('/companyService/post/add', null);
     };
     const onEdit = (item: any) => {
+      console.log(item);
+      console.log(item.postID);
       tabsViewStore.addTabByPath('/companyService/post/edit', { id: item.postID });
     };