徐桐章 преди 4 години
родител
ревизия
22335c8f31
променени са 3 файла, в които са добавени 207 реда и са изтрити 12 реда
  1. 123 4
      src/views/candidateManage/candidateList.vue
  2. 6 6
      src/views/candidateManage/resumeList.vue
  3. 78 2
      src/views/companyManage/templateManage.vue

+ 123 - 4
src/views/candidateManage/candidateList.vue

@@ -4,12 +4,12 @@
  * @Autor: XuTongZhang
  * @Date: 2020-07-28 15:25:06
  * @LastEditors: XuTongZhang
- * @LastEditTime: 2020-08-12 18:01:05
+ * @LastEditTime: 2020-08-13 13:55:51
 -->
 <template>
   <div class="candidateList">
     <v-input
-      :btn="isCollapse?isCollapse===1?btn1:btn2:btn0"
+      :btn="isCollapse==1?btn1:isCollapse===2?btn2:isCollapse===3?btn3:btn0"
       :list="list"
       :key="isCollapse+3"
       @del="delAll"
@@ -17,15 +17,17 @@
       @through="throughAll"
       @notice="noticeAll"
       @eliminate="eliminateAll"
+      @undetermined="undeterminedAll"
     ></v-input>
     <el-radio-group v-model="isCollapse" size="medium" style="margin-bottom: 20px;">
       <el-radio-button :label="0">候选人列表</el-radio-button>
       <el-radio-button :label="1">已通过候选人</el-radio-button>
       <el-radio-button :label="2">已淘汰候选人</el-radio-button>
+      <el-radio-button :label="3">待定候选人</el-radio-button>
     </el-radio-group>
     <v-table
       :key="isCollapse"
-      :table="isCollapse===2?table2:table"
+      :table="isCollapse===2?table2:isCollapse===3?table3:table"
       :tableList="tableList"
       :sortType="true"
       :form="searchForm"
@@ -35,6 +37,7 @@
       @through="through"
       @notice="notice"
       @del="del"
+      @undetermined="undetermined"
       @openDia="openDia"
       @selection-change="selection"
       id="id"
@@ -181,6 +184,11 @@ export default {
           name: '标记淘汰',
           type: 'danger',
           method: 'eliminate'
+        },
+        {
+          name: '标记待定',
+          type: 'danger',
+          method: 'undetermined'
         }
       ],
       btn1: [
@@ -212,6 +220,23 @@ export default {
           method: 'del'
         }
       ],
+      btn3: [
+        {
+          name: '确定',
+          type: 'primary',
+          method: 'search'
+        },
+        {
+          name: '标记通过',
+          type: 'success',
+          method: 'through'
+        },
+        {
+          name: '标记淘汰',
+          type: 'danger',
+          method: 'eliminate'
+        }
+      ],
       table: {
         selection: true,
         column: [
@@ -267,7 +292,7 @@ export default {
             props: 'confirmInterviewTime'
           }
         ],
-        width: 360,
+        width: 400,
         handle: [
           {
             title: '查看简历',
@@ -288,6 +313,11 @@ export default {
             title: '标记淘汰',
             method: 'eliminate',
             type: 'danger'
+          },
+          {
+            title: '标记待定',
+            method: 'eliminate',
+            type: 'danger'
           }
         ]
       },
@@ -359,6 +389,72 @@ export default {
             type: 'danger'
           }
         ]
+      },
+      table3: {
+        selection: true,
+        column: [
+          {
+            label: '编号',
+            props: 'id'
+          },
+          {
+            label: '姓名',
+            props: 'delivererName'
+          },
+          {
+            label: '性别',
+            props: 'delivererSex',
+            options: ['女', '男']
+          },
+          {
+            label: '简历来源',
+            props: 'resumeFrom',
+            options: ['51job', '智联招聘', '58同城']
+          },
+          {
+            label: '简历投递职位',
+            props: 'positionApplied'
+          },
+          {
+            label: '面试应聘职位',
+            props: 'desiredPositionId'
+          },
+          {
+            label: '工作年限',
+            props: 'delivererWorkExp'
+          },
+          {
+            label: '学历',
+            props: 'delivererEducation'
+          },
+          {
+            label: '联系电话',
+            props: 'delivererPhone'
+          }
+        ],
+        width: 350,
+        handle: [
+          {
+            title: '查看简历',
+            method: 'details',
+            type: 'info'
+          },
+          {
+            title: '查看视频',
+            method: 'openDia',
+            type: 'info'
+          },
+          {
+            title: '标记通过',
+            method: 'through',
+            type: 'success'
+          },
+          {
+            title: '标记淘汰',
+            method: 'eliminate',
+            type: 'danger'
+          }
+        ]
       }
     }
   },
@@ -523,6 +619,24 @@ export default {
         ? this.del(this.pickList, true)
         : this.$message({ type: 'info', message: '请选择需要删除的内容' })
     },
+    undetermined (row, type = false) {
+      let ids = type ? row : [row.id]
+      let resumeInfoStatusList = ids.map(item => ({ id: item, isPass: 3 }))
+      this.$api
+        .post('/resumeInfo/changeInterviewResult', {
+          reqdata: {
+            resumeInfoStatusList
+          }
+        })
+        .then((res) => {
+          this.queryData(this.searchForm)
+        })
+    },
+    undeterminedAll () {
+      this.pickList.length
+        ? this.undetermined(this.pickList, true)
+        : this.$message({ type: 'info', message: '请选择待定的应聘者' })
+    },
     selection (val) {
       this.$set(this.$data, 'pickList', val)
     },
@@ -589,6 +703,11 @@ export default {
               title: '标记淘汰',
               method: 'eliminate',
               type: 'danger'
+            },
+            {
+              title: '标记待定',
+              method: 'eliminate',
+              type: 'danger'
             }
           ]
         )

+ 6 - 6
src/views/candidateManage/resumeList.vue

@@ -4,7 +4,7 @@
  * @Autor: XuTongZhang
  * @Date: 2020-07-30 09:53:19
  * @LastEditors: XuTongZhang
- * @LastEditTime: 2020-08-12 15:35:50
+ * @LastEditTime: 2020-08-13 13:55:11
 -->
 <template>
   <div class="indexPage">
@@ -600,11 +600,11 @@ export default {
                   method: 'details',
                   type: 'info'
                 },
-                {
-                  title: '通知面试',
-                  method: 'notice',
-                  type: 'success'
-                },
+                // {
+                //   title: '通知面试',
+                //   method: 'notice',
+                //   type: 'success'
+                // },
                 {
                   title: '标记通过',
                   method: 'through',

+ 78 - 2
src/views/companyManage/templateManage.vue

@@ -4,7 +4,7 @@
  * @Autor: XuTongZhang
  * @Date: 2020-07-28 16:28:13
  * @LastEditors: XuTongZhang
- * @LastEditTime: 2020-08-11 15:48:06
+ * @LastEditTime: 2020-08-13 11:21:52
 -->
 <template>
   <div class="indexPage">
@@ -17,6 +17,7 @@
       @details="details"
       @editor="editor"
       @del="del"
+      @qrCode="qrCode"
     ></v-table>
     <v-pager @page="callPage" :total="totalrecords"></v-pager>
     <el-dialog :visible.sync="dialogFormVisible" :before-close="close" :close-on-click-modal="false">
@@ -75,6 +76,39 @@
         <el-button type="primary" v-if="state!==2" @click="determine">确 定</el-button>
       </div>
     </el-dialog>
+    <el-dialog :visible.sync="dialogVisible" width="650px" :before-close="closeDia" :close-on-click-modal="false">
+      <el-form :model="codeForm" ref="form" label-width="200px" :rules="rules" label-position="left">
+        <el-form-item label="二维码名称" prop="templateName">
+          <el-input v-model="codeForm.templateName" placeholder="请输入模板名称" autocomplete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="二维码有效期" prop="templateIntroduce">
+          <el-date-picker
+            v-model="codeForm"
+            type="daterange"
+            align="right"
+            unlink-panels
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            :picker-options="pickerOptions">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="二维码状态" prop="isDisable">
+          <el-radio-group v-if="state!==2" v-model="codeForm.isDisable">
+            <el-radio :label="1">启用中</el-radio>
+            <el-radio :label="0">禁用中</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <div class="flex">
+          <el-button>生成二维码</el-button>
+        </div>
+        <el-image
+          style="width: 100px; height: 100px"
+          :src="url"
+          :preview-src-list="[url]">
+        </el-image>
+      </el-form>
+    </el-dialog>
   </div>
 </template>
 
@@ -85,9 +119,11 @@ export default {
       tableList: [],
       page: 1,
       totalrecords: 0,
+      dialogVisible: false,
       dialogFormVisible: false,
       state: 0,
       form: {},
+      codeForm: {},
       pickList: [],
       downList0: [],
       downList1: [],
@@ -149,10 +185,37 @@ export default {
           },
           {
             title: '二维码',
-            method: '',
+            method: 'qrCode',
             type: 'info'
           }
         ]
+      },
+      pickerOptions: {
+        shortcuts: [{
+          text: '最近一周',
+          onClick (picker) {
+            const end = new Date()
+            const start = new Date()
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
+            picker.$emit('pick', [start, end])
+          }
+        }, {
+          text: '最近一个月',
+          onClick (picker) {
+            const end = new Date()
+            const start = new Date()
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
+            picker.$emit('pick', [start, end])
+          }
+        }, {
+          text: '最近三个月',
+          onClick (picker) {
+            const end = new Date()
+            const start = new Date()
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
+            picker.$emit('pick', [start, end])
+          }
+        }]
       }
     }
   },
@@ -248,6 +311,9 @@ export default {
           this.queryData()
         })
     },
+    qrCode (row) {
+      this.openDia()
+    },
     open () {
       this.dialogFormVisible = true
     },
@@ -255,6 +321,12 @@ export default {
       this.dialogFormVisible = false
       this.form = {}
     },
+    openDia () {
+      this.dialogVisible = true
+    },
+    closeDia () {
+      this.dialogVisible = false
+    },
     callPage (val) {
       this.page = val
       this.queryData()
@@ -278,4 +350,8 @@ export default {
   justify-content: center;
   align-items: center;
 }
+.flex {
+  display: flex;
+  justify-content: center;
+}
 </style>