<template>
  <section>
    <!--工具条-->
    <el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
      <el-form :inline="true" :model="filters">
        <el-col :span="3">
          <el-form-item>
            <el-select v-model="filters.value" placeholder="按公司筛选">
              <el-option label="编号" value="0"></el-option>
              <el-option label="名称" value="1"></el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <el-form-item>
          <el-input v-model="filters.name" placeholder="请输入关键字进行搜索"></el-input>
        </el-form-item>
        <el-form-item>
          <el-button type="primary">查询</el-button>
        </el-form-item>
        <el-form-item style="float: right;">
          <el-button type="primary" @click="showAllocation">分配云模</el-button>
        </el-form-item>
      </el-form>
    </el-col>

    <!--列表-->
    <el-table :data="allocations" :height="tableHeight" highlight-current-row v-loading="listLoading" style="width: 100%;">
      <el-table-column type="index" width="60"></el-table-column>
      <el-table-column prop="id" label="云模设备号" width="120" sortable></el-table-column>
      <el-table-column prop="power" label="电量" width="80" sortable></el-table-column>
      <el-table-column prop="useLife" label="倒计时" width="100" sortable></el-table-column>
      <el-table-column prop="equipmentName" label="模具名称" width="100" sortable></el-table-column>
      <el-table-column prop="equipmentNo" label="模具编号" width="120" sortable></el-table-column>
      <el-table-column prop="belongCompanyId" label="资产方" width="120" sortable></el-table-column>
      <el-table-column prop="state" label="模具状态" width="100" sortable>
        <template slot-scope="scope">
          <span v-if="scope.row.state == false">未启用</span>
          <span v-else>已启用</span>
        </template>
      </el-table-column>
      <el-table-column label="操作" width="220" sortable>
        <template slot-scope="scope">
          <el-button
            size="small"
            type="primary"
            @click="enable(scope.$index)"
            :disabled="scope.row.state == true"
          >启用</el-button>
          <el-button size="small">修改</el-button>
          <el-button type="danger" size="small">删除</el-button>
        </template>
      </el-table-column>
    </el-table>

    <!--工具条-->
    <el-col :span="24" class="toolbar">
      <el-pagination
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :page-sizes="[20 , 50 , 80 , 100]"
        :page-size="20"
        layout="total, sizes, prev, pager, next"
        :total="total"
        style="float:right;"
      ></el-pagination>
    </el-col>

    <!--新增界面-->
    <el-dialog
      title="新建模具"
      v-if="addFormVisible"
      :visible.sync="addFormVisible"
      :close-on-click-modal="false"
      customClass="customWidth"
    >
      <el-form
        :model="newAllocation"
        label-width="100px"
        :rules="formRules"
        ref="newAllocation"
        :inline="true"
        class="demo-form-inline"
      >
        <el-form-item label="设备号" prop="typeNumber">
          <el-input v-model="newAllocation.equipmentNo" autocomplete="off" placeholder="请填写"></el-input>
        </el-form-item>
        <el-form-item label="所属公司" prop="name">
          <el-input v-model="newAllocation.belongCompanyId" autocomplete="off" placeholder="请填写"></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click.native="addFormVisible = false">取消</el-button>
        <el-button type="primary" @click="addMould">提交</el-button>
      </div>
    </el-dialog>

    <!--修改界面-->
    <el-dialog
      title="修改模具"
      v-if="editFormVisible"
      :visible.sync="editFormVisible"
      :close-on-click-modal="false"
      customClass="customWidth"
    >
      <el-form
        :model="newAllocation"
        label-width="100px"
        :rules="formRules"
        ref="newAllocation"
        :inline="true"
        class="demo-form-inline"
      >
        <el-form-item label="设备号" prop="typeNumber">
          <el-input v-model="newAllocation.equipmentNo" autocomplete="off" placeholder="请填写"></el-input>
        </el-form-item>
        <el-form-item label="所属公司" prop="name">
          <el-input v-model="newAllocation.belongCompanyId" autocomplete="off" placeholder="请填写"></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click.native="editFormVisible = false">取消</el-button>
        <!-- 这里少了几个属性别忘了加上了 -->
        <el-button type="primary">提交</el-button>
      </div>
    </el-dialog>
  </section>
</template>

<script>
import util from "../../common/js/util";
export default {
  data() {
    return {
      allocations: [
        //临时数据
        {
          id: "1234567",
          power: "N/A",
          useLife: "400天",
          equipmentName: "墨盒",
          equipmentNo: "MUJU123456",
          belongCompanyId: "南京火石闪信",
          state: true
        },
        {
          id: "7891011",
          power: "N/A",
          useLife: "100天",
          equipmentName: "墨盒2",
          equipmentNo: "MUJU654321",
          belongCompanyId: "南京火石闪信",
          state: false
        }
      ],
      /**
       * 添加/修改模具设备
       * 添加参数：equipmentName 设备名称，useLife 使用年限， equipmentNo 设备编号 ，
       * belongCompanyId 所属公司id ，equipmentName 设备名称
       * 修改时需多传的参数 id 设备id
       */
      newAllocation: {
        equipmentNo: "", //设备编号
        // power: "",
        useLife: "", //使用年限
        equipmentName: "", //设备名称
        id: "", //设备id
        belongCompanyId: "" //所属公司ID
      },
      filters: {
        name: "",
        value: ""
      },
      formRules: {},
      listLoading: false,
      total: 0,
      tableHeight: 0,
      addFormVisible: false,
      editFormVisible: false
    };
  },
  methods: {
    //分页
    handleCurrentChange(val) {
      this.page = val;
      // this.getMoulds();
    },
    handleSizeChange(val) {
      this.size = val;
      // this.getMoulds();
    },
    //添加界面
    showAllocation() {
      this.addFormVisible = true;
      this.newAllocation = {
        id: "", //设备编号
        useLife: "", //使用年限
        equipmentName: "", //设备名称
        equipmentNo: "", //设备id
        belongCompanyId: "" //所属公司ID
      };
    },
    //修改界面
    showEdit() {
      this.editFormVisible = true;
      this.newAllocation = {
        id: "", //设备编号
        useLife: "", //使用年限
        equipmentName: "", //设备名称
        equipmentNo: "", //设备id
        belongCompanyId: "" //所属公司ID
      };
    },
    //添加模具
    addMould(){
      //添加模具调用
      this.$refs.addForm.validate(valid => {
        if (valid) {
          this.editLoading = true;
          this.http.post(
            this.port.base.editMould,
            {
              id: this.newAllocation.id,
              belongCompanyId: this.newAllocation,belongCompanyId
            },
            res => {
              this.editLoading = false;
              this.editFormVisible = false;
              if (res.code == "ok") {
                this.$message({
                  message: "添加成功",
                  type: "success"
                });
                this.getRoles();
              } else {
                this.$message({
                  message: res.msg,
                  type: "error"
                });
              }
            },
            error => {
              this.editLoading = false;
              this.editFormVisible = false;
              this.$message({
                message: error,
                type: "error"
              });
            }
          );
        }
      });
    },
    //启用设备
    enable(index) {
      this.allocations[index].state = true;
      //启用设备调用
      this.http.post(
        this.port.base.enableMould,
        {
          //数是瞎写的
          id: 1,
          isUse: 1
        },
        res => {
          if (res.code == "ok") {
            this.$message({
              message: "修改成功",
              type: "success"
            });
            this.getRoles();
          } else {
            this.$message({
              message: res.msg,
              type: "error"
            });
          }
        },
        error => {
          this.$message({
            message: error,
            type: "error"
          });
        }
      );
    }
  },
  created() {
    let height = window.innerHeight;
    this.tableHeight = height - 210;
  },
  mounted() {}
};
</script>

<style scoped>
</style>