jz.kai 4 лет назад
Родитель
Сommit
9478d89509

+ 5 - 1
src/api/base/company.js

@@ -41,6 +41,10 @@ function batchRemove(idList){
   });
 }
 
+function list(formData){
+  return request.post(constant.serverUrl + "/base/company/list", formData);
+}
+
 export default {
-  create,edit,add,update,remove,batchRemove,pageList
+  create,edit,add,update,remove,batchRemove,pageList,list
 }

+ 5 - 1
src/api/job/workCategory.js

@@ -41,6 +41,10 @@ function batchRemove(idList){
   });
 }
 
+function listSelectTree(formData){
+  return request.post(constant.serverUrl + "/job/workCategory/listSelectTree", formData);
+}
+
 export default {
-  list,create,edit,add,update,remove,batchRemove
+  list,create,edit,add,update,remove,batchRemove,listSelectTree
 }

+ 121 - 75
src/views/job/recruitment-detail.vue

@@ -22,49 +22,48 @@
         >
         <el-row>
             <el-col :span="12">
-                <el-form-item label="岗位" prop="title">
-                    <el-input
-                        v-model="formModel.title"
-                        placeholder="请输入岗位"
-                        style="width: 300px"
-                    ></el-input>
-                </el-form-item>
+              <el-form-item label="企业" prop="companyId">
+                <el-select-tree
+                  :props="companyProps"
+                  :options="companyResult"
+                  v-model="formModel.companyId"
+                  style="width:300px;"
+                  size="mediumn"
+                ></el-select-tree>
+              </el-form-item>
             </el-col>
             <el-col :span="12">
-                <!-- <el-form-item label="招聘地区" prop="area">
-                    <el-input
-                        v-model="formModel.area"
-                        placeholder="请输入招聘地区"
-                        style="width: 300px"
-                    ></el-input>
-                </el-form-item> -->
-                <el-form-item label="招聘地区" prop="area">
-                  <el-select-tree
-                    :props="areaProps"
-                    :options="areaResult"
-                    v-model="formModel.id"
-                    style="width:300px;"
-                    size="mediumn"
-                  ></el-select-tree>
-                </el-form-item>
+              <el-form-item label="招聘地区" prop="area">
+                <el-select-tree
+                  :props="areaProps"
+                  :options="areaResult"
+                  v-model="formModel.area"
+                  style="width:300px;"
+                  size="mediumn"
+                ></el-select-tree>
+              </el-form-item>
             </el-col>
         </el-row>
         <el-row>
-            <el-col :span="4">
-                <el-form-item label="薪资" prop="isDiscussPersonally">
-                  <el-checkbox v-model="formModel.isDiscussPersonally">面议</el-checkbox>
-                </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-input
-                :disabled="showWageType"
-                v-model="formModel.wageType"
-                placeholder="请输入薪资"
-                style="width:225px;padding-left:22px;"
-              ></el-input>
+            <el-col :span="12">
+              <el-form-item label="岗位" prop="title">
+                  <el-input
+                      v-model="formModel.title"
+                      placeholder="请输入岗位"
+                      style="width: 300px"
+                  ></el-input>
+              </el-form-item>
             </el-col>
             <el-col :span="12">
-                
+              <el-form-item label="岗位分类" prop="workCategoryId">
+                <el-select-tree
+                  :props="workCategoryProps"
+                  :options="workCategoryResult"
+                  v-model="formModel.workCategoryId"
+                  style="width:300px;"
+                  size="mediumn"
+                ></el-select-tree>
+              </el-form-item>
             </el-col>
         </el-row>
         <el-row>
@@ -78,24 +77,15 @@
                 </el-form-item>
             </el-col>
             <el-col :span="12">
-                <el-form-item label="工作年限" prop="workYear">
-                    <el-input
-                        v-model="formModel.workYear"
-                        placeholder="请输入工作年限"
-                        style="width: 300px"
-                    ></el-input>
-                </el-form-item>
+              <el-form-item label="工作年限" prop="workYear">
+                <el-select v-model="formModel.workYear" filterable placeholder="请选择工作年限" style="width: 300px">
+                  <el-option v-for="workYear in workYearResult" :key="workYear.value" :label="workYear.name" :value="workYear.id"></el-option>
+                </el-select>
+              </el-form-item>
             </el-col>
         </el-row>
         <el-row>
             <el-col :span="12">
-                <!-- <el-form-item label="学历要求" prop="education">
-                    <el-input
-                        v-model="formModel.education"
-                        placeholder="请输入学历要求"
-                        style="width: 300px"
-                    ></el-input>
-                </el-form-item> -->
                 <el-form-item label="学历要求" prop="education">
                     <el-select
                     v-model="formModel.education"
@@ -107,36 +97,50 @@
                         v-for="education in educationResult"
                         :key="education.value"
                         :label="education.name"
-                        :value="education.value"
+                        :value="education.id"
                     ></el-option>
                     </el-select>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
-                <!-- <el-form-item label="性别要求" prop="positionSex">
-                    <el-input
-                        v-model="formModel.positionSex"
-                        placeholder="请输入性别要求"
-                        style="width: 300px"
-                    ></el-input>
-                </el-form-item> -->
-                <el-form-item label="学历要求" prop="positionSex">
+                <el-form-item label="性别要求" prop="positionSex">
                     <el-select
                     v-model="formModel.positionSex"
                     filterable
-                    placeholder="请选择学历要求"
+                    placeholder="请选择性别要求"
                     style="width: 300px"
                     >
                     <el-option
                         v-for="positionSex in positionSexResult"
                         :key="positionSex.value"
                         :label="positionSex.name"
-                        :value="positionSex.value"
+                        :value="positionSex.id"
                     ></el-option>
                     </el-select>
                 </el-form-item>
             </el-col>
         </el-row>
+        <el-row>
+            <el-col :span="4">
+                <el-form-item label="薪资" prop="isDiscussPersonally">
+                  <el-checkbox v-model="formModel.isDiscussPersonally">面议</el-checkbox>
+                </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-select :disabled="showWageType" v-model="formModel.wageType" filterable placeholder="请选择薪资" style="width:225px;padding-left:22px;">
+                <el-option v-for="wageType in wageTypeResult" :key="wageType.value" :label="wageType.name" :value="wageType.id"></el-option>
+              </el-select>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="地址" prop="address">
+                <el-input
+                    v-model="formModel.address"
+                    placeholder="请输入地址"
+                    style="width: 300px"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+        </el-row>
         <el-row>
             <el-col :span="12">
                 <el-form-item label="岗位描述" prop="positionMessage">
@@ -161,20 +165,6 @@
                 </el-form-item>
             </el-col>
         </el-row>
-        <el-row>
-            <el-col :span="12">
-                
-            </el-col>
-            <el-col :span="24">
-                <el-form-item label="地址" prop="address">
-                    <el-input
-                        v-model="formModel.address"
-                        placeholder="请输入地址"
-                        style="width: 93%"
-                    ></el-input>
-                </el-form-item>
-            </el-col>
-        </el-row>
       </el-form>
     </div>
     <span slot="footer" class="dialog-footer">
@@ -188,6 +178,8 @@ import Constant from "@/constant";
 import recruitmentApi from "@/api/job/recruitment";
 import dataDictionaryApi from "@/api/sys/dataDictionary";
 import cityApi from "@/api/base/city";
+import companyApi from "@/api/base/company";
+import workCategoryApi from "@/api/job/workCategory";
 import SelectTree from "@/components/SelectTree";
 
 export default {
@@ -196,6 +188,8 @@ export default {
     return {
       formModel: {},
       ruleValidate: {
+        workCategoryId: [{ required: true, message: "岗位分类不能为空", trigger: "blur" }],
+        companyId: [{ required: true, message: "企业不能为空", trigger: "blur" }],
         title: [{ required: true, message: "岗位不能为空", trigger: "blur" }],
         area: [{ required: true, message: "招聘地区不能为空", trigger: "blur"}],
         address: [{ required: true, message: "地址不能为空", trigger: "blur" }],
@@ -216,10 +210,22 @@ export default {
       educationResult: [],
       positionSexResult: [],
       areaResult: [],
+      companyResult: [],
+      wageTypeResult: [],
+      workYearResult: [],
+      workCategoryResult: [],
       areaProps: {
         value: "id",
         label: "cityName"
       },
+      companyProps: {
+        value: "id",
+        label: "name"
+      },
+      workCategoryProps: {
+        value: "id",
+        label: "name"
+      },
       showWageType: false,
     };
   },
@@ -242,6 +248,24 @@ export default {
       this.positionSexResult = jsonData.data;
     });
 
+    dataDictionaryApi
+    .findByCatalogName({
+      catalogName: "月薪范围",
+    })
+    .then((response) => {
+      var jsonData = response.data;
+      this.wageTypeResult = jsonData.data;
+    });
+
+    dataDictionaryApi
+    .findByCatalogName({
+      catalogName: "工作经验",
+    })
+    .then((response) => {
+      var jsonData = response.data;
+      this.workYearResult = jsonData.data;
+    });
+
     cityApi.list().then(response=>{
       var jsonData = response.data;
 
@@ -252,6 +276,28 @@ export default {
         this.$message.error(jsonData.message + "");
       }
     });
+
+    companyApi.list().then(response=>{
+      var jsonData = response.data;
+
+      if(jsonData.result){
+        this.companyResult = jsonData.data;
+      }
+      else{
+        this.$message.error(jsonData.message + "");
+      }
+    });
+
+    workCategoryApi.listSelectTree().then(response=>{
+      var jsonData = response.data;
+
+      if(jsonData.result){
+        this.workCategoryResult = jsonData.data;
+      }
+      else{
+        this.$message.error(jsonData.message + "");
+      }
+    });
   },
   methods: {
     closeDialog() {

+ 5 - 5
src/views/job/recruitment-list.vue

@@ -86,12 +86,12 @@
       @selection-change="handleSelectionChange"
     >
       <el-table-column type="selection" width="55"></el-table-column>
-      <el-table-column prop="companyId" label="企业" width="180"></el-table-column>
-      <el-table-column prop="title" label="标题" width="180"></el-table-column>
+      <el-table-column prop="companyName" label="企业" width="180"></el-table-column>
+      <el-table-column prop="title" label="岗位" width="180"></el-table-column>
       <el-table-column prop="positionNumber" label="招聘人数" width="180"></el-table-column>
-      <el-table-column prop="workYear" label="工作年限" width="180"></el-table-column>
-      <el-table-column prop="education" label="学历要求" width="180"></el-table-column>
-      <el-table-column prop="wageType" label="薪资" width="180"></el-table-column>
+      <el-table-column prop="workYearName" label="工作年限" width="180"></el-table-column>
+      <el-table-column prop="educationName" label="学历要求" width="180"></el-table-column>
+      <el-table-column prop="wageTypeName" label="薪资" width="180"></el-table-column>
       <el-table-column prop="contactPerson" label="联系人" width="180"></el-table-column>
       <el-table-column prop="tel" label="联系方式" width="180"></el-table-column>
       <el-table-column label="操作">