ソースを参照

人力资源库

jz.kai 4 年 前
コミット
407b5b075b
3 ファイル変更171 行追加281 行削除
  1. 3 3
      src/api/job/resume.js
  2. 164 269
      src/views/job/resume-detail.vue
  3. 4 9
      src/views/job/resume-list.vue

+ 3 - 3
src/api/job/resume.js

@@ -9,8 +9,8 @@ function create(){
   return request.get(constant.serverUrl + "/job/resume/create");
 }
 
-function edit(id){
-  return request.get(constant.serverUrl + "/job/resume/edit/" + id);
+function detail(id){
+  return request.get(constant.serverUrl + "/job/resume/detail/" + id);
 }
 
 function add(formModel){
@@ -46,5 +46,5 @@ function changeStatus(id){
 }
 
 export default {
-  pageList,create,edit,add,update,remove,batchRemove,changeStatus
+  pageList,create,detail,add,update,remove,batchRemove,changeStatus
 }

+ 164 - 269
src/views/job/resume-detail.vue

@@ -1,165 +1,165 @@
-
 <style scoped>
 .user-panel {
   margin: 10px auto;
 }
+.td_tit1 {
+  font-size:22px;
+  color: #000;
+  height: 50px;
+}
+.td_tit2 {
+  font-size:16px;
+  height: 40px;
+}
+.td_tit3 {
+  width: 70px;
+  height: 30px;
+}
+.td_con {
+  min-width:100px;
+  color: #000;
+}
+.divider {
+  border-top:1px dashed #cccccc;
+  height: 1px;
+  overflow:hidden;
+}
 </style>
 <template>
-  <el-dialog
-    :visible.sync="showDialog"
-    :title="title"
-    :modal-append-to-body="false"
-    style="text-align: left"
-    @close="closeDialog"
-    :close-on-click-modal="false"
-  >
-    <div class="user-panel" v-loading="loading">
-      <el-form
-        ref="form"
-        :model="formModel"
-        :rules="ruleValidate"
-        :label-width="'100px'"
-      >
-        <el-form-item label="" prop="id">
-          <el-input
-            v-model="formModel.id"
-            placeholder="请输入"
-            style="width: 300px"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="" prop="createBy">
-          <el-input
-            v-model="formModel.createBy"
-            placeholder="请输入"
-            style="width: 300px"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="" prop="createTime">
-          <el-input
-            v-model="formModel.createTime"
-            placeholder="请输入"
-            style="width: 300px"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="" prop="updateBy">
-          <el-input
-            v-model="formModel.updateBy"
-            placeholder="请输入"
-            style="width: 300px"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="" prop="updateTime">
-          <el-input
-            v-model="formModel.updateTime"
-            placeholder="请输入"
-            style="width: 300px"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="删除标示" prop="delFlag">
-          <el-input
-            v-model="formModel.delFlag"
-            placeholder="请输入删除标示"
-            style="width: 300px"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="用户ID " prop="jobUserId">
-          <el-input
-            v-model="formModel.jobUserId"
-            placeholder="请输入用户ID "
-            style="width: 300px"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="性别" prop="sex">
-          <el-input
-            v-model="formModel.sex"
-            placeholder="请输入性别"
-            style="width: 300px"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="职位分类" prop="positionCategoryId">
-          <el-input
-            v-model="formModel.positionCategoryId"
-            placeholder="请输入职位分类"
-            style="width: 300px"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="工作经验" prop="workExp">
-          <el-input
-            v-model="formModel.workExp"
-            placeholder="请输入工作经验"
-            style="width: 300px"
-          ></el-input>
-        </el-form-item>
-        <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="dreamMoney">
-          <el-input
-            v-model="formModel.dreamMoney"
-            placeholder="请输入期望工资"
-            style="width: 300px"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="期望工作地点" prop="dreamAdd">
-          <el-input
-            v-model="formModel.dreamAdd"
-            placeholder="请输入期望工作地点"
-            style="width: 300px"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="出生年月" prop="birthday">
-          <el-input
-            v-model="formModel.birthday"
-            placeholder="请输入出生年月"
-            style="width: 300px"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="个人介绍" prop="introduction">
-          <el-input
-            v-model="formModel.introduction"
-            placeholder="请输入个人介绍"
-            style="width: 300px"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="简历状态(开启,审核,等" prop="status">
-          <el-input
-            v-model="formModel.status"
-            placeholder="请输入简历状态(开启,审核,等"
-            style="width: 300px"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="审批状态(字典:简历审批状态" prop="approveStatus">
-          <el-input
-            v-model="formModel.approveStatus"
-            placeholder="请输入审批状态(字典:简历审批状态"
-            style="width: 300px"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="工作状态(字典:工作在职状态" prop="jobStatus">
-          <el-input
-            v-model="formModel.jobStatus"
-            placeholder="请输入工作状态(字典:工作在职状态"
-            style="width: 300px"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="附件" prop="resumeUrls">
-          <el-input
-            v-model="formModel.resumeUrls"
-            placeholder="请输入附件"
-            style="width: 300px"
-          ></el-input>
-        </el-form-item>
-      </el-form>
+  <el-dialog :visible.sync="showDialog" :title="title" :modal-append-to-body="false" style="text-align: left" @close="closeDialog" :close-on-click-modal="false">
+    <div class="user-panel">
+      <table style="width:100%;" border="0" cellpadding="0" cellspacing="0">
+        <tr>
+          <td rowspan="19" style="width:160px;" valign="top">
+            <el-avatar :size="125" shape="circle" :src="formModel.userPhoto+'?x-oss-process=image/resize,m_fill,w_64,h_64'"></el-avatar>
+          </td>
+          <td colspan="6" class="td_tit1">{{formModel.userName}}</td>
+        </tr>
+        <tr>
+          <td class="td_tit3">联系方式:</td>
+          <td class="td_con">{{formModel.userTel}}</td>
+          <td class="td_tit3">性别:</td>
+          <td class="td_con">{{formModel.sexName}}</td>
+          <td class="td_tit3">求职状态:</td>
+          <td class="td_con">{{formModel.jobStatusName}}</td>
+        </tr>
+        <tr>
+          <td class="td_tit3">身份证号:</td>
+          <td class="td_con">{{formModel.userIdCard}}</td>
+          <td class="td_tit3">年龄:</td>
+          <td class="td_con">{{formModel.userAge}}岁</td>
+          <td class="td_tit3">期望职位:</td>
+          <td class="td_con">{{formModel.positionCategoryName}}</td>
+        </tr>
+        <tr>
+          <td class="td_tit3">出生年月:</td>
+          <td class="td_con">{{formModel.birthday}}</td>
+          <td class="td_tit3">学历:</td>
+          <td class="td_con">{{formModel.educationName}}</td>
+          <td class="td_tit3">期望地点:</td>
+          <td class="td_con">{{formModel.dreamAdd}}</td>
+        </tr>
+        <tr>
+          <td class="td_tit3">常驻地址:</td>
+          <td class="td_con">{{formModel.userAddress}}</td>
+          <td class="td_tit3">工作经验:</td>
+          <td class="td_con">{{formModel.workExpName}}</td>
+          <td class="td_tit3">期望薪资:</td>
+          <td class="td_con">{{formModel.dreamMoneyName}}</td>
+        </tr>
+        <tr>
+          <td colspan="6" style="height:60px">
+            <el-button size="medium" type="primary" @click="handleEdit(row)">下载简历</el-button>
+            <el-button size="medium" type="danger" @click="handleDelete(row)">立即沟通</el-button>
+          </td>
+        </tr>
+        <tr>
+          <td colspan="6" class="divider"></td>
+        </tr>
+        <tr>
+          <td colspan="6" class="td_tit1">个人介绍</td>
+        </tr>
+        <tr>
+          <td colspan="6" class="td_con">{{formModel.introduction}}</td>
+        </tr>
+        <tr>
+          <td colspan="6" class="divider"></td>
+        </tr>
+        <tr>
+          <td colspan="6" class="td_tit1">工作经历</td>
+        </tr>
+        <tr>
+          <td colspan="6" class="td_con">
+            <table v-for="item in formModel.workList" :key="item.id" style="width:100%;" border="0" cellpadding="0" cellspacing="0">
+              <tr>
+                <td colspan="2" class="td_tit2">{{item.companyName}}</td>
+              </tr>
+              <tr>
+                <td class="td_tit3">工作时间:</td>
+                <td class="td_con">{{item.startTime}}-{{item.endTime}}</td>
+              </tr>
+              <tr>
+                <td class="td_tit3">在职职位:</td>
+                <td class="td_con">{{item.job}}</td>
+              </tr>
+              <tr>
+                <td class="td_tit3">工作职责:</td>
+                <td class="td_con">{{item.content}}</td>
+              </tr>
+            </table>
+          </td>
+        </tr>
+        <tr>
+          <td colspan="6" class="divider"></td>
+        </tr>
+        <tr>
+          <td colspan="6" class="td_tit1">教育经历</td>
+        </tr>
+        <tr>
+          <td colspan="6" class="td_con">
+            <table v-for="item in formModel.educateList" :key="item.id" style="width:100%;" border="0" cellpadding="0" cellspacing="0">
+              <tr>
+                <td colspan="2" class="td_tit2">{{item.schoolName}}</td>
+              </tr>
+              <tr>
+                <td class="td_tit3">在校时间:</td>
+                <td class="td_con">{{item.startTime}}-{{item.endTime}}</td>
+              </tr>
+              <tr>
+                <td class="td_tit3">学历:</td>
+                <td class="td_con">{{item.education}}</td>
+              </tr>
+              <tr>
+                <td class="td_tit3">专业:</td>
+                <td class="td_con">{{item.major}}</td>
+              </tr>
+            </table>
+          </td>
+        </tr>
+        <tr>
+          <td colspan="6" class="divider"></td>
+        </tr>
+        <tr>
+          <td colspan="6" class="td_tit1">人员就业轨迹</td>
+        </tr>
+        <tr>
+          <td colspan="6" class="td_con">
+            <div>
+              <!-- <el-steps direction="vertical" :active="1">
+                <el-step v-for="workStep in formModel.workStepList" :key="workStep.sortNo" :title="workStep.text" :description="workStep.date"></el-step>
+              </el-steps> -->
+              <el-timeline :reverse="true">
+                <el-timeline-item v-for="(workStep, index) in formModel.workStepList" :key="index" :timestamp="workStep.date">
+                  {{workStep.text}}
+                </el-timeline-item>
+              </el-timeline>
+            </div>
+          </td>
+        </tr>
+      </table>
     </div>
     <span slot="footer" class="dialog-footer">
-      <el-button @click="closeDialog">取 消</el-button>
-      <el-button type="primary" @click="handleSubmit" :loading="submitting"
-        >确 定</el-button
-      >
+      <el-button @click="closeDialog">关 闭</el-button>
     </span>
   </el-dialog>
 </template>
@@ -172,133 +172,28 @@ export default {
   data() {
     return {
       formModel: {},
-      ruleValidate: {
-        id: [{ required: true, message: "不能为空", trigger: "blur" }],
-        createBy: [{ required: true, message: "不能为空", trigger: "blur" }],
-        createTime: [{ required: true, message: "不能为空", trigger: "blur" }],
-        updateBy: [{ required: true, message: "不能为空", trigger: "blur" }],
-        updateTime: [{ required: true, message: "不能为空", trigger: "blur" }],
-        delFlag: [
-          { required: true, message: "删除标示不能为空", trigger: "blur" },
-        ],
-        jobUserId: [
-          { required: true, message: "用户ID 不能为空", trigger: "blur" },
-        ],
-        sex: [{ required: true, message: "性别不能为空", trigger: "blur" }],
-        positionCategoryId: [
-          { required: true, message: "职位分类不能为空", trigger: "blur" },
-        ],
-        workExp: [
-          { required: true, message: "工作经验不能为空", trigger: "blur" },
-        ],
-        education: [
-          { required: true, message: "学历不能为空", trigger: "blur" },
-        ],
-        dreamMoney: [
-          { required: true, message: "期望工资不能为空", trigger: "blur" },
-        ],
-        dreamAdd: [
-          { required: true, message: "期望工作地点不能为空", trigger: "blur" },
-        ],
-        birthday: [
-          { required: true, message: "出生年月不能为空", trigger: "blur" },
-        ],
-        introduction: [
-          { required: true, message: "个人介绍不能为空", trigger: "blur" },
-        ],
-        status: [
-          {
-            required: true,
-            message: "简历状态(开启,审核,等不能为空",
-            trigger: "blur",
-          },
-        ],
-        approveStatus: [
-          {
-            required: true,
-            message: "审批状态(字典:简历审批状态不能为空",
-            trigger: "blur",
-          },
-        ],
-        jobStatus: [
-          {
-            required: true,
-            message: "工作状态(字典:工作在职状态不能为空",
-            trigger: "blur",
-          },
-        ],
-        resumeUrls: [
-          { required: true, message: "附件不能为空", trigger: "blur" },
-        ],
-      },
       showDialog: true,
-      loading: false,
-      submitting: false,
     };
   },
   methods: {
     closeDialog() {
       this.$emit("close", false);
     },
-    handleSubmit() {
-      var self = this;
-
-      this.$refs["form"].validate((valid) => {
-        if (valid) {
-          (function () {
-            var id = self.formModel.id;
-
-            if (id == null || id.length == 0) {
-              return resumeApi.add(self.formModel);
-            } else {
-              return resumeApi.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);
-            }
-          });
-        }
-      });
-    },
   },
   mounted: function () {
     var self = this;
 
-    (function () {
-      if (self.businessKey.length == 0) {
-        return resumeApi.create();
-      } else {
-        return resumeApi.edit(self.businessKey);
-      }
-    })()
-      .then((response) => {
-        var jsonData = response.data;
-        self.loading = false;
+    resumeApi.detail(self.businessKey).then(response=>{
+      var jsonData = response.data;
 
-        if (jsonData.result) {
-          self.formModel = jsonData.data;
-        } else {
-          self.$message.error(jsonData.message + "");
-        }
-      })
-      .catch((error) => {
-        self.$message.error(error + "");
-      });
+      if(jsonData.result){
+        self.formModel = jsonData.data;
+        console.log(self.formModel);
+      }
+      else{
+        self.$message.error(jsonData.message + "");
+      }
+    });
   },
 };
 </script>

+ 4 - 9
src/views/job/resume-list.vue

@@ -37,7 +37,6 @@
     </el-form>
     <el-divider></el-divider>
     <el-row class="button-group">
-      <el-button type="primary" size="small" plain icon="el-icon-circle-plus" @click="handleAdd" >新增</el-button>
       <el-button type="primary" size="small" plain icon="el-icon-circle-plus" :disabled="multipleSelection.length == 0" @click="handleBatchDelete">删除选中项</el-button>
     </el-row>
     <el-table :data="tableData" style="min-height: 400px" v-loading="loading" stripe @sort-change="sortChange" @selection-change="handleSelectionChange">
@@ -60,7 +59,7 @@
       <el-table-column prop="jobStatusName" label="当前状态" width="100"></el-table-column>
       <el-table-column prop="userIsAuthenticationName" label="实名制状态" width="100"></el-table-column>
       <el-table-column prop="statusName" label="上架状态" width="100"></el-table-column>
-      <el-table-column label="操作">
+      <el-table-column label="操作" width="150" fixed="right">
         <template slot-scope="{row}">
           <el-button size="mini" type="text" @click="handleEdit(row)">简历详情</el-button>
           <el-button v-if="row.status == '7a308001-f476-411a-8802-28992be86cb1'" size="mini" type="text" @click="handleChangeStatus(row)">上架</el-button>
@@ -125,6 +124,7 @@ export default {
         label: "name"
       },
       approveStatusResult: [],
+      statusResult: [],
     };
   },
   created() {
@@ -172,7 +172,7 @@ export default {
       formData.append("positionCategoryId", self.queryModel.positionCategoryId);
       formData.append("approveStatus", self.queryModel.approveStatus);
       formData.append("status", self.queryModel.status);
-      formData.append("jobStatus", self.queryModel.jobStatus);
+      formData.append("name", self.queryModel.name);
 
       if (this.field != null) {
         formData.append("field", this.field);
@@ -217,13 +217,8 @@ export default {
     handleReset(name) {
       this.$refs[name].resetFields();
     },
-    handleAdd() {
-      this.modalTitle = "新增";
-      this.businessKey = "";
-      this.showModal = true;
-    },
     handleEdit(record) {
-      this.modalTitle = "编辑";
+      this.modalTitle = "简历详情";
       this.businessKey = record.id;
       this.showModal = true;
     },