Pārlūkot izejas kodu

更新科技人才

guhongwei 5 gadi atpakaļ
vecāks
revīzija
a91c3dbf44

+ 138 - 0
src/layout/personnel/resumeData.vue

@@ -0,0 +1,138 @@
+<template>
+  <div id="resumeData">
+    <el-row>
+      <el-col :span="24" class="resumeData">
+        <el-table :data="tableData" style="width: 100%" border>
+          <el-table-column prop="title" label="简历名称" width="100" align="left"> </el-table-column>
+          <el-table-column prop="name" label="姓名" width="80" align="left"> </el-table-column>
+          <el-table-column prop="edu" label="学历" width="80" align="left"> </el-table-column>
+          <el-table-column prop="xingzhi" label="工作性质" width="100" align="left"> </el-table-column>
+          <el-table-column prop="jobs" label="期望职业" width="105" align="left"> </el-table-column>
+          <el-table-column prop="xinzi" label="薪资要求" width="100" align="left"> </el-table-column>
+          <el-table-column prop="mqzk" label="目前状况" width="200" align="left"> </el-table-column>
+          <el-table-column prop="date" label="创建时间" width="100" align="left"> </el-table-column>
+          <el-table-column label="操作" width="180;" align="left">
+            <template slot-scope="scoped">
+              <el-button size="mini" type="primary" icon="el-icon-view" @click="openDialog(scoped.$index)"></el-button>
+              <el-button size="mini" type="primary" icon="el-icon-edit" @click="addData(scoped.$index)"></el-button>
+              <el-button size="mini" type="danger" icon="el-icon-delete" @click.native.prevent="deleteRow(scoped.$index, tableData)"></el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <el-col :span="24" class="page">
+          <el-pagination
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="currentPage"
+            layout="total, prev, pager, next, jumper"
+            :total="1"
+          >
+          </el-pagination>
+        </el-col>
+      </el-col>
+    </el-row>
+    <el-dialog title="详细信息" :visible.sync="dialog">
+      <p class="text">简历名称:{{ info.title }}</p>
+      <p class="text">姓名:{{ info.name }}</p>
+      <p class="text">民族:{{ info.mz }}</p>
+      <p class="text">出生日期:{{ info.csrq }}</p>
+      <p class="text">婚姻状况:{{ info.hyzk }}</p>
+      <p class="text">户口所在地:{{ info.hkszd }}</p>
+      <p class="text">身份证号码:{{ info.sfzhm }}</p>
+      <p class="text">地址:{{ info.address }}</p>
+      <p class="text">学历:{{ info.edu }}</p>
+      <p class="text">联系电话:{{ info.tel }}</p>
+      <p class="text">电子邮箱:{{ info.email }}</p>
+      <p class="text">工作性质:{{ info.xingzhi }}</p>
+      <p class="text">期望职业:{{ info.jobs }}</p>
+      <p class="text">工作地点:{{ info.jobsAddress }}</p>
+      <p class="text">薪资要求:{{ info.xinzi }}</p>
+      <p class="text">目前状况:{{ info.mqzk }}</p>
+      <p class="text">自我简介:{{ info.content }}</p>
+      <p class="text">工作经历:{{ info.gzjl }}</p>
+      <p class="text">项目经验:{{ info.xmjy }}</p>
+      <p class="text">教育经历:{{ info.jyjl }}</p>
+      <p class="text">语言能力:{{ info.yynl }}</p>
+      <p class="text">专业技能:{{ info.zyjn }}</p>
+      <p class="text">兴趣爱好:{{ info.xqah }}</p>
+      <p class="text">简历创建时间:{{ info.date }}</p>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'resumeData',
+  props: {
+    tableData: null,
+  },
+  components: {},
+  data: () => ({
+    currentPage: 1,
+    dialog: false,
+    info: {},
+    pic: require('@/assets/logo.png'),
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`);
+    },
+    handleCurrentChange(val) {
+      console.log(`当前页: ${val}`);
+    },
+    addData(index) {
+      if (index !== undefined) {
+        let data = this.tableData[index];
+      } else {
+        this.form = {};
+      }
+      this.$router.push({ path: './detail' });
+    },
+    deleteRow(index, rows) {
+      rows.splice(index, 1);
+    },
+    openDialog(index) {
+      if (index !== undefined) {
+        let data = JSON.parse(JSON.stringify(this.tableData[index]));
+        data[`index`] = index;
+        this.$set(this, `info`, data);
+      }
+      this.dialog = true;
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  padding: 0;
+  margin: 0;
+}
+/deep/.el-table th {
+  padding: 5px 0;
+  background: #f2f2f2;
+}
+/deep/.el-table td {
+  padding: 5px 0;
+}
+/deep/.el-table tr {
+  background: #f9f9f9;
+}
+/deep/.el-table tr:nth-child(2n) {
+  background: #fff;
+}
+.page {
+  text-align: center;
+  padding: 30px 0;
+}
+.text {
+  font-size: 16px;
+  padding: 0 0 10px 0;
+}
+.text span {
+  display: inherit;
+  text-indent: 1rem;
+}
+</style>

+ 173 - 0
src/layout/personnel/resumeForm.vue

@@ -0,0 +1,173 @@
+<template>
+  <div id="resumeForm">
+    <el-row>
+      <el-col :span="24" class="resumeForm">
+        <el-form ref="form" :model="form" label-width="170px">
+          <el-form-item label="简历名称">
+            <el-input v-model="form.title" placeholder="请输入简历名称"></el-input>
+          </el-form-item>
+          <el-form-item label="上传图片">
+            <el-upload
+              class="upload-demo"
+              action="https://jsonplaceholder.typicode.com/posts/"
+              :on-preview="handlePreview"
+              :on-remove="handleRemove"
+              :before-remove="beforeRemove"
+              multiple
+              :limit="1"
+              :file-list="fileList"
+            >
+              <el-button size="small" type="primary">点击上传</el-button>
+            </el-upload>
+          </el-form-item>
+          <el-form-item label="姓名">
+            <el-input v-model="form.name" placeholder="请输入姓名"></el-input>
+          </el-form-item>
+          <el-form-item label="性别" prop="age">
+            <el-select v-model="form.age" placeholder="请选择性别">
+              <el-option label="男" value="man"></el-option>
+              <el-option label="女" value="woman"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="民族" prop="minzu">
+            <el-select v-model="form.minzu" placeholder="请选择民族">
+              <el-option label="汉族" value="man"></el-option>
+              <el-option label="满族" value="woman"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="出生日期">
+            <el-col :span="24">
+              <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;"></el-date-picker>
+            </el-col>
+          </el-form-item>
+          <el-form-item label="婚姻状况" prop="hyzk">
+            <el-select v-model="form.hyzk" placeholder="请选择婚姻状况">
+              <el-option label="未婚" value="man"></el-option>
+              <el-option label="已婚" value="woman"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="户口所在地">
+            <el-input v-model="form.hkszd" placeholder="户口所在地"></el-input>
+          </el-form-item>
+          <el-form-item label="身份证号码">
+            <el-input v-model="form.sfzh" placeholder="请输入身份证号码"></el-input>
+          </el-form-item>
+          <el-form-item label="地址">
+            <el-input v-model="form.address" placeholder="地址"></el-input>
+          </el-form-item>
+          <el-form-item label="学历" prop="xueli">
+            <el-select v-model="form.xueli" placeholder="请选择学历">
+              <el-option label="本科" value="man"></el-option>
+              <el-option label="中专" value="woman"></el-option>
+              <el-option label="大专" value="man"></el-option>
+              <el-option label="研究生" value="man"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="联系电话">
+            <el-input v-model="form.tel" placeholder="请输入联系电话"></el-input>
+          </el-form-item>
+          <el-form-item label="电子邮件">
+            <el-input v-model="form.email" placeholder="请输入电子邮件"></el-input>
+          </el-form-item>
+          <el-form-item label="工作性质" prop="xizngzhi">
+            <el-select v-model="form.xizngzhi" placeholder="请选择工作性质">
+              <el-option label="兼职" value="man"></el-option>
+              <el-option label="全职" value="woman"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="请选择期望职业" prop="jobs">
+            <el-select v-model="form.xizngzhi" placeholder="请选择期望职业">
+              <el-option label="IT" value="man"></el-option>
+              <el-option label="制造" value="woman"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="工作地点">
+            <el-input v-model="form.jobsAddress" placeholder="请输入工作地点(多个地点使用'/'分割)"></el-input>
+          </el-form-item>
+          <el-form-item label="薪资要求" prop="xinzi">
+            <el-select v-model="form.xinzi" placeholder="请选择薪资要求">
+              <el-option label="2000-3999" value="man"></el-option>
+              <el-option label="面议" value="man"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="目前状况" prop="mqzk">
+            <el-select v-model="form.mqzk" placeholder="请选择目前状况">
+              <el-option label="我已经离职(可随时到岗)" value="man"></el-option>
+              <el-option label="我对当前工作不满意,可随时离职(一个月到岗)" value="man"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="工作经验" prop="jingli">
+            <el-select v-model="form.jingli" placeholder="请选择工作经验">
+              <el-option label="一年" value="man"></el-option>
+              <el-option label="两年" value="woman"></el-option>
+              <el-option label="三年" value="man"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="工作经历">
+            <el-input type="textarea" v-model="form.gzjl" placeholder="工作经历"></el-input>
+          </el-form-item>
+          <el-form-item label="自我简介">
+            <el-input type="textarea" v-model="form.gzjl" placeholder="自我简介"></el-input>
+          </el-form-item>
+          <el-form-item label="教育经历">
+            <el-input type="textarea" v-model="form.gzjl" placeholder="教育经历"></el-input>
+          </el-form-item>
+          <el-form-item label="语言技能">
+            <el-input type="textarea" v-model="form.gzjl" placeholder="语言技能"></el-input>
+          </el-form-item>
+          <el-form-item label="专业技能">
+            <el-input type="textarea" v-model="form.gzjl" placeholder="专业技能"></el-input>
+          </el-form-item>
+          <el-form-item label="兴趣爱好">
+            <el-input type="textarea" v-model="form.gzjl" placeholder="兴趣爱好"></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-button @click="handleCancel">取消</el-button>
+            <el-button type="primary" @click="handleEdit">提交</el-button>
+          </el-form-item>
+        </el-form>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'resumeForm',
+  props: {
+    form: null,
+  },
+  components: {},
+  data: () => ({
+    fileList: [],
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    handleEdit() {
+      this.handleCancel();
+    },
+    handleCancel() {
+      this.$router.push({ path: './index' });
+    },
+    handleRemove(file, fileList) {
+      console.log(file, fileList);
+    },
+    handlePreview(file) {
+      console.log(file);
+    },
+    beforeRemove(file, fileList) {
+      return this.$confirm(`确定移除 ${file.name}?`);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.el-form {
+  padding: 0 200px;
+}
+.resumeForm {
+  padding: 20px 0;
+}
+</style>

+ 55 - 0
src/layout/personnel/resumeSearch.vue

@@ -0,0 +1,55 @@
+<template>
+  <div id="resumeSearch">
+    <el-row>
+      <el-col :span="24" class="resumeSearch">
+        <el-col :span="6" class="left">
+          <span>根据学历寻找:</span>
+          <el-input v-model="input" placeholder="请输入学历"></el-input>
+        </el-col>
+        <el-col :span="6" class="left">
+          <span>根据工作性质寻找:</span>
+          <el-input v-model="input" placeholder="请输入工作性质"></el-input>
+        </el-col>
+        <el-col :span="6" class="left">
+          <span>根据职业寻找:</span>
+          <el-input v-model="input" placeholder="请输入职业名称"></el-input>
+        </el-col>
+        <el-col :span="6" class="right">
+          <el-button size="mini" type="primary" icon="el-icon-search">查询</el-button>
+          <el-button size="mini" type="success" icon="el-icon-check" @click="addData()">添加职业类型</el-button>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'resumeSearch',
+  props: {},
+  components: {},
+  data: () => ({
+    input: '',
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    addData() {
+      this.$router.push({ path: './detail' });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.resumeSearch .left span {
+  font-size: 13px;
+  color: #393939;
+}
+.resumeSearch .left .el-input {
+  width: 50%;
+}
+/deep/.resumeSearch .left .el-input .el-input__inner {
+  height: 28px;
+}
+</style>

+ 1 - 1
src/layout/personnel/searchInfo.vue

@@ -8,7 +8,7 @@
         </el-col>
         <el-col :span="6" class="right">
           <el-button size="mini" type="primary" icon="el-icon-search">查询</el-button>
-          <el-button size="mini" type="success" icon="el-icon-check" @click="addData()">添加用户</el-button>
+          <el-button size="mini" type="success" icon="el-icon-check" @click="addData()">添加职业类型</el-button>
         </el-col>
       </el-col>
     </el-row>

+ 60 - 0
src/layout/personnel/typeForm.vue

@@ -0,0 +1,60 @@
+<template>
+  <div id="typeForm">
+    <el-row>
+      <el-col :span="24" class="typeForm">
+        <el-form ref="form" :model="form" label-width="160px">
+          <el-form-item label="职业类型名称">
+            <el-input v-model="form.title" placeholder="请输入供需分类名称"></el-input>
+          </el-form-item>
+          <el-form-item label="职业类型编码">
+            <el-input v-model="form.bianma" placeholder="请输入供需类别编码"></el-input>
+          </el-form-item>
+          <el-form-item label="请选择职业类型父类型" prop="fuBianma">
+            <el-select v-model="form.fuBianma" placeholder="请选择职业类型父类型">
+              <el-option label="我是顶级分类" value="man"></el-option>
+              <el-option label="VR" value="woman"></el-option>
+              <el-option label="MR" value="man"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="职业类型简介说明" prop="content">
+            <el-input type="textarea" v-model="form.content" placeholder="请输入职业类型简介说明"></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-button @click="handleCancel">返回</el-button>
+            <el-button type="primary" @click="handleEdit()">提交</el-button>
+          </el-form-item>
+        </el-form>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'typeForm',
+  props: {
+    form: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {
+    handleEdit() {
+      this.handleCancel();
+    },
+    handleCancel() {
+      this.$router.push({ path: './index' });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.el-form {
+  padding: 0 200px;
+}
+.typeForm {
+  padding: 20px 0;
+}
+</style>

+ 4 - 0
src/router/index.js

@@ -243,6 +243,10 @@ export default new Router({
       path: '/personnel/resume/index',
       component: () => import('../views/personnel/resume/index.vue'),
     },
+    {
+      path: '/personnel/resume/detail',
+      component: () => import('../views/personnel/resume/detail.vue'),
+    },
     // 科技人才-就业指导信息管理
     {
       path: '/personnel/guidance/index',

+ 45 - 0
src/views/personnel/resume/detail.vue

@@ -0,0 +1,45 @@
+<template>
+  <div id="detail">
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="top">
+          <topInfo :topTitle="topTitle"></topInfo>
+        </el-col>
+        <el-col :span="24" class="main">
+          <resumeForm :form="form"></resumeForm>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import topInfo from '@/layout/public/top.vue';
+import resumeForm from '@/layout/personnel/resumeForm.vue';
+export default {
+  name: 'detail',
+  props: {},
+  components: {
+    topInfo, //头部标题
+    resumeForm, //新闻信息form
+  },
+  data: () => ({
+    topTitle: '简历添加',
+    form: {},
+  }),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.top {
+  height: 40px;
+  background-color: #f5f5f5;
+}
+.main {
+  width: 97%;
+  margin: 0 15px;
+}
+</style>

+ 62 - 4
src/views/personnel/resume/index.vue

@@ -1,19 +1,77 @@
 <template>
   <div id="index">
-    <p>index</p>
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="top">
+          <topInfo :topTitle="topTitle"></topInfo>
+        </el-col>
+        <el-col :span="24" class="search">
+          <resumeSearch></resumeSearch>
+        </el-col>
+        <el-col :span="24" class="main">
+          <resumeData :tableData="tableData"></resumeData>
+        </el-col>
+      </el-col>
+    </el-row>
   </div>
 </template>
 
 <script>
+import topInfo from '@/layout/public/top.vue';
+import resumeSearch from '@/layout/personnel/resumeSearch.vue';
+import resumeData from '@/layout/personnel/resumeData.vue';
+
 export default {
   name: 'index',
   props: {},
-  components: {},
-  data: () => ({}),
+  components: {
+    topInfo, //头部标题
+    resumeSearch, //头部搜索
+    resumeData, //信息列表
+  },
+  data: () => ({
+    topTitle: '简历管理',
+    tableData: [
+      {
+        title: '路人甲简历',
+        name: '路人甲',
+        edu: '其他',
+        xingzhi: '兼职',
+        jobs: '计算机',
+        xinzi: '2000-3999',
+        mqzk: '我已经离职(随时到岗)',
+        date: '2019-01-14',
+      },
+      {
+        title: '十条数据',
+        name: '路人甲',
+        edu: '其他',
+        xingzhi: '兼职',
+        jobs: '计算机',
+        xinzi: '2000-3999',
+        mqzk: '我已经离职(随时到岗)',
+        date: '2019-01-14',
+      },
+    ],
+  }),
   created() {},
   computed: {},
   methods: {},
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.top {
+  height: 40px;
+  background-color: #f5f5f5;
+}
+.search {
+  height: 40px;
+  line-height: 40px;
+  padding: 0 15px;
+}
+.main {
+  width: 97%;
+  margin: 0 15px;
+}
+</style>

+ 30 - 4
src/views/personnel/type/detail.vue

@@ -1,19 +1,45 @@
 <template>
   <div id="detail">
-    <p>detail</p>
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="top">
+          <topInfo :topTitle="topTitle"></topInfo>
+        </el-col>
+        <el-col :span="24" class="main">
+          <typeForm :form="form"></typeForm>
+        </el-col>
+      </el-col>
+    </el-row>
   </div>
 </template>
 
 <script>
+import topInfo from '@/layout/public/top.vue';
+import typeForm from '@/layout/personnel/typeForm.vue';
 export default {
   name: 'detail',
   props: {},
-  components: {},
-  data: () => ({}),
+  components: {
+    topInfo, //头部标题
+    typeForm, //新闻信息form
+  },
+  data: () => ({
+    topTitle: '职业类型添加',
+    form: {},
+  }),
   created() {},
   computed: {},
   methods: {},
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.top {
+  height: 40px;
+  background-color: #f5f5f5;
+}
+.main {
+  width: 97%;
+  margin: 0 15px;
+}
+</style>