Browse Source

前端-简历

armg 1 year ago
parent
commit
4b8541af05

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

@@ -12,9 +12,9 @@
       <van-field
         v-model="userForm.userName"
         name="userName"
-        label="姓名"
+        label="候选人姓名"
         maxlength="20"
-        placeholder="请输入姓名"
+        placeholder="请输入候选人姓名"
         :rules="[{ required: true }]"
       />
       <van-field

+ 675 - 160
ruoyi-ui/src/views/system/resume/add.vue

@@ -1,194 +1,709 @@
 <template>
   <div>
-    <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-      <el-form-item label="候选人姓名" prop="userName">
-        <el-input v-model="form.userName" placeholder="请输入姓名" />
-      </el-form-item>
-      <el-form-item label="手机号码" prop="mobile">
-        <el-input v-model="form.mobile" placeholder="请输入手机号码" />
-      </el-form-item>
-      <el-form-item label="简历附件" prop="resumeFile">
-        <!-- <file-upload v-model="form.resumeFile" /> -->
-        <el-upload
-          class="upload-demo"
-          :action="FileAction"
-          :on-change="handleChange"
-          :file-list="fileList"
+    <div class="formWrapper">
+      <h2 style="margin-left: 30px">{{ title }}</h2>
+      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+        <el-form-item label="候选人姓名" prop="userName">
+          <el-input v-model="form.userName" placeholder="请输入姓名" />
+        </el-form-item>
+        <el-form-item label="手机号" prop="mobile">
+          <el-input
+            v-model="form.mobile"
+            placeholder="请输入手机号"
+            maxlength="11"
+          />
+        </el-form-item>
+        <el-form-item label="简历附件" prop="resumeFile">
+          <el-upload
+            class="upload-demo"
+            :action="FileAction"
+            :file-list="fileList"
+            :on-success="handleFileSuccess"
+            :limit="1"
+          >
+            <el-button size="small" type="primary">选择文件</el-button>
+          </el-upload>
+        </el-form-item>
+        <el-form-item label="工作地" prop="workingPlace">
+          <el-input v-model="form.workingPlace" placeholder="请输入工作地" />
+        </el-form-item>
+        <el-form-item label="学历" prop="degree">
+          <el-input v-model="form.degree" placeholder="请输入学历" />
+        </el-form-item>
+        <el-form-item label="性别" prop="gender">
+          <el-select
+            v-model="form.gender"
+            placeholder="请选择性别"
+            style="width: 100%"
+          >
+            <el-option
+              v-for="dict in dict.type.sys_user_sex"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="年龄" prop="age">
+          <el-input v-model="form.age" placeholder="请输入年龄" />
+        </el-form-item>
+        <el-form-item label="居住地" prop="residence">
+          <el-input v-model="form.residence" placeholder="请输入居住地" />
+        </el-form-item>
+        <el-form-item label="专业" prop="major">
+          <el-input v-model="form.major" placeholder="请输入专业" />
+        </el-form-item>
+        <el-form-item label="行业经验" prop="industryExperience">
+          <el-input
+            v-model="form.industryExperience"
+            type="textarea"
+            placeholder="请输入内容"
+          />
+        </el-form-item>
+        <el-form-item label="毕业院校" prop="graduateCollege">
+          <el-input
+            v-model="form.graduateCollege"
+            placeholder="请输入毕业院校"
+          />
+        </el-form-item>
+        <el-form-item label="岗位" prop="position">
+          <el-input v-model="form.position" placeholder="请输入岗位" />
+        </el-form-item>
+        <el-form-item label="语言能力" prop="languageAbility">
+          <el-input
+            v-model="form.languageAbility"
+            type="textarea"
+            placeholder="请输入内容"
+          />
+        </el-form-item>
+        <el-form-item label="证书" prop="certificate">
+          <el-input
+            v-model="form.certificate"
+            type="textarea"
+            placeholder="请输入内容"
+          />
+        </el-form-item>
+        <el-form-item label="电子邮箱" prop="email">
+          <el-input v-model="form.email" placeholder="请输入电子邮箱" />
+        </el-form-item>
+        <el-form-item label="生日" prop="birthday">
+          <el-date-picker
+            clearable
+            v-model="form.birthday"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请选择生日"
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="工作年限" prop="experience">
+          <el-input
+            v-model="form.experience"
+            type="textarea"
+            placeholder="请输入内容"
+          />
+        </el-form-item>
+        <el-form-item label="期望薪资" prop="exceptedSalary">
+          <el-input
+            v-model="form.exceptedSalary"
+            type="textarea"
+            placeholder="请输入内容"
+          />
+        </el-form-item>
+        <el-form-item label="最近工作公司" prop="lastCompany">
+          <el-input
+            v-model="form.lastCompany"
+            placeholder="请输入最近工作公司"
+          />
+        </el-form-item>
+        <el-form-item label="最近工作行业" prop="lastIndustry">
+          <el-input
+            v-model="form.lastIndustry"
+            placeholder="请输入最近工作行业"
+          />
+        </el-form-item>
+        <el-form-item label="最近工作职位" prop="lastPosition">
+          <el-input
+            v-model="form.lastPosition"
+            placeholder="请输入最近工作职位"
+          />
+        </el-form-item>
+        <el-form-item label="专业技能" prop="keyWords">
+          <el-input
+            v-model="form.keyWords"
+            type="textarea"
+            placeholder="请输入内容"
+          />
+        </el-form-item>
+        <el-form-item label="自我评价" prop="selfEvaluation">
+          <el-input
+            v-model="form.selfEvaluation"
+            type="textarea"
+            placeholder="请输入内容"
+          />
+        </el-form-item>
+
+        <el-form-item
+          label="工作履历"
+          prop="workList"
+          class="long-el-form-item"
         >
-          <el-button size="small" type="primary">选择文件</el-button>
-        </el-upload>
-      </el-form-item>
-      <el-form-item label="工作地" prop="workingPlace">
-        <el-input v-model="form.workingPlace" placeholder="请输入工作地" />
-      </el-form-item>
-      <el-form-item label="学历" prop="degree">
-        <el-input v-model="form.degree" placeholder="请输入学历" />
-      </el-form-item>
-      <el-form-item label="性别" prop="gender">
-        <el-input v-model="form.gender" placeholder="请输入性别" />
-      </el-form-item>
-      <el-form-item label="年龄" prop="age">
-        <el-input v-model="form.age" placeholder="请输入年龄" />
-      </el-form-item>
-      <el-form-item label="居住地" prop="residence">
-        <el-input v-model="form.residence" placeholder="请输入居住地" />
-      </el-form-item>
-      <el-form-item label="专业" prop="major">
-        <el-input v-model="form.major" placeholder="请输入专业" />
-      </el-form-item>
-      <el-form-item label="行业经验" prop="industryExperience">
-        <el-input
-          v-model="form.industryExperience"
-          type="textarea"
-          placeholder="请输入内容"
-        />
-      </el-form-item>
-      <el-form-item label="毕业院校" prop="graduateCollege">
-        <el-input v-model="form.graduateCollege" placeholder="请输入毕业院校" />
-      </el-form-item>
-      <el-form-item label="岗位" prop="position">
-        <el-input v-model="form.position" placeholder="请输入岗位" />
-      </el-form-item>
-      <el-form-item label="语言能力" prop="languageAbility">
-        <el-input
-          v-model="form.languageAbility"
-          type="textarea"
-          placeholder="请输入内容"
-        />
-      </el-form-item>
-      <el-form-item label="证书" prop="certificate">
-        <el-input
-          v-model="form.certificate"
-          type="textarea"
-          placeholder="请输入内容"
-        />
-      </el-form-item>
-      <el-form-item label="电子邮箱" prop="email">
-        <el-input v-model="form.email" placeholder="请输入电子邮箱" />
-      </el-form-item>
-      <el-form-item label="生日" prop="birthday">
-        <el-date-picker
-          clearable
-          v-model="form.birthday"
-          type="date"
-          value-format="yyyy-MM-dd"
-          placeholder="请选择生日"
+          <el-button
+            type="primary"
+            plain
+            icon="el-icon-plus"
+            size="mini"
+            @click="handleAddWork"
+            >添加工作履历</el-button
+          >
+          <el-table :data="form.workList" ref="workTable" border>
+            <el-table-column
+              label="公司名称"
+              width="300"
+              align="center"
+              prop="companyName"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.companyName" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="公司地址"
+              width="200"
+              align="center"
+              prop="companyPosition"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.companyPosition" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="入职时间"
+              width="120"
+              align="center"
+              prop="iinductionStartDate"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.iinductionStartDate" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="离职时间"
+              width="120"
+              align="center"
+              prop="iinductionEndDate"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.iinductionEndDate" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="证明人"
+              width="120"
+              align="center"
+              prop="leaderName"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.leaderName" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="证明人联系方式"
+              width="140"
+              align="center"
+              prop="leaderMobile"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.leaderMobile" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="岗位"
+              width="200"
+              align="center"
+              prop="postionName"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.postionName" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="离职原因"
+              width="150"
+              align="center"
+              prop="reason"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.reason" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="工作描述"
+              width="300"
+              align="center"
+              prop="workDetail"
+            >
+              <template slot-scope="scope">
+                <el-input type="textarea" v-model="scope.row.workDetail" />
+              </template>
+            </el-table-column>
+            <el-table-column label="操作" align="center" fixed="right">
+              <template slot-scope="scope">
+                <el-button
+                  size="mini"
+                  type="text"
+                  icon="el-icon-delete"
+                  @click="handleWorkRowDelete(scope.$index, scope.row)"
+                  >删除</el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
+        </el-form-item>
+        <el-form-item
+          label="项目经验"
+          prop="projectList"
+          class="long-el-form-item"
         >
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label="工作年限" prop="experience">
-        <el-input
-          v-model="form.experience"
-          type="textarea"
-          placeholder="请输入内容"
-        />
-      </el-form-item>
-      <el-form-item label="期望薪资" prop="exceptedSalary">
-        <el-input
-          v-model="form.exceptedSalary"
-          type="textarea"
-          placeholder="请输入内容"
-        />
-      </el-form-item>
-      <el-form-item label="最近工作公司" prop="lastCompany">
-        <el-input v-model="form.lastCompany" placeholder="请输入最近工作公司" />
-      </el-form-item>
-      <el-form-item label="最近工作行业" prop="lastIndustry">
-        <el-input
-          v-model="form.lastIndustry"
-          placeholder="请输入最近工作行业"
-        />
-      </el-form-item>
-      <el-form-item label="最近工作职位" prop="lastPosition">
-        <el-input
-          v-model="form.lastPosition"
-          placeholder="请输入最近工作职位"
-        />
-      </el-form-item>
-      <el-form-item label="专业技能" prop="keyWords">
-        <el-input
-          v-model="form.keyWords"
-          type="textarea"
-          placeholder="请输入内容"
-        />
-      </el-form-item>
-      <el-form-item label="自我评价" prop="selfEvaluation">
-        <el-input
-          v-model="form.selfEvaluation"
-          type="textarea"
-          placeholder="请输入内容"
-        />
-      </el-form-item>
-
-      <el-form-item label="工作履历" prop="resumeWork">
-        <el-input
-          v-model="form.resumeWork"
-          type="textarea"
-          placeholder="请输入内容"
-        />
-      </el-form-item>
-      <el-form-item label="项目经验" prop="resumeProject">
-        <el-input
-          v-model="form.resumeProject"
-          type="textarea"
-          placeholder="请输入内容"
-        />
-      </el-form-item>
-      <el-form-item label="教育经历" prop="resumeEducation">
-        <el-input
-          v-model="form.resumeEducation"
-          type="textarea"
-          placeholder="请输入内容"
-        />
-      </el-form-item>
-      <el-form-item>
-        <el-button type="primary" @click="submitForm">提 交</el-button>
-        <el-button @click="goBack">返 回</el-button>
-      </el-form-item>
-    </el-form>
+          <el-button
+            type="primary"
+            plain
+            icon="el-icon-plus"
+            size="mini"
+            @click="handleAddProject"
+            >添加项目经验</el-button
+          >
+          <el-table :data="form.projectList" ref="projectTable" border>
+            <el-table-column
+              label="项目名称"
+              width="300"
+              align="center"
+              prop="projectName"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.projectName" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="开始时间"
+              width="150"
+              align="center"
+              prop="projectStartDate"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.projectStartDate" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="结束时间"
+              width="150"
+              align="center"
+              prop="projectEndDate"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.projectEndDate" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="软件环境"
+              width="150"
+              align="center"
+              prop="developEnvironment"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.developEnvironment" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="开发工具"
+              width="150"
+              align="center"
+              prop="developTools"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.developTools" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="责任描述"
+              width="200"
+              align="center"
+              prop="partIn"
+            >
+              <template slot-scope="scope">
+                <el-input type="textarea" v-model="scope.row.partIn" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="项目描述"
+              width="200"
+              align="center"
+              prop="projectDetail"
+            >
+              <template slot-scope="scope">
+                <el-input type="textarea" v-model="scope.row.projectDetail" />
+              </template>
+            </el-table-column>
+            <el-table-column label="操作" align="center" fixed="right">
+              <template slot-scope="scope">
+                <el-button
+                  size="mini"
+                  type="text"
+                  icon="el-icon-delete"
+                  @click="handleProjectRowDelete(scope.$index, scope.row)"
+                  >删除</el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
+        </el-form-item>
+        <el-form-item label="教育经历" prop="eduList" class="long-el-form-item">
+          <el-button
+            type="primary"
+            plain
+            icon="el-icon-plus"
+            size="mini"
+            @click="handleAddEdu"
+            >添加教育经历</el-button
+          >
+          <el-table :data="form.eduList" ref="eduTable" border>
+            <el-table-column
+              label="学校名称"
+              width="300"
+              align="center"
+              prop="schoolName"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.schoolName" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="入学时间"
+              width="150"
+              align="center"
+              prop="eduStartDate"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.eduStartDate" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="毕业时间"
+              width="150"
+              align="center"
+              prop="eduEndDate"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.eduEndDate" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="专业"
+              width="200"
+              align="center"
+              prop="major"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.major" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="学历"
+              width="150"
+              align="center"
+              prop="degree"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.degree" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="描述"
+              width="350"
+              align="center"
+              prop="detail"
+            >
+              <template slot-scope="scope">
+                <el-input type="textarea" v-model="scope.row.detail" />
+              </template>
+            </el-table-column>
+            <el-table-column label="操作" align="center" fixed="right">
+              <template slot-scope="scope">
+                <el-button
+                  size="mini"
+                  type="text"
+                  icon="el-icon-delete"
+                  @click="handleEduRowDelete(scope.$index, scope.row)"
+                  >删除</el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
+        </el-form-item>
+        <el-form-item class="long-el-form-item button-list">
+          <el-button @click="goBack">返 回</el-button>
+          <el-button type="primary" @click="submitForm">提 交</el-button>
+        </el-form-item>
+      </el-form>
+    </div>
   </div>
 </template>
 <script>
+import { addResume, getResume, updateResume } from "@/api/system/resume";
 export default {
+  dicts: ["sys_user_sex"],
   name: "systemResumeAdd",
-  data() {
+  data() {  
     return {
+      title: "新增简历",
       fileList: [],
       FileAction:
         process.env.VUE_APP_BASE_API + "/system/resume/uploadResumeSimilarity",
       // 表单参数
-      form: {},
+      form: {
+        userName: "",
+        mobile: "",
+        resumeFile: [],
+        workingPlace: "",
+        degree: "",
+        gender: "",
+        age: "",
+        residence: "",
+        major: "",
+        industryExperience: "",
+        graduateCollege: "",
+        position: "",
+        languageAbility: "",
+        certificate: "",
+        email: "",
+        birthday: "",
+        experience: "",
+        exceptedSalary: "",
+        lastCompany: "",
+        lastIndustry: "",
+        lastPosition: "",
+        keyWords: "",
+        selfEvaluation: "",
+        workList: [],
+        projectList: [],
+        eduList: [],
+      },
       // 表单校验
-      rules: {},
+      rules: {
+        userName: [
+          { required: true, trigger: "blur", message: "请输入候选人姓名" },
+        ],
+        mobile: [
+          { required: true, trigger: "blur", message: "请输入手机号" },
+          {
+            pattern: /^1[3456789]\d{9}$/,
+            message: "请输入正确的手机号",
+            trigger: "blur",
+          },
+        ],
+        position: [{ required: true, trigger: "blur", message: "请输入岗位" }],
+      },
+      resumeId: null,
     };
   },
+  activated() {
+    // console.log("===========activated")
+    if (this.$route.query.id) {
+      this.resumeId = this.$route.query.id;
+      this.title = "修改简历";
+      this.getResumeList(this.$route.query.id);
+    } else {
+      this.reset();
+      this.resumeId = null;
+      this.title = "新增简历";
+    }
+  },
+  mounted() {},
   methods: {
-    handleChange(file, fileList) {
-      this.fileList = fileList;
+    // 查看简历
+    getResumeList(resumeId) {
+      getResume(resumeId).then((response) => {
+        this.form = response.data;
+      });
+    },
+    // 简历解析
+    handleFileSuccess(res, file) {
+      let data = res.data;
+      this.form = data;
+    },
+    // 添加工作履历
+    handleAddWork() {
+      let workObj = {
+        companyName: null,
+        companyPosition: null,
+        iinductionStartDate: null,
+        iinductionEndDate: null,
+        leaderName: null,
+        leaderMobile: null,
+        postionName: null,
+        reason: null,
+        workDetail: null,
+      };
+      this.form.workList.push(workObj);
+    },
+    // 删除工作履历
+    handleWorkRowDelete(index, rows) {
+      let that = this;
+      this.$modal
+        .confirm("是否删除该工作履历?")
+        .then(function () {
+          that.form.workList.splice(index, 1);
+        })
+        .then(() => {
+          that.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
+    },
+    // 添加项目经验
+    handleAddProject() {
+      let projectObj = {
+        projectName: null,
+        projectStartDate: null,
+        projectEndDate: null,
+        developEnvironment: null,
+        developTools: null,
+        partIn: null,
+        projectDetail: null,
+      };
+      this.form.projectList.push(projectObj);
+    },
+    // 删除项目经验
+    handleProjectRowDelete(index, rows) {
+      let that = this;
+      this.$modal
+        .confirm("是否删除该项目经验?")
+        .then(function () {
+          that.form.projectList.splice(index, 1);
+        })
+        .then(() => {
+          that.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
+    },
+    // 添加教育经历
+    handleAddEdu() {
+      let eduObj = {
+        schoolName: null,
+        eduStartDate: null,
+        eduEndDate: null,
+        major: null,
+        degree: null,
+        detail: null,
+      };
+      this.form.eduList.push(eduObj);
+    },
+    // 删除教育经历
+    handleEduRowDelete(index, rows) {
+      let that = this;
+      this.$modal
+        .confirm("是否删除该教育经历?")
+        .then(function () {
+          that.form.eduList.splice(index, 1);
+        })
+        .then(() => {
+          that.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
     },
     /** 提交按钮 */
     submitForm() {
-      this.$refs["form"].validate((valid) => {
+      let that = this;
+      that.$refs["form"].validate((valid, rules) => {
         if (valid) {
-          if (this.form.resumeId != null) {
-            updateResume(this.form).then((response) => {
-              this.$modal.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
+          if (that.form.resumeId != null) {
+            updateResume(that.form).then((response) => {
+              that.$modal.msgSuccess("修改成功");
+              setTimeout(() => {
+                that.goBack();
+              }, 1500);
             });
           } else {
-            addResume(this.form).then((response) => {
-              this.$modal.msgSuccess("新增成功");
-              this.open = false;
-              this.getList();
+            addResume(that.form).then((response) => {
+              that.$modal.msgSuccess("新增成功");
+              setTimeout(() => {
+                that.goBack();
+              }, 1500);
             });
           }
+        } else {
+          for (var ruleName in rules) {
+            let _rule = rules[ruleName];
+            let message = _rule[0].message;
+            this.$message.warning(message, 1);
+            break;
+          }
+          //验证不通过回滚到不通过的第一个位置
+          this.$nextTick(() => {
+            let isError = document.getElementsByClassName("is-error");
+            isError[0].scrollIntoView({
+              block: "center",
+              behavior: "smooth",
+            });
+          });
         }
       });
     },
     goBack() {
       this.$router.go(-1);
     },
+    // 表单重置
+    reset() {
+      this.form = {
+        resumeId: null,
+        userName: "",
+        mobile: "",
+        resumeFile: [],
+        workingPlace: "",
+        degree: "",
+        gender: "",
+        age: "",
+        residence: "",
+        major: "",
+        industryExperience: "",
+        graduateCollege: "",
+        position: "",
+        languageAbility: "",
+        certificate: "",
+        email: "",
+        birthday: "",
+        experience: "",
+        exceptedSalary: "",
+        lastCompany: "",
+        lastIndustry: "",
+        lastPosition: "",
+        keyWords: "",
+        selfEvaluation: "",
+        workList: [],
+        projectList: [],
+        eduList: [],
+      };
+      this.resetForm("form");
+    },
   },
 };
-</script>
+</script>
+<style lang="scss" scoped>
+.formWrapper {
+  width: 95%;
+  margin-top: 30px;
+  .el-form {
+    display: flex;
+    flex-flow: wrap;
+    .el-form-item {
+      width: 50%;
+    }
+    .long-el-form-item {
+      width: 100%;
+    }
+    .button-list {
+      display: flex;
+      justify-content: center;
+    }
+  }
+}
+</style>

+ 17 - 109
ruoyi-ui/src/views/system/resume/index.vue

@@ -6,7 +6,7 @@
       size="small"
       :inline="true"
       v-show="showSearch"
-      label-width="68px"
+      label-width="120px"
     >
       <el-form-item label="姓名" prop="userName">
         <el-input
@@ -74,6 +74,16 @@
         >
         </el-date-picker>
       </el-form-item>
+      <el-form-item label="性别" prop="gender">
+        <el-select v-model="queryParams.gender" placeholder="全部">
+          <el-option
+            v-for="dict in dict.type.sys_user_sex"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.label"
+          ></el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item label="导入结束时间" prop="endTime">
         <el-date-picker
           clearable
@@ -233,100 +243,6 @@
       :limit.sync="queryParams.pageSize"
       @pagination="getList"
     />
-
-    <!-- 添加或修改简历管理对话框 -->
-    <!-- <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="候选人姓名" prop="userName">
-          <el-input v-model="form.userName" placeholder="请输入姓名" />
-        </el-form-item>
-        <el-form-item label="手机号码" prop="mobile">
-          <el-input v-model="form.mobile" placeholder="请输入手机号码" />
-        </el-form-item>
-        <el-form-item label="简历附件" prop="resumeFile">
-          <file-upload v-model="form.resumeFile" />
-        </el-form-item>
-        <el-form-item label="工作地" prop="workingPlace">
-          <el-input v-model="form.workingPlace" placeholder="请输入工作地" />
-        </el-form-item>
-        <el-form-item label="学历" prop="degree">
-          <el-input v-model="form.degree" placeholder="请输入学历" />
-        </el-form-item>
-        <el-form-item label="性别" prop="gender">
-          <el-input v-model="form.gender" placeholder="请输入性别" />
-        </el-form-item>
-        <el-form-item label="年龄" prop="age">
-          <el-input v-model="form.age" placeholder="请输入年龄" />
-        </el-form-item>
-        <el-form-item label="居住地" prop="residence">
-          <el-input v-model="form.residence" placeholder="请输入居住地" />
-        </el-form-item>
-        <el-form-item label="专业" prop="major">
-          <el-input v-model="form.major" placeholder="请输入专业" />
-        </el-form-item>
-        <el-form-item label="行业经验" prop="industryExperience">
-          <el-input v-model="form.industryExperience" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-        <el-form-item label="毕业院校" prop="graduateCollege">
-          <el-input v-model="form.graduateCollege" placeholder="请输入毕业院校" />
-        </el-form-item>
-        <el-form-item label="岗位" prop="position">
-          <el-input v-model="form.position" placeholder="请输入岗位" />
-        </el-form-item>
-        <el-form-item label="语言能力" prop="languageAbility">
-          <el-input v-model="form.languageAbility" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-        <el-form-item label="证书" prop="certificate">
-          <el-input v-model="form.certificate" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-        <el-form-item label="电子邮箱" prop="email">
-          <el-input v-model="form.email" placeholder="请输入电子邮箱" />
-        </el-form-item>
-        <el-form-item label="生日" prop="birthday">
-          <el-date-picker clearable
-                          v-model="form.birthday"
-                          type="date"
-                          value-format="yyyy-MM-dd"
-                          placeholder="请选择生日">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="工作年限" prop="experience">
-          <el-input v-model="form.experience" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-        <el-form-item label="期望薪资" prop="exceptedSalary">
-          <el-input v-model="form.exceptedSalary" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-        <el-form-item label="最近工作公司" prop="lastCompany">
-          <el-input v-model="form.lastCompany" placeholder="请输入最近工作公司" />
-        </el-form-item>
-        <el-form-item label="最近工作行业" prop="lastIndustry">
-          <el-input v-model="form.lastIndustry" placeholder="请输入最近工作行业" />
-        </el-form-item>
-        <el-form-item label="最近工作职位" prop="lastPosition">
-          <el-input v-model="form.lastPosition" placeholder="请输入最近工作职位" />
-        </el-form-item>
-        <el-form-item label="专业技能" prop="keyWords">
-          <el-input v-model="form.keyWords" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-        <el-form-item label="自我评价" prop="selfEvaluation">
-          <el-input v-model="form.selfEvaluation" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-
-        <el-form-item label="工作履历" prop="resumeWork">
-          <el-input v-model="form.resumeWork" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-        <el-form-item label="项目经验" prop="resumeProject">
-          <el-input v-model="form.resumeProject" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-        <el-form-item label="教育经历" prop="resumeEducation">
-          <el-input v-model="form.resumeEducation" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div>
-    </el-dialog> -->
   </div>
 </template>
 
@@ -340,6 +256,7 @@ import {
 } from "@/api/system/resume";
 
 export default {
+  dicts: ["sys_user_sex"],
   name: "Resume",
   data() {
     return {
@@ -360,7 +277,7 @@ export default {
       // 弹出层标题
       title: "",
       // 是否显示弹出层
-      open: false,
+      // open: false,
       // 查询参数
       queryParams: {
         pageNum: 1,
@@ -435,11 +352,6 @@ export default {
         this.loading = false;
       });
     },
-    // 取消按钮
-    cancel() {
-      this.open = false;
-      this.reset();
-    },
     // 表单重置
     reset() {
       this.form = {
@@ -516,25 +428,21 @@ export default {
     /** 新增按钮操作 */
     handleAdd() {
       this.$router.push({ path: "/system/resume/add" });
-      // this.reset();
-      // this.open = true;
-      // this.title = "添加简历管理";
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
       const resumeId = row.resumeId || this.ids;
-      getResume(resumeId).then((response) => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "修改简历管理";
+      this.$router.push({
+        path: "/system/resume/add",
+        query: { id: resumeId },
       });
     },
     /** 删除按钮操作 */
     handleDelete(row) {
       const resumeIds = row.resumeId || this.ids;
       this.$modal
-        .confirm('是否确认删除简历管理编号为"' + resumeIds + '"的数据项?')
+        .confirm('是否确认删除候选人——"' + row.userName + '"的简历?')
         .then(function () {
           return delResume(resumeIds);
         })