<template>
  <div class="ele-body">
    <el-card shadow="never">
      <search
        ref="search"
        @search="search"
      ></search>
      <ele-pro-table
        ref="table"
        :columns="columns"
        :datasource="datasource"
        cache-key="systemRoleTable5"
      >
        <!-- 表头工具栏 -->
        <template v-slot:toolbar>
          <el-button
            size="small"
            type="primary"
            icon="el-icon-plus"
            class="ele-btn-icon"
            @click="openEdit('add')"
          >
            添加
          </el-button>
        </template>
        <!-- 操作列 -->
        <template v-slot:action="{ row }">
          <el-link
            type="primary"
            :underline="false"
            icon="el-icon-edit"
            @click="openEdit('edit', row)"
          >
            修改
          </el-link>
          <el-popconfirm
            class="ele-action"
            title="确定要删除此角色吗？"
            @confirm="remove(row)"
          >
            <template v-slot:reference>
              <el-link type="danger" :underline="false" icon="el-icon-delete">
                删除
              </el-link>
            </template>
          </el-popconfirm>
        </template>
      </ele-pro-table>
    </el-card>
    <edit
      ref="edit"
      @done="done"
    ></edit>
  </div>
</template>
<script>
import search from './components/search.vue';
import edit from './components/edit.vue';
import {getFactoryarea, deletefactoryarea} from '@/api/factoryModel';
import {listOrganizations} from '@/api/system/organization';
import {getProcessTypePageAPI, processTypeDeleteAPI} from "@/api/bpm/processClass";

export default {
  components: {
    search,
    edit
  },
  data() {
    return {
      columns: [
        {
          width: 45,
          type: 'index',
          columnKey: 'index',
          align: 'center'
        },
        {
          label: '名称',
          prop: 'name',
          align: 'center',
          minWidth: 100
        },
        {
          label: '备注',
          prop: 'remark',
          align: 'center',
          minWidth: 100
        },
        {
          label: '创建时间',
          prop: 'createTime',
          align: 'center',
          minWidth: 150
        },
        {
          columnKey: 'action',
          label: '操作',
          width: 220,
          align: 'center',
          resizable: false,
          slot: 'action',
          showOverflowTooltip: true
        }
      ]
    };
  },

  methods: {
  async  datasource({page, where, limit}) {
    let arr = await getProcessTypePageAPI({
        ...where,
        pageNum: page,
        size: limit,
      });
      console.log(arr);

      return arr
    },
    search(where) {
      this.$refs.table.reload({
        where: where,
        page: 1
      });
    },
    openEdit(type, row) {
      this.$refs.edit.open(type, row);
    },
    remove(row) {
      processTypeDeleteAPI([row.id])
        .then((message) => {
          this.$message.success('操作成功');
          this.done();
        })
        .catch((e) => {
          this.$message.error(e.message);
        });
    },
    done() {
      this.$refs.search.search();
    }
  }
};
</script>
