Переглянути джерело

招聘信息显示未查看数量角标
求职信息显示未查看数量角标

yanliming 1 рік тому
батько
коміт
c418ffa16b

+ 6 - 1
src/api/base/recruitPersonRelation.js

@@ -47,6 +47,11 @@ function check(id) {
 }
 
 
+function jobInformationDetail(id) {
+  return request.get(constant.serverUrl + "/base/recruitPersonRelation/jobInformationDetail/" + id);
+}
+
+
 export default {
-  pageList, create, edit, add, update, remove, batchRemove,check
+  pageList, create, edit, add, update, remove, batchRemove,check,jobInformationDetail
 }

+ 12 - 7
src/views/base/jobEnterpriseRelation-list.vue

@@ -43,12 +43,13 @@
             <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  prop="recruitPositionName"  label="招聘岗位"></el-table-column>
+            <el-table-column  prop="createTime"  label="邀请时间" width="180"></el-table-column>
+            
+            <!-- <el-table-column label="查看">
+              <template slot-scope="{row}">
+                  <el-link type="primary" @click="handleDetail(row)">招聘信息</el-link>
+              </template>
             </el-table-column> -->
         </el-table>
         <el-pagination
@@ -89,6 +90,7 @@
             direction: "",
             pageSizeList: [10, 20, 30],
             multipleSelection: [],
+            isStatus:false,
       };
     },
     created() {
@@ -96,7 +98,7 @@
     },
     methods: {
       closeDialog() {
-        this.$emit("close", false);
+        this.$emit("close", false,this.isStatus);
       },
       changePage(pageIndex) {
         var self = this;
@@ -126,6 +128,9 @@
             self.tableData = pageInfo.data;
             self.totalPages = pageInfo.totalPages;
             self.totalElements = pageInfo.recordsTotal;
+            if(pageInfo.updateCount>0){
+              self.isStatus = true
+            }
           }
           else {
             self.$message({

+ 17 - 6
src/views/base/jobInformationInfo-list.vue

@@ -125,11 +125,14 @@
             <span v-else-if="row.status=='1'" style="color: #67C23A;">已审核</span>
           </template>
         </el-table-column>
-        <el-table-column label="操作" width="250">
+        <el-table-column label="操作" width="280">
           <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>
+            <el-button class="btu1" v-if="row.status=='0'" size="mini" type="primary" @click="handleCheck(row)">审核</el-button>
+            <el-button class="btu1" size="mini" type="danger" @click="handleDelete(row)">删除</el-button>
+            <el-badge v-if="row.isReadNumber!=0" :value="row.isReadNumber" class="item">
+              <el-button size="mini" type="success" @click="handleRelation(row)">收到邀请</el-button>
+            </el-badge>
+            <el-button v-else size="mini" type="success" @click="handleRelation(row)">收到邀请</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -405,10 +408,10 @@
           this.changePage(this.pageIndex);
         }
       },
-      onDetailModalClose2(refreshed) {
+      onDetailModalClose2(refreshed,status) {
         this.showModal2 = false;
   
-        if(refreshed) {
+        if(refreshed||status) {
           this.changePage(this.pageIndex);
         }
       },
@@ -442,4 +445,12 @@
     padding: 10px;
     text-align: left;
   }
+
+  .item{
+    margin-left: 10px;
+  }
+.btu1{
+  margin-top: 10px;
+  margin-right: 15px;
+}
   </style>

+ 1 - 1
src/views/base/recruitInformationInfo-detail.vue

@@ -17,7 +17,7 @@
           :label-width="'100px'"
           :inline="true"
         >
-          <el-form-item label="企业选择" prop="enterpriseId">
+          <el-form-item label="选择企业" prop="enterpriseId">
             <el-select
             v-model="formModel.enterpriseId"
             placeholder="请选择"

+ 20 - 7
src/views/base/recruitInformationInfo-list.vue

@@ -95,6 +95,7 @@
         stripe
         @sort-change="sortChange"
         @selection-change="handleSelectionChange"
+        :key="timeStamp"
       >
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column  prop="enterpriseName"  label="企业名称">
@@ -118,12 +119,16 @@
             <span v-else-if="row.status=='1'" style="color: #67C23A;">已审核</span>
           </template>
         </el-table-column>
-        <el-table-column label="操作" width="300">
+        <el-table-column label="操作"  fixed="right"  width="330">
           <template slot-scope="{row}">
-            <el-button size="mini" type="warning" @click="handleEdit(row)">编辑</el-button>
-            <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>
+            <el-button class="btu1" size="mini" type="warning" @click="handleEdit(row)">编辑</el-button>
+            <el-button class="btu1" v-if="row.status=='0'" size="mini" type="primary" @click="handleCheck(row)">审核</el-button>
+            <el-button class="btu1" size="mini" type="danger" @click="handleDelete(row)">删除</el-button>
+        
+            <el-badge v-if="row.isReadNumber!=0" :value="row.isReadNumber" class="item">
+              <el-button size="mini" type="success" @click="handleRelation(row)">收到报名</el-button>
+            </el-badge>
+            <el-button v-else size="mini" type="success" @click="handleRelation(row)">收到报名</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -277,6 +282,7 @@
         headers: {
             Authorization: getToken(),
         },
+        timeStamp:"",
       };
     },
     created() {
@@ -452,10 +458,10 @@
           this.changePage(this.pageIndex);
         }
       },
-      onDetailModalClose2(refreshed) {
+      onDetailModalClose2(refreshed,status) {
         this.showModal2 = false;
   
-        if(refreshed) {
+        if(refreshed||status) {
           this.changePage(this.pageIndex);
         }
       },
@@ -555,4 +561,11 @@
     padding: 10px;
     text-align: left;
   }
+  .item{
+    margin-left: 10px;
+  }
+.btu1{
+  margin-top: 10px;
+  margin-right: 15px;
+}
   </style>

+ 156 - 0
src/views/base/recruitPersonRelation-detail.vue

@@ -0,0 +1,156 @@
+
+<template>
+    <el-dialog
+      :visible.sync="showDialog"
+      :title="title"
+      :modal-append-to-body="true"
+      style="text-align: left;"
+      @close="closeDialog"
+      :close-on-click-modal="false"
+      :append-to-body="true"
+      width="900px"
+    >
+      <div class="user-panel" v-loading="loading">
+        <el-descriptions title="详细信息">
+            <el-descriptions-item label="姓名"><span class="colorText">{{formModel.personName}}</span></el-descriptions-item>
+            <el-descriptions-item label="手机号"><span class="colorText">{{formModel.personPhone}}</span></el-descriptions-item>
+            <el-descriptions-item label="居住地"><span class="colorText">{{formModel.address}}</span></el-descriptions-item>
+            <el-descriptions-item label="服务描述"><span class="colorText">{{formModel.serviceDesc}}</span></el-descriptions-item>
+            <el-descriptions-item label="意向行业"><span class="colorText">{{formModel.intendedIndustriesN}}</span></el-descriptions-item>
+            <el-descriptions-item label="意向岗位"><span class="colorText">{{formModel.intendedPosition}}</span></el-descriptions-item>
+            <el-descriptions-item label="期望薪资"><span class="colorText">{{formModel.hopeSalary}}</span></el-descriptions-item>
+            <el-descriptions-item label="结算方式"><span class="colorText">{{formModel.methodN}}</span></el-descriptions-item>
+            <el-descriptions-item label="工作经验"><span class="colorText">{{formModel.workExperienceN}}</span></el-descriptions-item>
+            <el-descriptions-item label="最高学历"><span class="colorText">{{formModel.educationN}}</span></el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="closeDialog">关 闭</el-button>
+      </span>
+    </el-dialog>
+  </template>
+  <script>
+  import recruitPersonRelationApi from "@/api/base/recruitPersonRelation";
+  import dataDictionaryApi from "@/api/sys/dataDictionary";
+  
+  export default {
+    props: ["relationId", "title"],
+    data() {
+      return {
+          showPwd: true,
+          ruleValidate: {
+              title: [
+              { required: true, message: "标题不能为空", trigger: "blur" },
+              ],
+              author: [
+              { required: true, message: "作者不能为空", trigger: "blur" },
+              ],
+              type: [
+              { required: true, message: "类型不能为空", trigger: "blur" },
+              ],
+          },
+          roleList: [],
+          formModel: {},
+          showDialog: true,
+          loading: false,
+          submitting: false,
+          companyProps: {
+              value: "id",
+              label: "name",
+          },
+          typeList:[],
+          isStatus:false,
+      };
+    },
+    created() {
+        dataDictionaryApi.findByCatalogName({catalogName: "共享用工类型",})
+        .then((response) => {
+            var jsonData = response.data;
+            this.typeList = jsonData.data;
+        });
+    },
+    methods: {
+      closeDialog() {
+        this.$emit("close", false,this.isStatus);
+      },
+      handleSubmit() {
+        var self = this;
+  
+        this.$refs["form"].validate((valid) => {
+          if (valid) {
+            (function () {
+              var id = self.formModel.id;
+  
+              if (id == null || id.length == 0) {
+                return recruitPersonRelationApi.add(self.formModel);
+              } else {
+                return recruitPersonRelationApi.update(self.formModel);
+              }
+            })().then(function (response) {
+              var jsonData = response.data;
+  
+              if (jsonData.result) {
+                self.$message({
+                  message: "保存成功!",
+                  type: "success",
+                });
+  
+                self.$emit("close", true);
+              } else {
+                self.$message({
+                  message: jsonData.message + "",
+                  type: "warning",
+                });
+  
+                self.$emit("close", false);
+              }
+            });
+          }
+        });
+      },
+    },
+    async mounted() {
+      var self = this;
+      self.loading = true;
+  
+      (function () {
+          return recruitPersonRelationApi.jobInformationDetail(self.relationId);
+      })()
+        .then((response) => {
+          var jsonData = response.data;
+  
+          if (jsonData.result) {
+            self.formModel = jsonData.data;
+
+            if (self.formModel.content != null) {
+                self.$refs.editor.setContent(self.formModel.content);
+            }
+
+            if(self.formModel.isReadStatus){
+              self.isStatus = true;
+            }
+
+            self.showModal = true;
+          } else {
+            self.$message.error(jsonData.message + "");
+          }
+  
+          self.loading = false;
+        })
+        .catch((error) => {
+          self.$message.error(error + "");
+          self.loading = false;
+        });
+    },
+    components: {
+    },
+  };
+  </script>
+  <style scoped>
+  .user-panel {
+    margin: 10px auto;
+  }
+  .colorText{
+    font-weight: bold;
+  }
+  </style>

+ 37 - 7
src/views/base/recruitPersonRelation-list.vue

@@ -3,11 +3,12 @@
     <el-dialog
       :visible.sync="showDialog"
       :title="title"
-      :modal-append-to-body="false"
+      :modal-append-to-body="true"
       style="text-align: left;"
       @close="closeDialog"
       :close-on-click-modal="false"
-      width="900px"
+      :append-to-body="true"
+      width="1000px"
     >
       <div class="user-panel" v-loading="loading">
         <el-form ref="queryForm" :model="queryModel" inline class="demo-form-inline">
@@ -41,6 +42,7 @@
         stripe
         @sort-change="sortChange"
         @selection-change="handleSelectionChange"
+         :key="timeStamp"
       >
             <!-- <el-table-column type="selection" width="55"></el-table-column> -->
             <el-table-column  prop="workPersonName"  label="姓名"></el-table-column>
@@ -52,13 +54,14 @@
                 </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  prop="createTime"  label="报名时间" width="180"></el-table-column>
 
-            <!-- <el-table-column label="操作" width="250">
+            <el-table-column label="查看">
             <template slot-scope="{row}">
-                <el-button size="mini" type="danger" @click="handleDelete(row)">删除</el-button>
+                <el-link v-if="row.isRead" type="info" @click="handleDetail(row)">查看简历</el-link>
+                <el-link v-else type="primary" @click="handleDetail(row)">查看简历</el-link>
             </template>
-            </el-table-column> -->
+            </el-table-column>
         </el-table>
         <el-pagination
             style="text-align: center;"
@@ -73,10 +76,17 @@
       <span slot="footer" class="dialog-footer">
         <el-button @click="closeDialog">取 消</el-button>
       </span>
+      <recruitPersonRelation-detail
+        v-if="showModal"
+        :relationId="relationId"
+        :title="modalTitle"
+        @close="onDetailModalClose"
+      ></recruitPersonRelation-detail>
     </el-dialog>
   </template>
   <script>
   import recruitPersonRelationApi from "@/api/base/recruitPersonRelation";
+  import recruitPersonRelationDetail from "./recruitPersonRelation-detail";
   
   export default {
     props: ["businessKey", "title"],
@@ -98,6 +108,9 @@
             direction: "",
             pageSizeList: [10, 20, 30],
             multipleSelection: [],
+            showModal: false,
+            timeStamp:"",
+            isStatus:false,
       };
     },
     created() {
@@ -105,7 +118,7 @@
     },
     methods: {
       closeDialog() {
-        this.$emit("close", false);
+        this.$emit("close", false,this.isStatus);
       },
       changePage(pageIndex) {
         var self = this;
@@ -146,6 +159,22 @@
           self.loading = false;
         });
       },
+      handleDetail(record){
+        var self = this;
+
+        self.modalTitle = "查看简历";
+        self.relationId = record.id;
+        self.showModal = true;
+      },
+      onDetailModalClose(refreshed,status) {
+        this.showModal = false;
+        if(status){
+          this.isStatus = true;
+        }
+        if(refreshed||status) {
+          this.changePage(this.pageIndex);
+        }
+      },
       handleReset(name) {
         this.$refs[name].resetFields();
       },
@@ -167,6 +196,7 @@
       self.changePage(1);
     },
     components: {
+      "recruitPersonRelation-detail":recruitPersonRelationDetail
     },
   };
   </script>