Browse Source

前端-页面

armg 1 year ago
parent
commit
e64eb03c00

+ 1 - 1
ruoyi-ui/src/App.vue

@@ -94,7 +94,7 @@ export default {
       console.log("app=====isMobileEnv=", isMobileEnv);
       if (isMobileEnv) {
         that.$router.replace({
-          path: that.redirect || "/mobile/crm/index",
+          path: that.redirect || "/mobile/resume/index",
         });
       } else {
         that.$router.push({

+ 7 - 7
ruoyi-ui/src/api/system/resume.js

@@ -44,10 +44,10 @@ export function delResume(resumeId) {
 }
 
 // 上传简历并进行解析
-// export function uploadResumeSimilarity(data) {
-//   return request({
-//     url: '/system/resume/uploadResumeSimilarity',
-//     method: 'post',
-//     data: data
-//   })
-// }
+export function uploadResumeSimilarity(data) {
+  return request({
+    url: '/system/resume/uploadResumeSimilarity',
+    method: 'post',
+    data: data
+  })
+}

+ 10 - 0
ruoyi-ui/src/assets/styles/public.scss

@@ -411,4 +411,14 @@
       color: white;
     }
   }
+}
+.mobileWrapper1{
+  .van-nav-bar {
+    background: #3f9dfc;
+    .van-nav-bar__title,
+    .van-nav-bar__text,
+    .van-icon {
+      color: white;
+    }
+  }
 }

+ 1 - 1
ruoyi-ui/src/permission.js

@@ -31,7 +31,7 @@ router.beforeEach((to, from, next) => {
             // 新加的路由守卫
             console.log("=====钉钉手机端-已经登录了的,直接去到crm首页", store.state.app.isMobileEnv)
             if (store.state.app.isMobileEnv) {
-              next({ path: "/mobile/crm/index" }) // hack方法 确保addRoutes已完成
+              next({ path: "/mobile/resume/index" }) // hack方法 确保addRoutes已完成
             } else {
               // 原本的路由
               next({ ...to, replace: true }) // hack方法 确保addRoutes已完成

+ 1 - 1
ruoyi-ui/src/views/login.vue

@@ -220,7 +220,7 @@ export default {
       console.log("isMobileEnv=", isMobileEnv);
       if (isMobileEnv) {
         that.$router.replace({
-          path: that.redirect || "/mobile/crm/index",
+          path: that.redirect || "/mobile/resume/index",
         });
       } else {
         that.$router.push({

+ 27 - 49
ruoyi-ui/src/views/mobile/resume/detail.vue

@@ -10,7 +10,13 @@
     <van-cell-group>
       <van-cell title="姓名" :value="form.userName" />
       <van-cell title="手机号码" :value="form.mobile" />
-      <van-cell title="简历" :value="form.resumeFile" />
+      <van-cell
+        v-if="form.resumeFile"
+        title="简历"
+        :value="form.resumeFile.uploadName"
+      />
+      <van-cell v-else title="简历" :value="form.resumeFile" />
+
       <van-cell title="工作地" :value="form.workingPlace" />
       <van-cell title="学历" :value="form.degree" />
       <van-cell title="性别" :value="form.gender" />
@@ -35,11 +41,7 @@
         <div class="formInfo">
           <div class="item" v-for="(item, index) in form.workList" :key="index">
             <!-- disabled -->
-            <van-field
-              readonly
-              v-model="item.companyName"
-              label="公司名称"
-            />
+            <van-field readonly v-model="item.companyName" label="公司名称" />
             <van-field
               readonly
               v-model="item.companyPosition"
@@ -55,30 +57,24 @@
               v-model="item.iinductionEndDate"
               label="离职时间"
             />
-            <van-field
-              readonly
-              v-model="item.leaderName"
-              label="证明人"
-            />
+            <van-field readonly v-model="item.leaderName" label="证明人" />
             <van-field
               readonly
               v-model="item.leaderMobile"
               label="证明人联系方式"
             />
-            <van-field
-              readonly
-              v-model="item.postionName"
-              label="岗位"
-            />
+            <van-field readonly v-model="item.postionName" label="岗位" />
             <van-field
               readonly
               v-model="item.reason"
               label="离职原因"
+              type="textarea"
             />
             <van-field
               readonly
               v-model="item.workDetail"
               label="工作描述"
+              type="textarea"
             />
           </div>
         </div>
@@ -91,11 +87,7 @@
             v-for="(item, index) in form.projectList"
             :key="index"
           >
-            <van-field
-              readonly
-              v-model="item.projectName"
-              label="项目名称"
-            />
+            <van-field readonly v-model="item.projectName" label="项目名称" />
             <van-field
               readonly
               v-model="item.projectStartDate"
@@ -111,20 +103,18 @@
               v-model="item.developEnvironment"
               label="软件环境"
             />
-            <van-field
-              readonly
-              v-model="item.developTools"
-              label="开发工具"
-            />
+            <van-field readonly v-model="item.developTools" label="开发工具" />
             <van-field
               readonly
               v-model="item.partIn"
               label="责任描述"
+              type="textarea"
             />
             <van-field
               readonly
               v-model="item.projectDetail"
               label="项目描述"
+              type="textarea"
             />
           </div>
         </div>
@@ -133,32 +123,16 @@
         <span>教育经历</span>
         <div class="formInfo">
           <div class="item" v-for="(item, index) in form.eduList" :key="index">
-            <van-field
-              readonly
-              v-model="item.schoolName"
-              label="学校名称"
-            />
-            <van-field
-              readonly
-              v-model="item.eduStartDate"
-              label="入学时间"
-            />
-            <van-field
-              readonly
-              v-model="item.eduEndDate"
-              label="毕业时间"
-            />
-            <van-field 
-              readonly v-model="item.major" label="专业"  />
-            <van-field
-              readonly
-              v-model="item.degree"
-              label="学历"
-            />
+            <van-field readonly v-model="item.schoolName" label="学校名称" />
+            <van-field readonly v-model="item.eduStartDate" label="入学时间" />
+            <van-field readonly v-model="item.eduEndDate" label="毕业时间" />
+            <van-field readonly v-model="item.major" label="专业" />
+            <van-field readonly v-model="item.degree" label="学历" />
             <van-field
               readonly
               v-model="item.detail"
               label="描述"
+              type="textarea"
             />
           </div>
         </div>
@@ -278,6 +252,7 @@ h5 {
 }
 .btnlist {
   margin-top: 20px;
+  padding-bottom: 20px;
   button {
     width: 40%;
   }
@@ -295,9 +270,12 @@ h5 {
     margin-left: 40px;
   }
   .formInfo {
+    div {
+      background-color: #f1f1f1;
+    }
     .item {
       padding-bottom: 20px;
-      border: 1px solid #ccc;
+      // border: 1px solid #ccc;
       border-radius: 5px;
       overflow: auto;
       margin-top: 10px;

+ 88 - 10
ruoyi-ui/src/views/mobile/resume/form.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="mobileWrapper">
+  <div class="mobileWrapper1">
     <van-nav-bar
       left-text="返回"
       left-arrow
@@ -8,7 +8,6 @@
       :title="title"
     />
     <van-form ref="form" @submit="onSubmit" @failed="onFailed">
-      <!-- <h5>简历</h5> -->
       <van-field
         required
         v-model="form.userName"
@@ -33,8 +32,19 @@
       />
       <van-field name="resumeFile" label="简历">
         <template #input>
-          <van-uploader v-model="form.resumeFile">
-            <van-button icon="plus" type="primary" size="small"
+          <van-uploader
+            v-model="form.resumeFile"
+            :before-read="beforeRead"
+            :after-read="afterRead"
+            :delete="deleteFile"
+            accept=".doc,.docx"
+            :max-count="1"
+          >
+            <van-button
+              icon="plus"
+              type="primary"
+              size="small"
+              native-type="button"
               >上传简历</van-button
             >
           </van-uploader>
@@ -189,6 +199,7 @@
       <section class="sectionInfo">
         <span>工作履历</span>
         <van-button
+          native-type="button"
           icon="plus"
           type="primary"
           size="small"
@@ -197,7 +208,6 @@
         >
         <div class="formInfo">
           <div class="item" v-for="(item, index) in form.workList" :key="index">
-            <!-- disabled -->
             <van-field
               v-model="item.companyName"
               label="公司名称"
@@ -237,13 +247,16 @@
               v-model="item.reason"
               label="离职原因"
               placeholder="请输入"
+              type="textarea"
             />
             <van-field
               v-model="item.workDetail"
               label="工作描述"
               placeholder="请输入"
+              type="textarea"
             />
             <van-button
+              native-type="button"
               type="danger"
               size="small"
               @click="handleWorkRowDelete(index)"
@@ -255,6 +268,7 @@
       <section class="sectionInfo">
         <span>项目经验</span>
         <van-button
+          native-type="button"
           icon="plus"
           type="primary"
           size="small"
@@ -296,13 +310,16 @@
               v-model="item.partIn"
               label="责任描述"
               placeholder="请输入"
+              type="textarea"
             />
             <van-field
               v-model="item.projectDetail"
               label="项目描述"
               placeholder="请输入"
+              type="textarea"
             />
             <van-button
+              native-type="button"
               type="danger"
               size="small"
               @click="handleProjectRowDelete(index)"
@@ -314,6 +331,7 @@
       <section class="sectionInfo">
         <span>教育经历</span>
         <van-button
+          native-type="button"
           icon="plus"
           type="primary"
           size="small"
@@ -347,8 +365,10 @@
               v-model="item.detail"
               label="描述"
               placeholder="请输入"
+              type="textarea"
             />
             <van-button
+              native-type="button"
               type="danger"
               size="small"
               @click="handleEduRowDelete(index)"
@@ -357,7 +377,7 @@
           </div>
         </div>
       </section>
-      <div style="margin: 16px">
+      <div class="submitBtn">
         <van-button round block type="info" native-type="submit"
           >提交</van-button
         >
@@ -375,6 +395,7 @@ import {
   delResume,
   addResume,
   updateResume,
+  uploadResumeSimilarity,
 } from "@/api/system/resume";
 export default {
   name: "MobileResumeForm",
@@ -434,7 +455,13 @@ export default {
     if (this.id) {
       getResume(this.id)
         .then((response) => {
+          if (!response.data.resumeFile) {
+            response.data.resumeFile = [];
+          } else {
+            response.data.resumeFile = [response.data.resumeFile];
+          }
           that.form = response.data;
+          console.log(that.form);
         })
         .catch((err) => {
           that.$toast(err.msg);
@@ -442,6 +469,38 @@ export default {
     }
   },
   methods: {
+    // 上传前
+    beforeRead(file) {
+      console.log(file);
+      if (file.type.includes("word")) {
+        return true;
+      } else {
+        this.$toast("请上传word简历");
+        return false;
+      }
+    },
+    // 上传后
+    afterRead(file) {
+      console.log(file);
+      let formData = new FormData();
+      let that = this;
+      formData.append("file", file.file);
+      uploadResumeSimilarity(formData)
+        .then((response) => {
+          if (response.code == 200) {
+            if (response.data) {
+              let resumeFile = response.data.resumeFile;
+              that.form = response.data;
+              that.form.resumeFile = [resumeFile];
+            }
+          }
+        })
+        .catch((err) => {
+          that.$toast(err.msg);
+        });
+    },
+    // 删除文件
+    deleteFile(file) {},
     onUpdateBirthday(value) {
       // 使用moment格式化日期
       const data = moment(value).format("YYYY-MM-DD");
@@ -458,9 +517,16 @@ export default {
       }
     },
     onSubmit(values) {
+      // console.log("values=", values);
       let that = this;
+      values.workList = this.form.workList;
+      values.projectList = this.form.projectList;
+      values.eduList = this.form.eduList;
+      if (values.resumeFile && values.resumeFile[0]) {
+        values.resumeFile = values.resumeFile[0];
+      }
       if (that.id) {
-        values.id = that.id;
+        values.resumeId = that.id;
         updateResume(values)
           .then((response) => {
             if (response.code == 200) {
@@ -598,15 +664,19 @@ h5 {
     margin-left: 40px;
   }
   .formInfo {
+    .item,
+    .van-cell {
+      background-color: #f1f1f1;
+    }
     .item {
       padding-bottom: 20px;
-      border: 1px solid #ccc;
+      // border: 1px solid #ccc;
       border-radius: 5px;
-      overflow: auto;
+      // overflow: auto;
       margin-top: 10px;
       button {
         position: relative;
-        left: 90%;
+        left: 84%;
         top: 10px;
       }
     }
@@ -624,4 +694,12 @@ h5 {
   -webkit-transform: scaleY(0.5);
   transform: scaleY(0.5);
 }
+.van-form {
+  padding-bottom: 20px;
+}
+.submitBtn {
+  margin: 16px;
+  // position: absolute;
+  // bottom:0;
+}
 </style>

+ 2 - 2
ruoyi-ui/src/views/mobile/resume/index.vue

@@ -38,8 +38,8 @@
             @click="toDetail(item.resumeId)"
           >
             <div>{{ item.userName }}</div>
-            <!-- 性别|工作年限|学历|期望薪资 -->
-            <div>{{item.gender}}|{{item.experience}}|{{ item.degree }}|{{item.exceptedSalary}}</div>
+            <!-- 性别|年龄|工作年限|学历|期望薪资 -->
+            <div>{{item.gender}} | 年龄:{{item.age}} | 工龄:{{item.experience}} | {{ item.degree }} | {{item.exceptedSalary}}</div>
             <!-- 岗位 -->
             <div>求职岗位:{{item.position}}</div>
             <!-- 专业技能 -->