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

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

<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
  name: "CompanyList",
  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);
    },
  },
  filters: {
    //当渲染的文字超出150字后显示省略号
    ellipsis(value) {
      if (!value) return "";
      if (value.length > 200) {
        return value.slice(0, 200) + "...";
      } else {
        return value;
      }
    },
  },
  data() {
    return {
      config: {
        search: [
          {
            name: "companyName",
            type: "text",
            label: "公司名称",
            fuzzy: true,
          },
        ],
        columns: [
          { type: "index", label: "序号", width: 50 },

          { label: "公司名称", prop: "companyName", width: 250 },

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

          {
            label: "经营地址",
            prop: "businessAdress",
            formatter: this.formatters,
            width: 240,
          },

          {
            label: "描述",
            prop: "companyIntroduction",
            formatter: (val) => {
              return (
                <div
                  domPropsInnerHTML={this.$options.filters.ellipsis(
                    val.companyIntroduction
                  )}
                ></div>
              );
            },
          },

          {
            label: "更新时间",
            prop: "updateTime",
            width: 150,
            formatter: this.formatterDate,
          },

          {
            label: "操作",
            width: 140,
            formatter: (row) => {
              return (
                <table-buttons
                  noAdd
                  noView
                  row={row}
                  onEdit={this.toEdit}
                  onView={this.toView}
                  onDel={this.toDel}
                />
              );
            },
          },
        ],
      },
    };
  },
};
</script>
