Parcourir la source

受邀信息列表,报名信息列表

yanliming il y a 2 ans
Parent
commit
3e2265edc0

+ 48 - 0
src/api/base/jobEnterpriseRelation.js

@@ -0,0 +1,48 @@
+import request from '@/utils/request'
+import constant from '@/constant'
+
+function pageList(formData) {
+  return request.post(constant.serverUrl + "/base/jobEnterpriseRelation/pageList", formData);
+}
+
+function create() {
+  return request.get(constant.serverUrl + "/base/jobEnterpriseRelation/create");
+}
+
+function edit(id) {
+  return request.get(constant.serverUrl + "/base/jobEnterpriseRelation/edit/" + id);
+}
+
+function add(formModel) {
+  return request.post(constant.serverUrl + "/base/jobEnterpriseRelation/add", formModel, {
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+function update(formModel) {
+  return request.post(constant.serverUrl + "/base/jobEnterpriseRelation/update", formModel, {
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+function remove(id) {
+  return request.post(constant.serverUrl + "/base/jobEnterpriseRelation/delete/" + id);
+}
+
+
+function batchRemove(idList) {
+  return request.post(constant.serverUrl + "/base/jobEnterpriseRelation/batchDelete", idList, {
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+
+export default {
+  pageList, create, edit, add, update, remove, batchRemove
+}

+ 52 - 0
src/api/base/recruitPersonRelation.js

@@ -0,0 +1,52 @@
+import request from '@/utils/request'
+import constant from '@/constant'
+
+function pageList(formData) {
+  return request.post(constant.serverUrl + "/base/recruitPersonRelation/pageList", formData);
+}
+
+function create() {
+  return request.get(constant.serverUrl + "/base/recruitPersonRelation/create");
+}
+
+function edit(id) {
+  return request.get(constant.serverUrl + "/base/recruitPersonRelation/edit/" + id);
+}
+
+function add(formModel) {
+  return request.post(constant.serverUrl + "/base/recruitPersonRelation/add", formModel, {
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+function update(formModel) {
+  return request.post(constant.serverUrl + "/base/recruitPersonRelation/update", formModel, {
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+function remove(id) {
+  return request.post(constant.serverUrl + "/base/recruitPersonRelation/delete/" + id);
+}
+
+
+function batchRemove(idList) {
+  return request.post(constant.serverUrl + "/base/recruitPersonRelation/batchDelete", idList, {
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+function check(id) {
+  return request.post(constant.serverUrl + "/base/recruitPersonRelation/check/" + id);
+}
+
+
+export default {
+  pageList, create, edit, add, update, remove, batchRemove,check
+}

BIN
src/assets/logo.png


+ 6 - 0
src/views/base/enterpriseInfo-detail.vue

@@ -19,6 +19,12 @@
           <el-form-item label="企业名称" prop="name">
             <el-input v-model="formModel.name" placeholder="请输入企业名称" style="width: 300px"></el-input>
           </el-form-item>
+          <el-form-item label="企业地址" prop="address">
+            <el-input v-model="formModel.address" placeholder="请输入企业地址" style="width: 300px"></el-input>
+          </el-form-item>
+          <el-form-item label="企业联系人" prop="contactsPersonId">
+            <el-input v-model="formModel.contactsPersonId" placeholder="请输入企业联系人" style="width: 300px"></el-input>
+          </el-form-item>
           <el-form-item label="营业执照" prop="licenseImage">
               <el-upload
                   style="width:300px"

+ 2 - 0
src/views/base/enterpriseInfo-list.vue

@@ -55,6 +55,8 @@
       >
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column  prop="name"  label="企业名称"></el-table-column>
+        <el-table-column  prop="address"  label="企业地址"></el-table-column>
+        <el-table-column  prop="contactsPersonId"  label="企业联系人"></el-table-column>
         <el-table-column  prop="licenseImage"  label="营业执照图片">
           <template slot-scope="{row}">
             <a v-if="row.licenseImage" :href="row.licenseImage" target="_blank">

+ 168 - 0
src/views/base/jobEnterpriseRelation-list.vue

@@ -0,0 +1,168 @@
+
+<template>
+    <el-dialog
+      :visible.sync="showDialog"
+      :title="title"
+      :modal-append-to-body="false"
+      style="text-align: left;"
+      @close="closeDialog"
+      :close-on-click-modal="false"
+      width="900px"
+    >
+      <div class="user-panel" v-loading="loading">
+        <el-form ref="queryForm" :model="queryModel" inline class="demo-form-inline">
+            <el-form-item label="企业名称" prop="name">
+                <el-input type="text" size="mini" v-model="queryModel.name"></el-input>
+            </el-form-item>
+            <el-form-item>
+            <el-button
+                type="primary"
+                size="mini"
+                icon="ios-search"
+                @click="changePage(1)"
+                :loading="loading"
+            >查询</el-button>&nbsp;
+            <el-button
+                type="info"
+                size="mini"
+                style="margin-left: 8px"
+                @click="handleReset('queryForm')"
+            >重置</el-button>&nbsp;
+            </el-form-item>
+        </el-form>
+        <el-divider></el-divider>
+        <el-table
+        :data="tableData"
+        style="min-height:400px;"
+        v-loading="loading"
+        stripe
+        @sort-change="sortChange"
+        @selection-change="handleSelectionChange"
+      >
+            <!-- <el-table-column type="selection" width="55"></el-table-column> -->
+            <el-table-column  prop="enterpriseName"  label="企业名称"></el-table-column>
+            <el-table-column  prop="phone"  label="联系电话"></el-table-column>
+            <el-table-column  prop="enterpriseAddress"  label="企业地址"></el-table-column>
+            <el-table-column  prop="createTime"  label="邀请时间"></el-table-column>
+
+            <!-- <el-table-column label="操作" width="250">
+            <template slot-scope="{row}">
+                <el-button size="mini" type="danger" @click="handleDelete(row)">删除</el-button>
+            </template>
+            </el-table-column> -->
+        </el-table>
+        <el-pagination
+            style="text-align: center;"
+            :current-page.sync="pageIndex"
+            :total="totalElements"
+            :page-sizes="pageSizeList"
+            @current-change="changePage"
+            @size-change="pageSizeChange"
+            layout="total, sizes, prev, pager, next, jumper"
+        ></el-pagination>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="closeDialog">取 消</el-button>
+      </span>
+    </el-dialog>
+  </template>
+  <script>
+  import jobEnterpriseRelationApi from "@/api/base/jobEnterpriseRelation";
+  
+  export default {
+    props: ["businessKey", "title"],
+    data() {
+      return {
+            submitting: false,
+            queryModel: {
+                name:"",
+                phone:"",
+            },
+            showDialog: true,
+            loading: false,
+            tableData: [],
+            pageIndex: 1,
+            pageSize: 10,
+            totalPages: 0,
+            totalElements: 0,
+            field: "",
+            direction: "",
+            pageSizeList: [10, 20, 30],
+            multipleSelection: [],
+      };
+    },
+    created() {
+
+    },
+    methods: {
+      closeDialog() {
+        this.$emit("close", false);
+      },
+      changePage(pageIndex) {
+        var self = this;
+  
+        console.log(pageIndex);
+  
+        self.pageIndex = pageIndex;
+        var formData = new FormData();
+  
+        formData.append("pageIndex", self.pageIndex);
+        formData.append("pageSize", self.pageSize);
+  
+        formData.append("informationId", self.businessKey);
+        formData.append("name", self.queryModel.name);
+        formData.append("phone", self.queryModel.phone);
+  
+        self.loading = true;
+  
+        jobEnterpriseRelationApi.pageList(formData).then(function(response) {
+          self.loading = false;
+  
+          var jsonData = response.data;
+  
+          if(jsonData.result){
+            var pageInfo = jsonData.data;
+  
+            self.tableData = pageInfo.data;
+            self.totalPages = pageInfo.totalPages;
+            self.totalElements = pageInfo.recordsTotal;
+          }
+          else {
+            self.$message({
+                message: jsonData.message + "",
+                type: "warning"
+              });
+          }
+        }).catch((error)=>{
+          self.loading = false;
+        });
+      },
+      handleReset(name) {
+        this.$refs[name].resetFields();
+      },
+      pageSizeChange(pageSize) {
+        this.pageSize = pageSize;
+      },
+      sortChange(data) {
+        this.field = data.column.field;
+        this.direction = data.order == "ascending" ? "asc" : "desc";
+  
+        this.changePage(this.pageIndex);
+      },
+      handleSelectionChange(val) {
+        this.multipleSelection = val;
+      },
+    },
+    async mounted() {
+      var self = this;
+      self.changePage(1);
+    },
+    components: {
+    },
+  };
+  </script>
+  <style scoped>
+  .user-panel {
+    margin: 10px auto;
+  }
+  </style>

+ 28 - 4
src/views/base/jobInformationInfo-list.vue

@@ -59,7 +59,7 @@
                 <span>{{row.personName}}</span>
           </template>
         </el-table-column>
-        <el-table-column  prop="serviceDesc"  label="服务描述"></el-table-column>
+        <el-table-column  prop="serviceDesc"  label="服务描述" width="200"></el-table-column>
         <el-table-column  prop="intendedIndustriesN"  label="意向行业"></el-table-column>
         <el-table-column  prop="intendedPosition"  label="意向岗位"></el-table-column>
         <el-table-column  prop="hopeSalary"  label="期望薪资"></el-table-column>
@@ -72,9 +72,10 @@
             <span v-else-if="row.status=='1'" style="color: #67C23A;">已审核</span>
           </template>
         </el-table-column>
-        <el-table-column label="操作" width="150">
+        <el-table-column label="操作" width="250">
           <template slot-scope="{row}">
             <el-button v-if="row.status=='0'" size="mini" type="primary" @click="handleCheck(row)">审核</el-button>
+            <el-button size="mini" type="success" @click="handleRelation(row)">收到邀请</el-button>
             <el-button size="mini" type="danger" @click="handleDelete(row)">删除</el-button>
           </template>
         </el-table-column>
@@ -94,11 +95,18 @@
         :title="modalTitle"
         @close="onDetailModalClose"
       ></enterpriseInfo-detail>
+      <jobEnterpriseRelation-list
+        v-if="showModal2"
+        :businessKey="businessKey"
+        :title="modalTitle2"
+        @close="onDetailModalClose2"
+      ></jobEnterpriseRelation-list>
     </div>
   </template>
   <script>
   import jobInformationInfoApi from "@/api/base/jobInformationInfo";
   import enterpriseInfoDetail from "./enterpriseInfo-detail";
+  import jobEnterpriseRelationList from "./jobEnterpriseRelation-list";
   
   export default {
     name: 'baseJobInformationInfoList',
@@ -119,9 +127,11 @@
         direction: "",
         pageSizeList: [10, 20, 30],
         multipleSelection: [],
-        modalTitle: "",      
+        modalTitle: "",
+        modalTitle2: "",       
         businessKey: "",
         showModal: false,
+        showModal2: false,
         dialogFormVisible:false,
         newPassword:"",
         roleResult:[],
@@ -201,6 +211,12 @@
         self.businessKey = record.id;
         self.showModal = true;
       },
+      handleRelation(record) {
+        var self = this;
+        self.modalTitle2 = "收到邀请列表";
+        self.businessKey = record.id;
+        self.showModal2 = true;
+      },
       handleCheck(record){
         var self = this;
   
@@ -278,6 +294,13 @@
       onDetailModalClose(refreshed) {
         this.showModal = false;
   
+        if(refreshed) {
+          this.changePage(this.pageIndex);
+        }
+      },
+      onDetailModalClose2(refreshed) {
+        this.showModal2 = false;
+  
         if(refreshed) {
           this.changePage(this.pageIndex);
         }
@@ -288,7 +311,8 @@
       this.changePage(1);
     },
     components: {
-        "enterpriseInfo-detail":enterpriseInfoDetail
+        "enterpriseInfo-detail":enterpriseInfoDetail,
+        "jobEnterpriseRelation-list":jobEnterpriseRelationList
     }
   };
   </script>

+ 27 - 3
src/views/base/recruitInformationInfo-list.vue

@@ -75,9 +75,10 @@
             <span v-else-if="row.status=='1'" style="color: #67C23A;">已审核</span>
           </template>
         </el-table-column>
-        <el-table-column label="操作" width="150">
+        <el-table-column label="操作" width="250">
           <template slot-scope="{row}">
             <el-button v-if="row.status=='0'" size="mini" type="primary" @click="handleCheck(row)">审核</el-button>
+            <el-button size="mini" type="success" @click="handleRelation(row)">收到报名</el-button>
             <el-button size="mini" type="danger" @click="handleDelete(row)">删除</el-button>
           </template>
         </el-table-column>
@@ -97,11 +98,18 @@
         :title="modalTitle"
         @close="onDetailModalClose"
       ></enterpriseInfo-detail>
+      <recruitPersonRelation-list
+        v-if="showModal2"
+        :businessKey="businessKey"
+        :title="modalTitle2"
+        @close="onDetailModalClose2"
+      ></recruitPersonRelation-list>
     </div>
   </template>
   <script>
   import recruitInformationInfoApi from "@/api/base/recruitInformationInfo";
   import enterpriseInfoDetail from "./enterpriseInfo-detail";
+  import recruitPersonRelationList from "./recruitPersonRelation-list";
   
   export default {
     name: 'baseRecruitInformationInfoList',
@@ -122,9 +130,11 @@
         direction: "",
         pageSizeList: [10, 20, 30],
         multipleSelection: [],
-        modalTitle: "",      
+        modalTitle: "",
+        modalTitle2: "",      
         businessKey: "",
         showModal: false,
+        showModal2:false,
         dialogFormVisible:false,
         newPassword:"",
         roleResult:[],
@@ -204,6 +214,12 @@
         self.businessKey = record.id;
         self.showModal = true;
       },
+      handleRelation(record) {
+        var self = this;
+        self.modalTitle2 = "收到报名列表";
+        self.businessKey = record.id;
+        self.showModal2 = true;
+      },
       handleCheck(record){
         var self = this;
   
@@ -281,6 +297,13 @@
       onDetailModalClose(refreshed) {
         this.showModal = false;
   
+        if(refreshed) {
+          this.changePage(this.pageIndex);
+        }
+      },
+      onDetailModalClose2(refreshed) {
+        this.showModal2 = false;
+  
         if(refreshed) {
           this.changePage(this.pageIndex);
         }
@@ -291,7 +314,8 @@
       this.changePage(1);
     },
     components: {
-        "enterpriseInfo-detail":enterpriseInfoDetail
+        "enterpriseInfo-detail":enterpriseInfoDetail,
+        "recruitPersonRelation-list":recruitPersonRelationList
     }
   };
   </script>

+ 177 - 0
src/views/base/recruitPersonRelation-list.vue

@@ -0,0 +1,177 @@
+
+<template>
+    <el-dialog
+      :visible.sync="showDialog"
+      :title="title"
+      :modal-append-to-body="false"
+      style="text-align: left;"
+      @close="closeDialog"
+      :close-on-click-modal="false"
+      width="900px"
+    >
+      <div class="user-panel" v-loading="loading">
+        <el-form ref="queryForm" :model="queryModel" inline class="demo-form-inline">
+            <el-form-item label="姓名" prop="name">
+                <el-input type="text" size="mini" v-model="queryModel.name"></el-input>
+            </el-form-item>
+            <el-form-item label="联系电话" prop="phone">
+                <el-input type="text" size="mini" v-model="queryModel.phone"></el-input>
+            </el-form-item>
+            <el-form-item>
+            <el-button
+                type="primary"
+                size="mini"
+                icon="ios-search"
+                @click="changePage(1)"
+                :loading="loading"
+            >查询</el-button>&nbsp;
+            <el-button
+                type="info"
+                size="mini"
+                style="margin-left: 8px"
+                @click="handleReset('queryForm')"
+            >重置</el-button>&nbsp;
+            </el-form-item>
+        </el-form>
+        <el-divider></el-divider>
+        <el-table
+        :data="tableData"
+        style="min-height:400px;"
+        v-loading="loading"
+        stripe
+        @sort-change="sortChange"
+        @selection-change="handleSelectionChange"
+      >
+            <!-- <el-table-column type="selection" width="55"></el-table-column> -->
+            <el-table-column  prop="workPersonName"  label="姓名"></el-table-column>
+            <el-table-column  prop="phone"  label="联系电话"></el-table-column>
+            <el-table-column  prop="gender"  label="性别">
+                <template slot-scope="{row}">
+                    <span v-if="row.gender=='0'">男</span>
+                    <span v-else-if="row.gender=='1'">女</span>
+                </template>
+            </el-table-column>
+            <el-table-column  prop="age"  label="年龄"></el-table-column>
+            <el-table-column  prop="createTime"  label="报名时间"></el-table-column>
+
+            <!-- <el-table-column label="操作" width="250">
+            <template slot-scope="{row}">
+                <el-button size="mini" type="danger" @click="handleDelete(row)">删除</el-button>
+            </template>
+            </el-table-column> -->
+        </el-table>
+        <el-pagination
+            style="text-align: center;"
+            :current-page.sync="pageIndex"
+            :total="totalElements"
+            :page-sizes="pageSizeList"
+            @current-change="changePage"
+            @size-change="pageSizeChange"
+            layout="total, sizes, prev, pager, next, jumper"
+        ></el-pagination>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="closeDialog">取 消</el-button>
+      </span>
+    </el-dialog>
+  </template>
+  <script>
+  import recruitPersonRelationApi from "@/api/base/recruitPersonRelation";
+  
+  export default {
+    props: ["businessKey", "title"],
+    data() {
+      return {
+            submitting: false,
+            queryModel: {
+                name:"",
+                phone:"",
+            },
+            showDialog: true,
+            loading: false,
+            tableData: [],
+            pageIndex: 1,
+            pageSize: 10,
+            totalPages: 0,
+            totalElements: 0,
+            field: "",
+            direction: "",
+            pageSizeList: [10, 20, 30],
+            multipleSelection: [],
+      };
+    },
+    created() {
+
+    },
+    methods: {
+      closeDialog() {
+        this.$emit("close", false);
+      },
+      changePage(pageIndex) {
+        var self = this;
+  
+        console.log(pageIndex);
+  
+        self.pageIndex = pageIndex;
+        var formData = new FormData();
+  
+        formData.append("pageIndex", self.pageIndex);
+        formData.append("pageSize", self.pageSize);
+  
+        formData.append("informationId", self.businessKey);
+        formData.append("name", self.queryModel.name);
+        formData.append("phone", self.queryModel.phone);
+  
+        self.loading = true;
+  
+        recruitPersonRelationApi.pageList(formData).then(function(response) {
+          self.loading = false;
+  
+          var jsonData = response.data;
+  
+          if(jsonData.result){
+            var pageInfo = jsonData.data;
+  
+            self.tableData = pageInfo.data;
+            self.totalPages = pageInfo.totalPages;
+            self.totalElements = pageInfo.recordsTotal;
+          }
+          else {
+            self.$message({
+                message: jsonData.message + "",
+                type: "warning"
+              });
+          }
+        }).catch((error)=>{
+          self.loading = false;
+        });
+      },
+      handleReset(name) {
+        this.$refs[name].resetFields();
+      },
+      pageSizeChange(pageSize) {
+        this.pageSize = pageSize;
+      },
+      sortChange(data) {
+        this.field = data.column.field;
+        this.direction = data.order == "ascending" ? "asc" : "desc";
+  
+        this.changePage(this.pageIndex);
+      },
+      handleSelectionChange(val) {
+        this.multipleSelection = val;
+      },
+    },
+    async mounted() {
+      var self = this;
+      self.changePage(1);
+    },
+    components: {
+    },
+  };
+  </script>
+  <style scoped>
+  .user-panel {
+    margin: 10px auto;
+  }
+  </style>

+ 5 - 5
src/views/base/trainingInfo-detail.vue

@@ -56,7 +56,7 @@
   <script>
   import Constant from "@/constant";
   import { getToken } from "@/utils/auth"; // get token from cookie
-  import shareWorksInfoApi from "@/api/base/shareWorksInfo";
+  import trainingInfoApi from "@/api/base/trainingInfo";
   import MceEditor from "@/components/Tinymce";
   import dataDictionaryApi from "@/api/sys/dataDictionary";
   
@@ -122,9 +122,9 @@
               var id = self.formModel.id;
   
               if (id == null || id.length == 0) {
-                return shareWorksInfoApi.add(self.formModel);
+                return trainingInfoApi.add(self.formModel);
               } else {
-                return shareWorksInfoApi.update(self.formModel);
+                return trainingInfoApi.update(self.formModel);
               }
             })().then(function (response) {
               var jsonData = response.data;
@@ -155,9 +155,9 @@
   
       (function () {
         if (self.businessKey != null && self.businessKey.length > 0) {
-          return shareWorksInfoApi.edit(self.businessKey);
+          return trainingInfoApi.edit(self.businessKey);
         } else {
-          return shareWorksInfoApi.create();
+          return trainingInfoApi.create();
         }
       })()
         .then((response) => {