<template>
  <div class="EnseList">
    <el-row class="topBar">
      <el-col>
        <el-form :inline="true" :model="searchData">
          <el-form-item>
            <el-input v-model="searchData.unitName" placeholder="请输入企业名称"></el-input>
          </el-form-item>
		  <el-form-item label>
		    <el-select clearable v-model="searchData.accountStatus" placeholder="请选择审核状态">
		      <el-option label="待审核企业" value="3"></el-option>
		      <el-option label="已审核企业" value="0"></el-option>
		      <el-option label="已拒绝企业" value="4"></el-option>
		    </el-select>
		  </el-form-item>
          <!-- <el-form-item>
            <el-input v-model="searchData.userName" placeholder="请输入用户名"></el-input>
          </el-form-item>
          <el-form-item>
            <el-input v-model="searchData.orgCode" placeholder="请输入统一社会信用代码"></el-input>
          </el-form-item> -->
          <!-- <el-form-item>
            <City @changeFun="changeFun" :valueqv="cityval"></City>
          </el-form-item> -->
          <el-form-item>
            <el-button type="primary" @click="searchFun()">
              <i class="el-icon-search"></i> 搜索
            </el-button>
            <el-button type="primary" @click="resetFun()">
              <i class="el-icon-refresh"></i> 重置
            </el-button>
          </el-form-item>
        </el-form>
      </el-col>
    </el-row>
    <el-table :data="tableData.pageData" stripe border style="width:100%;" :loading="loading">
      <el-table-column width="50" type="index" label="序号"></el-table-column>
      <el-table-column prop="unitName" label="企业名称"></el-table-column>
      <el-table-column width="100" prop="legalPerson" label="企业法人"></el-table-column>
      <el-table-column prop="orgCode" label="统一社会信用代码"></el-table-column>
      <el-table-column prop="legalPersonEmail" label="法人邮箱"></el-table-column>
      <el-table-column prop="userName" label="管理员名称"></el-table-column>
      <el-table-column prop="createTime" label="申请时间"></el-table-column>
      <el-table-column width="120" prop="status" label="账号状态">
        <template slot-scope="scope">
          <font v-if="scope.row.accountStatus === '0'" class="colorM">
            <i class="iconfont iconzhengchang"></i> 正常
          </font>
          <font v-else-if="scope.row.accountStatus == 2" class="colorP">
            <i class="iconfont iconsuoding"></i> 已锁定
          </font>
          <font v-else-if="scope.row.accountStatus == 1" class="colorR">
            <i class="iconfont iconicon_huabanfuben"></i> 已删除
          </font>
          <font v-else-if="scope.row.accountStatus == 3" class="colorP">
            <i class="iconfont iconshenhe"></i> 审核中
          </font>
          <font v-else-if="scope.row.accountStatus == 4" class="colorR">
            <i class="iconfont iconweitongguo"></i> 审核未通过
          </font>
        </template>
      </el-table-column>
      <el-table-column label="操作" width="200" align="center">
        <template slot-scope="scope">
          <el-button type="success" size="small" @click="verrifyFun(scope.row)">
            <i class="el-icon-key"></i>审核/查看
          </el-button>
          <!-- <el-button type="warning" size="small" @click="resetPw(scope.row)" v-if="scope.row.accountStatus != 1">
            <i class="el-icon-star-off"></i>重置密码
          </el-button> -->
         <!-- <el-button type="danger" size="small" @click="setLock(scope.row)" v-if="flase">
            <i class="el-icon-lock"></i>注销
          </el-button> -->
        </template>
      </el-table-column>
    </el-table>
    <el-pagination
      background
      layout="total,sizes, prev, pager, next, jumper"
      :total="tableData.total"
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
      :current-page="PAGE.page"
      :page-size="PAGE.size"
    ></el-pagination>
    <EnterprisesMgEdit
      v-if="dialogVisible"
      :dialogVisible="dialogVisible"
      :editFormA="formData"
      @dialogFun="closeDialog"
      @refreshTableData="getTableData"
      :key="zjKey"
    ></EnterprisesMgEdit>
  </div>
</template>
<script lang="ts">
import { Component, Vue, Provide } from "vue-property-decorator";
import EnterprisesMgEdit from "./EnterprisesMgEdit.vue";
import City from "@/components/city.vue";
import METHOD from "@/utils/methods";
@Component({
  components: { EnterprisesMgEdit, City }
})
export default class EnterprisesMg extends Vue {
  @Provide() tableData: Object = { pageData: [], total: 0 };
  @Provide() PAGE: any = { page: 1, size: 10 };
  @Provide() searchData: any = {};
  @Provide() loading: Boolean = false;
  @Provide() cityval: any = [];
  //编辑组件
  @Provide() dialogVisible: Boolean = false;
  @Provide() formData: any = { dataType: "", enterpriseId: "" };
  @Provide() zjKey: any = 0;

  getTableData() {
    let that = this;
	that.searchData.accountNotDel=true;
     let param = Object.assign({}, that.PAGE, that.searchData);
    that.loading = true;
    METHOD.axiosPost(
      that,
      `/enterpriseInfo/queryEnterpriseInfo`,
      param,
      function(res: any) {
        that.loading = false;
        if (res.code == 0) {
          that.tableData = res.data;
        }
      }
    );
  }
  searchFun() {
    this.PAGE = { page: 1, size: 10 };
    this.getTableData();
  }
  resetFun() {
    this.PAGE = { page: 1, size: 10 };
    this.searchData = { unitName: "" };
    this.getTableData();
    this.cityval = [];
  }
  handleSizeChange(val: any) {
    this.PAGE.size = val;
    this.getTableData();
  }
  handleCurrentChange(val: any) {
    this.PAGE.page = val;
    this.getTableData();
  }
  closeDialog() {
    //关闭窗口
    this.dialogVisible = false;
    this.formData = {};
  }
  selectChange(val: any) {
    this.searchData.dataType = val;
    this.getTableData();
  }
  verrifyFun(row: any) {
    this.formData = Object.assign({}, row);
    this.zjKey++;
    this.dialogVisible = true;
  }
  setLock(row: any) {
    let that = this;
    that
      .$confirm(`确定锁定企业 ${row.unitName} 吗?`, "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
      .then(() => {
        METHOD.axiosPost(
          that,
          `/enterpriseInfo/cancelEnterpriseInfoById/${row.enterpriseId}`,
          { remarks: "" },
          function(res: any) {
            if (res.code == 0) {
              (that as any).$message({
                type: "success",
                message: "注销成功!"
              });
              that.getTableData();
            }
          }
        );
      });
  }
  /*选择城市*/
  changeFun(v: any) {
    this.searchData.provinceId = v[0];
    this.searchData.cityId = v[1];
    this.searchData.countyId = v[2];
  }
  resetPw(row: any) {
    let that = this;
    (that as any)
      .$confirm("确定重置用户 "+ row.userName +" 的密码 为 66668888 吗?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
      .then(() => {
        METHOD.axiosGet(that, `/user/resetUserPwd/${row.userId}`, function(
          res: any
        ) {
          if (res.code == 0) {
            (that as any).$message({
              type: "success",
              message: "重置成功!"
            });
          }
        });
      });
  }
  created() {
    this.getTableData();
  }
}
</script>
<style lang="scss" >
@import "@/utils/public.scss";
@media screen and (max-width: 1350px) {
  main > div .el-table {
    height: calc(100% - 150px);
  }
}
.el-dialog__body{
	padding: 10px 20px !important;
	color: #606266;
	font-size: 14px;
	word-break: break-all;
}
</style>