<template>
  <div class="box">
    <el-page-header @back="$router.go(-1)" :content="title" class="header"></el-page-header>
    <div class="mian">
      <el-form :model="datas" ref="datas" label-width="120px" class="demo-ruleForm" v-loading="loading">
        <el-form-item label="月份绩效" prop="month" :rules="[{required: true, message: '请选择月份', trigger: 'change' }]" style="margin-bottom: 0px;">
            <el-date-picker v-model="datas.month" type="month" :disabled="!!$route.query.package_id" placeholder="选择月" value-format="yyyy-MM" style="width: 100%;" />
            <span style="color:#268DEC;cursor:pointer;" @click="thePerformance(datas.month)">沿用往期的月绩效继续考核</span>
        </el-form-item>
        <el-form-item label="执行人" prop="employee_id" v-if="!$route.query.package_id" :rules="[{ required: true, message: '请选择执行人', trigger: 'change' }]">
          <div class="border2 flex-box flex-v-ce" @click="add_employee_show = true">
            <div class="flex-1 fontColorF" v-if="selectEmployee.employee.length == 0">请选择执行人</div>
            <div class="flex-1" v-if="selectEmployee.employee.length > 0">
              <span v-for="(item,index) in selectEmployee.employee" :key="index"><i v-if="index != 0">，</i><WWOpenData type="userName" :openid="item.name"></WWOpenData></span>
            </div>
            <i class="el-icon-arrow-down icon-right"></i>
          </div>
          <div @click="executorNullFun" v-show="executorNullShow" class="executorNull"></div>
          <div @click="manageNullFun" v-show="manageNullShow" class="executorNull"></div>
        </el-form-item>
        <el-form-item label="执行人" v-if="$route.query.package_id" :rules="[{required: true, message: '请选择月份', trigger: 'change' }]">
          <div class="border2 flex-box flex-v-ce" style="background-color:#F5F7FA;color:#C0C4CC; cursor:not-allowed;">
            <div class="flex-1"><WWOpenData  type="userName" :openid="employee_name"></WWOpenData></div>
          </div>
          <!-- <el-input v-model="employee_name" disabled required ></el-input> -->
        </el-form-item>
        <el-form-item label="月平衡分" prop="base_point" :rules="[{required: true, message: '请输入月平衡分', trigger: 'blur' },{ type: 'number', message: '月平衡分必须为数字值'}]">
          <span slot="label">月平衡分
            <el-tooltip placement="top" style="margin-right: 5px;">
              <div slot="content">任务按预期完成可得月平衡分，最终得分根据实际情况上下浮动。</div>
              <span class="tips">?</span>
            </el-tooltip>
          </span>
          <el-input placeholder="请输入内容" v-model.number="datas.base_point" type="Number"></el-input>
        </el-form-item>
        <el-form-item label="终审人" prop="reviewer_id" :rules="[{ required: true, message: '请选择终审人', trigger: 'change' }]">
          <span slot="label">终审人
            <el-tooltip placement="top" style="margin-right: 5px;">
              <div slot="content">建议部门经理或人事主管作为月绩效评审人。</div>
              <span class="tips">?</span>
            </el-tooltip>
          </span>
          <div class="border flex-box flex-v-ce" @click="add_reviewer_show = true">
            <div class="flex-1 fontColorF" v-if="selectReviewer.employee.length == 0">请选择</div>
            <div class="flex-1" v-else><WWOpenData type="userName" :openid="selectReviewer.employee[0].name"></WWOpenData></div>
            <i class="el-icon-arrow-down"></i>
          </div>
        </el-form-item>
        <el-form-item label="监察员" prop="notice_ids">
          <span slot="label">监察员
            <el-tooltip placement="top" style="margin-right: 5px;">
              <div slot="content">监察员可查看此员工的月绩效，参与月终的绩效评审。</div>
              <span class="tips">?</span>
            </el-tooltip>
          </span>
          <div class="border2 flex-box flex-v-ce" @click="add_notice_show = true">
            <div class="flex-1 fontColorF" v-if="selectNotice.employee.length == 0">请选择</div>
            <div class="flex-1" v-else>
              <span v-for="(item,index) in selectNotice.employee" :key="index"><i v-if="index != 0">，</i><WWOpenData type="userName" :openid="item.name"></WWOpenData></span>
              </div>
            <i class="el-icon-arrow-down"></i>
          </div>
        </el-form-item>
        <el-form-item>
          <el-button style="width: 100%;" :loading="btnLoad" type="primary" v-if="!$route.query.package_id" @click="submitForm('datas')">创建</el-button>
          <el-button style="width: 100%;" :loading="btnLoad" type="primary" v-if="$route.query.package_id" @click="saveForm('datas')">保存</el-button>
        </el-form-item>
      </el-form>
    </div>
    <EmployeeSelector
      title="选择执行人"
      :visible.sync="add_employee_show"
      :employee_list="employee_list"
      :user_employee_list="true"
      :isChecKedAll="false"
      :selected="selectEmployee"
      :multi="true"
      @confirm="add_employee_confirm"
    />
    <!-- <el-dialog  title="选择执行人" :visible.sync="add_employee_show"  :before-close="publicClose"  width="700px">
      <EmployeeSelector1 :isChecKedAll="false" v-if="add_employee_show" :employee_list="employee_list" :dept_multi="false" ref="Employee" :can_select_dept="false" :selected="selectEmployee" :multi="true" :max="0" @confirm="add_employee_confirm"></EmployeeSelector1>
      <span slot="footer">
         <el-button @click="publicClose()">取消</el-button>
         <el-button type="primary" @click="sub_add_employee">完成</el-button>
       </span>
    </el-dialog> --> 
    <!-- 选择终审人 -->
        <EmployeeSelector
          title="选择终审人"
          :visible.sync="add_reviewer_show"
          :is_filtration_creator="false"
          :employee_list="selectReviewer_list"
          :user_employee_list="true"
          :isChecKedAll="false"
          :selected="selectReviewer"
          :multi="false"
          @confirm="add_employee_confirm"
      />
    <!-- <el-dialog  title="选择终审人" :visible.sync="add_reviewer_show"  :before-close="publicClose"  width="700px">
      <EmployeeSelector1 :isChecKedAll="false" v-if="add_reviewer_show" ref="Employee" :employee_list="selectReviewer_list" :can_select_dept="false" :multi="false" :selected="selectReviewer" @confirm="add_employee_confirm"></EmployeeSelector1>
       <span slot="footer">
         <el-button @click="publicClose()">取消</el-button>
         <el-button type="primary" @click="sub_add_employee">完成</el-button>
       </span>
    </el-dialog> -->

    <!-- 选择终审人 -->
      <EmployeeSelector
        title="选择监察员"
        :visible.sync="add_notice_show"
        :is_filtration_creator="false"
        :employee_not_select="employee_not_select"
        :isChecKedAll="true"
        :selected="selectNotice"
        @confirm="add_employee_confirm"
      />
    <!-- <el-dialog  title="选择监察员" :visible.sync="add_notice_show"  :before-close="publicClose"  width="700px">
      <EmployeeSelector1 :isChecKedAll="false"  v-if="add_notice_show"  ref="Employee" :selected="selectNotice" :employee_not_select="employee_not_select" :can_select_dept="false" :multi="true"  @confirm="add_employee_confirm"></EmployeeSelector1>
       <span slot="footer">
         <el-button @click="publicClose()">取消</el-button>
         <el-button type="primary" @click="sub_add_employee">完成</el-button>
       </span>
    </el-dialog> -->
 
    <el-dialog
      title="提交结果"
      :visible.sync="resultDataShow"
      :close-on-click-modal="false"
      :close-on-press-escape="false"
      :show-close="false"
      width="600px">
        <el-row style="margin-bottom: 20px">
          <el-col :span="24">
            <span class="color_green" >录入成功：{{resultData.success_count}} 条</span> / 
            <span class="color_red" >录入失败：{{resultData.fail_count}} 条</span> / 
            <span class="color_gray" >录入总数：{{resultData.total}} 条</span>
          </el-col>
        </el-row>
        
        <div>
          <el-table :data="resultData.list" border stripe>
            <el-table-column
              type="index"
              width="50">
            </el-table-column>

            <el-table-column 
              prop="target" 
              label="姓名" >
              <template slot-scope="scope">
                <span><WWOpenData type="userName" :openid="scope.row.target"></WWOpenData></span>
              </template>
            </el-table-column>

            <el-table-column 
              prop="msg" 
              label="结果">
              <template slot-scope="scope">
                <span :class="scope.row.status==1?'color_green':'color_red'">{{scope.row.msg}}</span>
              </template>
            </el-table-column>
          </el-table>
        </div>

        <el-row style="margin-top: 20px ;">
          <el-col :span="8" :offset="8" style="display:flex;">
            <el-button type="primary" @click="previous_level()" block size="medium" style="width: 100%"> 确  认 </el-button>
            <el-button type="primary" v-if="Speedy_none" @click="openDetail()" block size="medium" style="width: 100%"> 创建绩效任务 </el-button>
          </el-col>
        </el-row>
        
    </el-dialog>
    
    <el-dialog
    title="沿用往期月绩效"
    :visible.sync="dialogVisible"
    width="30%"
    :before-close="handleClose">
      <div v-loading="handleLoading">
        <span style="color:#101010;">当前要创建的月绩效考核时间为：{{thePerformanceMonth}}</span>
        <div style="font-size:16px;margin-top:10px;color:#101010;">沿用 
          <el-date-picker
          style="width:150px"
            prefix-icon=""
            :clearable="false"
            align="center"
            size="small"
            v-model="value2"
            type="month"
            value-format="yyyy-MM"
            placeholder="选择月">
          </el-date-picker>
          月绩效继续考核
        </div>

        <el-table
          ref="multipleTable"
          max-height="410"
          :data="tableData"
          tooltip-effect="dark"
          style="width: 100%"
          @selection-change="handleSelectionChange"
          v-loading="thePerformanceLoad"
          @select-all="handleSelectionSelect"
          @cell-click="handleSelectionClick"
        >
          <el-table-column
            type="selection"
            width="55">
          </el-table-column>
          <el-table-column
            label="全选">
            <template slot-scope="scope">
              <span class="fl">
                <userImage
                  :id="scope.row.id"
                  width="40px"
                  height="40px"
                  :user_name="scope.row.name"
                ></userImage>
              </span>
              <span
                style="margin-left: 20px; line-height: 40px; display: inline-block;"
                ><WWOpenData type="userName" :openid="scope.row.name"></WWOpenData></span
              >
            </template>
          </el-table-column>
        </el-table>

        <div style="margin-top:14px;">
          <el-switch
            v-model="thePerformanceLoadSwitch"
            active-color="#13ce66"
            inactive-color="#dcdee4">
          </el-switch>
          <span style="color:#101010;">复制选中人员的绩效工作指标来继续考核</span>
        </div>
        <div slot="footer" class="dialog-footer" style="margin:30px 0 0 0;display:flex;justify-content: flex-end;">
          <el-button @click="thePerformanceCancel">取 消</el-button>
          <el-button type="primary" :disabled="tPfdisabled" @click="thePerformanceSubmitted">确 定</el-button>
        </div>
      </div>
    </el-dialog>
    
      <!-- @close='error_list_SX' -->
    <el-dialog
      title="创建结果"
      :visible.sync="error_list_show"
      :append-to-body='true'
      width="700px">
      <el-table :data="error_list">
        <el-table-column prop="target" label="姓名">
          <template slot-scope="scope">
            <WWOpenData type="userName" :openid="scope.row.target"></WWOpenData>
          </template>
        </el-table-column>
        <el-table-column prop="status" label="状态">
          <template slot-scope="scope">
            <span :style="'color:'+(scope.row.status==0?'#f70000':'#47bf47')">{{scope.row.status==0?'创建失败':'创建成功'}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="msg" label="备注信息"></el-table-column>
      </el-table>
    </el-dialog>

  </div>
</template>

<script>
// import EmployeeSelector1 from '@/views/common/EmployeeSelector1'
import EmployeeSelector from '@/views/common/EmployeeSelector';
export default {
  name: 'add_team_performance',
  components:{EmployeeSelector},
  data() {
    return {
      error_list:[],
      error_list_show:false,//请求完成的窗口
      tPfdisabled:true,//按钮是否禁用
      handleLoading:false,//确定时loading
      thePerformanceLoadSwitch:false,//开关
      value2:'',
      thePerformanceLoad:false,//沿用绩效loading
      tableData:[],//沿用绩效表数据
      thePerformanceMonth:'',
      dialogVisible:false,//沿用往期月绩效是否关闭

      Speedy_none:false,//控制快捷按钮的显示隐藏
      open_Detail:{},//跳转到绩效任务的存值

      title: '创建月绩效',
      btnLoad:false,
      userId: this.$store.getters.user_info.id,
      employee_map: this.$store.getters.employee_map?window.plus?JSON.parse(plus.storage.getItem('SET_EMPLOYEE_MAP')):JSON.parse(localStorage.getItem('SET_EMPLOYEE_MAP')):{},
      user_info: this.$store.getters.user_info,
      add_employee_form:false,
      datas:{
        employee_id:'',
        month:this.$moment().format('YYYY-MM'),
        base_point:0,
        reviewer_id:'',
        notice_ids:[],
      },
      employee_name: '',
      loading: false,
      // 执行人
      add_employee_show:false,
      selectEmployee:{employee: [], dept: []},
      employee_list: [],
      manage_scope: [...this.$store.getters.user_info.employee_detail.manage_scope],
      //终审人
      add_reviewer_show:false,
      selectReviewer:{employee: [], dept: []},
      selectReviewer_list: [],
      //监察员
      add_notice_show:false,
      selectNotice:{employee: [], dept: []},
      employee_not_select: [],
      dataList: [],
      resultData: {},
      resultDataShow: false,
      manageNullShow: false,
      executorNullShow: false
    };
  },
  mounted() {
    if(this.$route.query.date){
      this.datas.month = this.$route.query.date//将传入的上级日期更新
      sessionStorage.setItem("current_time",this.datas.month)
    }
    if (this.$route.query.package_id) {
      this.getDetails(this.$route.query.package_id)
    }
    if(this.$route.query.type == 2){
      this.title = '修改月绩效'
    }
    this.getData()
  },
  watch:{
    'datas.month'(val){
      this.getData()
    },
    'datas.employee_id'(val){
      let arr = []
      val.forEach(element => {
        arr.push(this.employee_map[element.employee_id].superior_list)
      });
      let arr_id = this.intersection(arr)
      this.selectReviewer_list = []
      arr_id.forEach(element => {
        this.selectReviewer_list.push({id:this.employee_map[element].id,name: this.employee_map[element].name, img_url: this.employee_map[element].img_url})
      });
    },
    // '$refs.multipleTable.selection'(val){
    //   console.log(val)
    //   console.log(this.$refs.multipleTable.selection)
    // },
    value2(val){
      this.thePerformanceData()
    }
  },
  methods: {
    //取消
    thePerformanceCancel(){
      this.dialogVisible = false
      this.handleClose_empty()
    },
    //确定
    thePerformanceSubmitted(){
      this.handleLoading = true
      let lists = this.$refs.multipleTable.selection
      let datas = []
      for(let i in lists){
        datas.push(lists[i].id)
      }
      let params = {
        employee_ids:datas,
        work:this.thePerformanceLoadSwitch?'1':'0',
        month:this.thePerformanceMonth,
        reference_month:this.value2
      }
      this.$http('post','/api/integral/performance/reference_package',params).then((res)=>{
        if(res.data.code == 1){
          // this.$message({
          //   message: res.data.msg,
          //   type: 'success'
          // });
          this.error_list = res.data.data.list
        }
      }).finally(()=>{
        this.error_list_show = true
        this.handleLoading = false
        this.dialogVisible = false
        this.handleClose_empty()
      })
    },
    lastMonth(){//获取当月的上月日期
      var date = new Date(this.thePerformanceMonth+'-01')
      var year = date.getFullYear();
      var month = date.getMonth();
      if(month == 0){
          year = year -1;
          month = 12;
      }
      if(month<10){
        month = '0'+month
      }
      return year+"-"+month;
    },
    handleSelectionSelect(selection){//全选
    },
    handleSelectionClick(row, column, cell, event){//点击行
      this.toggleSelection([row])
    },
    //点击行选中
    toggleSelection(rows) {
      if (rows) {
        rows.forEach(row => {
          this.$refs.multipleTable.toggleRowSelection(row);
        });
      } else {
        this.$refs.multipleTable.clearSelection();
      }
    },
    thePerformanceData(){
      this.thePerformanceLoad = true
      // this.$http('get','/api/integral/performance/employee/no',{month: this.value2}).then(res => {
      this.$http('get','/api/integral/performance/employee',{month: this.value2},'v3').then(res => {
        console.log(res)
        let lists = []
        for(let i in res.data.data.list){
          lists.push(res.data.data.list[i])
        }
        this.tableData = lists
      }).finally(()=>{
        this.thePerformanceLoad = false
      })
    },
    //沿用往期的月绩效继续考核
    thePerformance(month){
      this.dialogVisible = true
      this.thePerformanceMonth = month
      this.value2 = this.lastMonth()
      this.thePerformanceData()
    },
    handleSelectionChange(val) {
      if(val.length == 0){
        this.tPfdisabled = true
      }else{
        this.tPfdisabled = false
      }
      // this.multipleSelection = val;
    },
    handleClose(done) {//x关闭时
      done();
      this.handleClose_empty()
    },
    handleClose_empty(){//清空
      setTimeout(()=>{
        this.value2 = this.lastMonth();//选中月返回默认
        this.$refs.multipleTable.clearSelection();//清空用户选择
        this.thePerformanceLoadSwitch = false;
      },200)
    },
    // 点击确认返回上一级
    previous_level(){
       this.$router.go(-1)
      sessionStorage.setItem("current_time",this.open_Detail.month)//传入当前时间
    },
    // 新增： 直接跳转到创建绩效任务
    openDetail(){
      this.$router.push({
        path: '/team_detail',
        query: { date: this.open_Detail.month, employee_id: this.open_Detail.employee_id}
      });
      sessionStorage.setItem("current_time",this.open_Detail.month)
    },
    executorNullFun(){
      this.$message.error('您管理范围下的人员当月绩效已全部创建完毕，请勿重复操作');
    },
    manageNullFun(){
      this.$message.error('您没有管理范围，请联系管理员');
    },
    intersection(arr) {
      const arrSet = [];
      const intersectionSet = new Set();
      arr.forEach(items => {
        arrSet.push(new Set(items.map(item => item.id)));
        items.forEach(item => intersectionSet.add(item.id))
      });

      return [...intersectionSet].filter(item => arrSet.every(set => set.has(item)))
    },
    getData() {
      let self = this;
      self.loading = true
      self.$http('get','/api/integral/performance/employee',{month: self.datas.month},'v3').then(res => {
        if (res.data.code == 1) {
          self.dataList = res.data.data.list || [];
          self.executorNullShow = false
          self.manageNullShow = false
          if (self.dataList.length !== 0) {
            self.employee_list = [...self.manage_scope].filter(x => [...self.dataList].every(y => y.id !== x.id))
            if (self.employee_list !== null && self.employee_list.length == 0) {
              self.executorNullShow = true
            }
          }else{
            self.employee_list = [...this.$store.getters.user_info.employee_detail.manage_scope]
            if (self.employee_list !== null && self.employee_list.length == 0) {
              self.manageNullShow = true
            }
          }
        } else {
          self.$message.error(res.data.msg);
        }
      }).finally(() => { self.loading = false});
    },
    saveForm(formName){
      let self = this
      this.$refs[formName].validate((valid) => {
        if (valid) {
          let self = this;
          self.btnLoad = true;
          let data = {
            package_id: self.$route.query.package_id,
            type: '2',
            reviewer_id: self.datas.reviewer_id,
            base_point: self.datas.base_point,
            notice_ids: self.datas.notice_ids,
          }
          self.$http('PUT','/api/integral/performance',data).then(res => {
              if (res.data.code == 1) {
                self.$message.success("修改成功");
                self.$nextTick(()=>{
                  self.$router.go(-1);
                })
              } else {
                self.$message.error(res.data.msg);
              }
          }).finally(() => {
              self.btnLoad = false;
          });
        }
      });
    },
    getDetails(package_id){
      let self = this
      self.loading = true
      self.$http('get','/api/integral/performance/info',{ package_id: package_id}).then(res => {
        if (res.data.code == 1) {
          const info = res.data.data
          this.datas.month = info.month.toString().slice(0,4)+'-'+info.month.toString().slice(4)
          this.datas.reviewer_id = info.reviewer_id
          this.selectReviewer.employee = [{name: info.reviewer_name, id: info.reviewer_id, img_url: info.reviewer_img_url}]
          this.selectNotice.employee = info.notice_info
          this.employee_not_select = [info.employee_id]
          this.datas.notice_ids = info.notice_ids
          this.datas.base_point = info.base_point
          this.employee_name = info.employee_name
        } else {
          self.$message.error(res.data.msg);
        }
      }).finally(() => {
        self.loading = false;
      });
    },
    submitForm(formName) {
      var self=this;
      this.$refs[formName].validate((valid) => {
        if (valid) {
          let self = this;
          self.btnLoad = true;
          let data = {packages:[]}
          this.datas.employee_id.forEach((element,index) => {
            data.packages.push({'employee_id':element.employee_id,employee_name: element.employee_name,'month':this.datas.month,'base_point':this.datas.base_point,'reviewer_id':this.datas.reviewer_id,'notice_ids':this.datas.notice_ids})
          });
          // const headers = {'Accept': 'application/vnd.test.v2+json'}
          self.$http('post','/api/integral/performance',data,'v2').then(res => {
              if (res.data.code == 1) {
                for(let i=0;i<data.packages.length;i++){
                  this.open_Detail = data.packages[i]//赋值
                }
                self.resultData = res.data.data

                if(res.data.data.success_count>0){
                  self.Speedy_none = true
                }
                self.resultDataShow = true
                
              } else {
                self.$message.error(res.data.msg);
              }
          }).finally(() => {
              self.btnLoad = false;
          });
        }
      });
    },
    //人员确定
    sub_add_employee(item){
      this.$refs.Employee.confirm();//调用组件的confirm（）；
      this.publicClose();
    },
    //执行人选择
    add_employee_confirm(val){
      if(this.add_employee_show){
        this.selectEmployee.employee=val.employee;
        this.datas.employee_id = []
        val.employee.forEach(element => {
          this.datas.employee_id.push({employee_id:element.id,employee_name:element.name})
        });
      }else if(this.add_reviewer_show){
        this.datas.reviewer_id = ''
        this.selectReviewer.employee = []
        this.selectReviewer.employee=val.employee;
        this.datas.reviewer_id=val.employee[0].id;
      }else{
        this.selectNotice.employee=val.employee;
        var arr=[];
        val.employee.forEach((item)=>{
          arr.push(item.id);
        })
        this.datas.notice_ids=arr;
      }
    },
    //公共弹窗关闭
    publicClose(){
      this.add_employee_show=false;
      this.add_reviewer_show=false;
      this.add_notice_show=false;
    },

  }
};
</script>

<style lang="scss" scoped="scoped">
$blue: #26a2ff;
$red: #f56c6c;
$yellow: #e6a23c;
$green: #67c23a;
$fontColorZ: #303133;
$fontColorF: #909399;
$fontColorT: #c0c4cc;
.color_green{
  color: $green;
}
.color_red{
  color: $red;
}
.color_gray{
  color: #909399;
}
.green {
  color: #67c23a;
}
.blue {
  color: #26a2ff;
  cursor: pointer;
}
.fontColorF {
  color: #909399;
}
.yellow {
  color: #e6a23c;
}
.mian .demo-ruleForm{
  width: 460px;
  margin: 30px auto;
}
  .tips {
    background: $fontColorT;
    border-radius: 50%;
    width: 14px;
    height: 14px;
    color: #fff;
    display: inline-block;
    font-size: 10px;
    line-height: 14px;
    text-align: center;
  }
  .border2{
    -webkit-appearance: none;
    background-color: #FFF;
    background-image: none;
    border-radius: 4px;
    border: 1px solid #DCDFE6;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #606266;
    font-size: inherit;
    height: auto;
    outline: 0;
    padding: 0 15px;
    width: 100%;
    cursor: pointer;
  }
.border{
  -webkit-appearance: none;
  background-color: #FFF;
  background-image: none;
  border-radius: 4px;
  border: 1px solid #DCDFE6;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #606266;
  font-size: inherit;
  height: 40px;
  line-height: 40px;
  outline: 0;
  padding: 0 15px;
  width: 100%;
  cursor: pointer;
}
.box {
  overflow: hidden;
  padding: 20px;
  .header {
    padding-bottom: 20px;
    border-bottom: 1px solid #f1f1f1;
  }
}
.executorNull{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}
/deep/ .el-table__row{
  cursor:pointer;
}

// 滚动条样式
/deep/ .el-table__body-wrapper::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
/deep/ .el-table__body-wrapper::-webkit-scrollbar-track {
  width: 6px;
  background-color: #fff0;
  -webkit-border-radius: 2em;
  -moz-border-radius: 2em;
  border-radius: 2em;
}
/*滚动条的设置*/
/deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb {
  background-color: #fff0;
  background-clip: padding-box;
  min-height: 28px;
  -webkit-border-radius: 2em;
  -moz-border-radius: 2em;
  border-radius: 2em;
}
/*滚动条移上去的背景*/
/deep/ .el-table__body-wrapper:hover::-webkit-scrollbar-thumb {
  background-color: rgba(144, 147, 153, 0.3);
}
</style>
