xtz 4 lat temu
rodzic
commit
7c0d897e56

+ 141 - 5
src/views/candidateManage/candidateList.vue

@@ -8,7 +8,7 @@
 -->
 <template>
 <div class="candidateList">
-    <v-input :btn="(isCollapse==1?btn1:isCollapse===2?btn2:isCollapse===3?btn3:btn0).slice(0, 1)" :list="list" :key="isCollapse+3" @del="delAll" @search="search" @through="throughAll" @notice="noticeAll" @eliminate="eliminateAll" @undetermined="undeterminedAll" @sendMail="sendMailAll"></v-input>
+    <v-input :btn="(isCollapse==1?btn1:isCollapse===2?btn2:isCollapse===3?btn3:btn0).slice(0, 1)" :list="isCollapse?list1:list" :key="isCollapse+3" @del="delAll" @search="search" @through="throughAll" @notice="noticeAll" @eliminate="eliminateAll" @undetermined="undeterminedAll" @sendMail="sendMailAll"></v-input>
     <el-radio-group v-model="isCollapse" size="medium" style="margin-bottom: 20px;" fill="#00a0e9">
         <el-radio-button :label="0">候选人列表</el-radio-button>
         <el-radio-button :label="1">已通过候选人</el-radio-button>
@@ -16,7 +16,7 @@
         <el-radio-button :label="3">待定候选人</el-radio-button>
         <el-radio-button :label="4">已评分</el-radio-button>
     </el-radio-group><br />
-    <el-dropdown v-if="table.button" @command="dropdownMethods">
+    <el-dropdown v-if="table.button && isCollapse !== 4" @command="dropdownMethods">
         <el-button style="background: #00a0e9;border-color:#00a0e9;color:#fff">
             更多操作<i class="el-icon-arrow-down el-icon--right"></i>
         </el-button>
@@ -25,7 +25,7 @@
         </el-dropdown-menu>
     </el-dropdown>
     <div style="height:20px"></div>
-    <v-table :key="isCollapse" :table="isCollapse===1?table1:isCollapse===2?table2:isCollapse===3?table3:table" :tableList="tableList" :sortType="true" :form="searchForm" :queryData="queryData" @score="score" @details="details" @eliminate="eliminate" @through="through" @notice="notice" @del="del" @undetermined="undetermined" @openDia="openDia" @update="update" @selection-change="selection" @sendMail="sendMail" id="id" :all="true"></v-table>
+    <v-table :key="isCollapse" :table="isCollapse===1?table1:isCollapse===2?table2:isCollapse===3?table3:table" :tableList="tableList" :sortType="true" :form="searchForm" :queryData="queryData" @score="score" @details="details" @eliminate="eliminate" @through="through" @notice="notice" @del="del" @undetermined="undetermined" @openDia="openDia" @update="update" @selection-change="selection" @sendMail="sendMail" @sendScoreMail="sendScoreMail" id="id" :all="true"></v-table>
     <v-pager @page="callPage" :total="totalrecords"></v-pager>
     <el-dialog :visible.sync="dialogFormVisible" width="600px" :before-close="close" :close-on-click-modal="false">
         <el-form :model="form" ref="form" label-width="140px" :rules="rules" label-position="left">
@@ -242,6 +242,105 @@ export default {
           ]
         },
         {
+          type: 'select',
+          placeholder: '评分状态',
+          props: 'hasScore',
+          options: [{
+            label: '全部',
+            value: null
+          }, {
+            label: '已评分',
+            value: 1
+          }, {
+            label: '未评分',
+            value: 0
+          }]
+        },
+        // {
+        //   type: 'select',
+        //   placeholder: '邮件状态',
+        //   props: '',
+        //   options: [{
+        //     label: '全部',
+        //     value: null
+        //   }, {
+        //     label: '已发送',
+        //     value: 1
+        //   }, {
+        //     label: '未发送',
+        //     value: 0
+        //   }]
+        // },
+        {
+          type: 'date'
+        }
+      ],
+      list1: [
+        {
+          placeholder: '请输入关键字查询',
+          props: 'condition'
+        },
+        {
+          type: 'select',
+          placeholder: '性别',
+          props: 'delivererSex',
+          options: [{
+            label: '全部',
+            value: null
+          }, {
+            label: '男',
+            value: 1
+          }, {
+            label: '女',
+            value: 0
+          }]
+        },
+        {
+          type: 'select',
+          placeholder: '来源',
+          props: 'resumeFrom',
+          options: [{
+            label: '全部',
+            value: null
+          },
+          {
+            label: '51job',
+            value: 0
+          },
+          {
+            label: '智联',
+            value: 1
+          },
+          {
+            label: '58同城',
+            value: 2
+          },
+          {
+            label: '平台',
+            value: 3
+          },
+          {
+            label: 'boss直聘',
+            value: 4
+          }
+          ]
+        },
+        // {
+        //   type: 'select',
+        //   placeholder: '邮件状态',
+        //   props: '',
+        //   options: [{
+        //     label: '全部',
+        //     value: null
+        //   }, {
+        //     label: '已发送',
+        //     value: 1
+        //   }, {
+        //     label: '未发送',
+        //     value: 0
+        //   }]
+        // },
+        {
           type: 'date'
         }
       ],
@@ -384,7 +483,8 @@ export default {
           },
           {
             label: '评分状态',
-            props: ''
+            props: 'hasScore',
+            options: ['未打分', '已打分']
           }
         ],
         width: 150,
@@ -699,7 +799,10 @@ export default {
       let page = this.page
       this.searchForm = form
       let reqdata = form
-      reqdata.interviewResult = this.isCollapse
+      console.log(reqdata)
+      reqdata.interviewResult = this.isCollapse === 4 ? null : this.isCollapse
+      this.isCollapse !== 0 && (reqdata.hasScore = null)
+      this.isCollapse === 4 && (reqdata.hasScore = 1)
       reqdata.isPass = 1
       reqdata.isSendInviteMail = 1
       this.$api
@@ -974,6 +1077,25 @@ export default {
         })
       }
     },
+    sendScoreMail ({ id }) {
+      console.log(11)
+      this.$api
+        .post('/resumeScore/sendResumeScoreMail', {
+          reqdata: {
+            type: 3,
+            resumeId: id
+          }
+        })
+        .then((res) => {
+          this.$alert('邮件正在发送中,请耐心等待!', '发送结果', {
+            confirmButtonText: '确定',
+            callback: action => {}
+          })
+          // this.errorlist = res.object.sendMailFailList.map(item => {
+          //   return item.id
+          // })
+        })
+    },
     open () {
       this.dialogFormVisible = true
     },
@@ -1057,6 +1179,20 @@ export default {
           }
         ]
       )
+      this.isCollapse === 4 && this.$set(this.table, 'handle',
+        [
+          {
+            title: '编辑',
+            method: 'score',
+            type: 'info'
+          },
+          {
+            title: '邮件通知',
+            method: 'sendScoreMail',
+            type: 'success'
+          }
+        ]
+      )
     },
     pickList () {
       this.copyPickList = Array.from(this.pickList)

+ 24 - 1
src/views/candidateManage/resume.vue

@@ -315,7 +315,24 @@ export default {
               return item
             })
           // console.log(this.resumeScore)
-          const list = this.interviewScore
+          const list = [
+            {
+              label: '个人介绍',
+              value: 0
+            },
+            {
+              label: '自我评价',
+              value: 0
+            },
+            // {
+            //   label: '问题',
+            //   value: 0
+            // },
+            {
+              label: '其他',
+              value: 0
+            }
+          ]
           this.interviewScore = interviewScore
             ? JSON.parse(interviewScore)
             : (() => {
@@ -330,6 +347,7 @@ export default {
                 )
               }
               list.splice(2, 0, ...arr)
+              console.log(list)
               return list.map(item => {
                 item.value = 0
                 return item
@@ -356,6 +374,7 @@ export default {
       this.$api
         .post(url, {
           reqdata: {
+            id: scoreId,
             ...score,
             resumeId: this.info.id,
             interviewScore: JSON.stringify(interviewScore),
@@ -366,6 +385,10 @@ export default {
         .then((res) => {
           this.close()
           this.queryData(this.searchForm)
+          this.$message({
+            type: 'success',
+            message: '评分成功!'
+          })
         })
     },
     changeScore (index, val, arr) {