<!-- 资产管理 -->
<template>
  <div class="L-main" id="L-size-main">
    <div class="content-search" id="L-header">
      <div class="search-title">查询条件</div>
      <el-form :inline="true" ref="queryForm" :model="formInline" size="small" class="demo-form-inline">
        <el-row>
          <el-col :span="8">
            <el-form-item label="系统名称：" prop="xtmc">
              <el-input v-model="formInline.xtmc" placeholder="请输入系统名称"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="系统类型：" prop="xtlx">
              <el-select v-model="formInline.xtlx" placeholder="请选择系统类型">
                <el-option
                  v-for="dict in dict.type.zc_xtlx"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value">
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="新增时间：" prop="time">
              <el-date-picker
                v-model="formInline.time"
                format="yyyy-MM-dd HH:mm:ss"
                value-format="yyyy-MM-dd HH:mm:ss"
                type="datetimerange"
                start-placeholder="开始时间"
                end-placeholder="结束时间"
                placeholder="请选择"
              >
              </el-date-picker>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="8">
            <el-form-item label="单位名称：" prop="dwmc">
              <el-input v-model="formInline.dwmc" placeholder="请输入单位名称"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="系统状态：" prop="xtzt">
              <el-select v-model="formInline.xtzt" placeholder="请选择系统状态">
                <el-option
                  v-for="dict in dict.type.zc_xtzt"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value">
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8" style="text-align: right;padding-right: 50px;">
            <el-form-item>
              <el-button size="mini" @click="resetQuery('queryFrom')">重置</el-button>
              <el-button size="mini" type="primary" @click="handleQuery('queryFrom')">查询</el-button>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
    </div>
    <main>
      <div class="search-title">
        <span class="search-title-span">资产列表</span>
        <el-row :gutter="10" class="mb8">
          <el-col :span="1.5">
            <el-button
              type="info"
              plain
              icon="el-icon-upload2"
              size="mini"
              @click="handleImport"
            >导入</el-button>
          </el-col>
          <el-col :span="1.5">
            <el-button
              type="warning"
              plain
              icon="el-icon-download"
              size="mini"
              @click="handleExport"
            >导出</el-button>
          </el-col>
          <el-col :span="1.5">
            <el-button
              type="primary"
              plain
              icon="el-icon-plus"
              size="mini"
              @click="handleAdd"
            >新增资产</el-button>
          </el-col>
        </el-row>
      </div>
      <section>
        <el-table v-loading="loading" :data="tableData" :height="tabHeader" :row-class-name="tableRowClassName" :max-height="tabHeader">
          <el-table-column type="index" width="50" label="序号" align="center"/>
          <el-table-column label="系统名称" key="xtmc" width="200px" prop="xtmc" align="center" />
          <el-table-column label="系统类型" key="xtlx" prop="xtlx" align="center">
            <template slot-scope="scope">
              <dict-tag :options="dict.type.zc_xtlx" :value="scope.row.xtlx"/>
            </template>
          </el-table-column>
          <el-table-column label="单位名称" key="dwmc" prop="dwmc" align="center">
            <!-- <template slot-scope="scope">
              <dict-tag :options="dict.type.project_middle_type" :value="scope.row.projectMiddleType"/>
            </template> -->
          </el-table-column>
          <el-table-column label="新增时间" key="createTime" prop="createTime" align="center" />
          <el-table-column label="系统状态" key="status" width="200px" prop="status" class-name="table-status" align="center">
            <template slot-scope="scope">
              <span  v-if="scope.row.xtzt == 1" style="color: #16B771;">
                已安装
              </span>
              <span v-if="scope.row.xtzt == 2" style="color: #F58A0C;">
                测试中
              </span>
              <span v-if="scope.row.xtzt == 3" style="color: #1485EF;">
                使用中
              </span>
              <span v-if="scope.row.xtzt == 4" style="color: #29A07A;">
                维护中
              </span>
              <span v-if="scope.row.xtzt == 5" style="color: #F50C0C;">
                报废
              </span>
            </template>
          </el-table-column>
          <el-table-column label="操作" prop="userId" class-name="table-operation" align="center">
            <template slot-scope="scope">
              <div style="display: flex;align-items: center;justify-content: center;">
                <div style="display: flex;align-items: center;cursor: pointer;">
                  <img src="@/assets/images/icon-ck@2x.png" alt="" style="width: 20px;margin-right: 5px;">
                  <span class="look-info" @click="goInfo(scope.row,1)" style="color: #1485EF;margin-right: 15px;">查看</span>
                </div>
                <div style="display: flex;align-items: center;cursor: pointer;">
                  <img src="@/assets/images/edit.png" alt="" style="width: 15px;margin-right: 5px;">
                  <span class="look-info" @click="goInfo(scope.row,2)" style="color: #1485EF;margin-right: 15px;">编辑</span>
                </div>
                <div style="display: flex;align-items: center;cursor: pointer;">
                  <img src="@/assets/images/del.png" alt="" style="width: 20px;margin-right: 5px;">
                  <span class="look-info" @click="goInfo(scope.row,3)" style="color: #F50C0C;margin-right: 15px;">删除</span>
                </div>
              </div>
            </template>
          </el-table-column>
        </el-table>
      </section>
      <my-pagination 
        id="L-pagination"
        :total="total"
        :page="formInline.current"
        :limit="formInline.size"
        @pagination="getPagination"
        :current-page.sync="formInline.current" 
      ></my-pagination>
    </main>
  </div>
</template>
<script>
import myPagination from "@/views/components/Pagination/index.vue"
// import myDialog from "@/views/components/myDialog/index.vue"
import { assetUnit, deleteAssetInfo } from "@/api/auditPagesApi/index";
export default {
  dicts: ['zc_xtzt','zc_xtlx'],
  components:{myPagination},
  data() {
    return {
      formInline:{
        xtmc:"",
        xtlx:"",
        time:[],
        startTime:"",
        endTime:"",
        dwmc:"",
        xtzt:"",
        current:1,
        size:10,
      },
      total:0,
      tableData:[],
      loading:false,
      tabHeader: undefined,
    }
  },
  mounted(){
    this.getList();
    this.cancalDebounce();
    window.addEventListener('resize', this.cancalDebounce);
  },
  destroyed() {
    window.removeEventListener('resize', this.cancalDebounce);
  },
  methods:{
    // 获取列表
    getList(){
      this.loading = true;
      assetUnit('get',this.formInline).then(res=>{
        this.loading = false;
        this.total = res.data.total;
        this.tableData = res.data.records;
      })
    },
    // 重置
    resetQuery(){
      this.resetForm("queryForm");
      this.handleQuery();
      this.getList();
    },
    // 查询
    handleQuery(){
      this.formInline.current = 1;
      if(this.formInline.time) {
        this.formInline.startTime = this.formInline.time[0]
        this.formInline.endTime = this.formInline.time[1]
      }
      this.formInline.time = [];
      this.getList();
    },
    // 页码获取
    getPagination(pages){
      this.formInline.current = pages.page;
      this.formInline.size = pages.limit;
      this.getList();
    },
    // 导入
    handleImport(){},
    // 导出
    handleExport(){},
    // 新增资产
    handleAdd(){
      this.$router.push({name: 'AssetsAuth',query: {
        pageType: "add",
      }})
    },
    // 查看详情
    goInfo(row,id){
      if(id == 1) {
        this.$router.push({name: 'AssetsAuth',query: {
          pageType: "look",
          id:row.id
        }})
      } else if(id == 2) {
        this.$router.push({name: 'AssetsAuth',query: {
          pageType: "chang",
          id:row.id
        }})
      } else if(id == 3) {
        const userIds = row.id;
        this.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项？').then(function() {
          return deleteAssetInfo(userIds);
        }).then(() => {
          this.getList();
          this.$modal.msgSuccess("删除成功");
        }).catch(() => {});
        }
    },
    // 编辑
    edit(){
    },
    // 删除
    delInfo(){},
    // 修改table背景色
    tableRowClassName({row, rowIndex}){
      if (rowIndex % 2 !== 0) {
        return 'evenNumber-row';
      }
      return '';
    },
    // 屏幕尺寸变化
    cancalDebounce(){
      const element = document.getElementById('L-size-main'); // 通过元素的 ID 获取元素
      const header = document.getElementById('L-header'); // 通过元素的 ID 获取元素
      const pagination = document.getElementById('L-pagination'); // 通过元素的 ID 获取元素
      const elementHeight = element.offsetHeight;
      const headerHeight = header.offsetHeight;
      const paginationtHeight = pagination.offsetHeight;
      this.tabHeader = elementHeight - headerHeight - paginationtHeight - 110;
    }
  },
}
</script>
