<template>
  <div class="page">
    <LayoutTable notAdd notDel :data="tableData" :config="tableConfig">
    </LayoutTable>

    <drawer-show ref="drawerform" @ok="getData" />
  </div>
</template>

<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
  name: "StaffLeaveList",
  components: {
    drawerShow,
  },
  mixins: [table],
  created() {},
  methods: {
    /** 重写新增方法 */
    toAdd(row) {
      this.$refs.drawerform.add(row);
    },
    /** 重写编辑方法 */
    toEdit(row) {
      this.$refs.drawerform.edit(row);
    },
    /** 重写查看方法 */
    toView(row) {
      this.$refs.drawerform.view(row);
    },
    // 复职操作
    handleReback(row) {
      this.$post("/staff/leave/save", { id: row.id, staffStatus: 1 })
        .then((res) => {
          if (res.code == 1) {
            this.$message.success("复职成功！");
            this.getData();
          }
        })
        .catch((error) => {
          this.$message.error(error.message);
        });
    },
  },
  data() {
    return {
      config: {
        search: [
          {
            name: "companyIds",
            type: "select",
            label: "所属公司",
            fuzzy: true,
          },
          {
            name: "name",
            type: "text",
            label: "员工姓名",
            fuzzy: true,
          },
        ],
        columns: [
          { type: "selection", width: 60 },
          { type: "index", label: "序号", width: 50 },

          { label: "员工姓名", prop: "name", width: 120 },

          {
            label: "照片",
            prop: "photoPath",
            formatter: (row) => {
              return row.photoPath != "" ? (
                <el-image
                  style="width: 70px; height: 70px"
                  src={row.photoPath}
                  preview-src-list={[row.photoPath]}
                >
                  <div
                    slot="error"
                    class="image-slot"
                    style="width: 70px; height: 70px;display:flex;justify-content: center;align-items: center;"
                  >
                    <i
                      class="el-icon-picture-outline"
                      style="font-size:26px"
                    ></i>
                  </div>
                </el-image>
              ) : (
                "--"
              );
            },
            width: 100,
          },

          { label: "邮件地址", prop: "email", width: 160 },

          { label: "联系电话", prop: "phoneNumber", width: 120 },

          {
            label: "所属公司",
            prop: "companyIds",
            formatter: this.formatters,
          },

          { label: "职位名称", prop: "positionName", width: 120 },

          {
            label: "员工状态",
            prop: "staffStatus",
            formatter: this.formatter,
            width: 80,
          },
          {
            label: "离职时间",
            prop: "leaveDate",
            formatter: this.formatterDate,
            width: 140,
          },

          {
            label: "操作用户",
            prop: "createUserId",
            formatter: this.formatter,
            width: 120,
          },
          // {
          //   label: "操作",
          //   width: 100,
          //   formatter: (row) => {
          //     return row.staffStatus == 3 ? (
          //       <div>
          //         <el-button
          //           type="text"
          //           icon="el-icon-refresh-left"
          //           size="mini"
          //           onClick={() => {
          //             this.handleReback(row);
          //           }}
          //           title="复职"
          //         >
          //           复职
          //         </el-button>
          //       </div>
          //     ) : (
          //       "--"
          //     );
          //   },
          // },
        ],
      },
    };
  },
};
</script>
