<template>
  <div class="app-container">
    <div v-show="viewState ==1">
      <button-bar view-title="油罐信息" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle" />
      <div class="main-content">
        <div class="searchcon">
          <el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
          <div v-show="isSearchShow" class="search">
            <el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="80px" class="tab-header">
              <el-form-item label="油罐编号">
                <el-input v-model="listQuery.params.number" maxlength="20" placeholder="请输入油罐编号" class="addinputw"
                  clearable />
              </el-form-item>
            </el-form>
            <div class="btn" style="text-align: center;">
              <el-button type="primary" icon="el-icon-search" size="small" @click="handleReset">查询</el-button>
              <el-button type="primary" icon="el-icon-refresh" size="small" @click="handleFilter">重置</el-button>
            </div>
          </div>
        </div>
        <div class="listtop">
          <div class="tit">油罐列表</div>
          <!-- 翻页分页 -->
          <!-- <pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> -->
        </div>
        <div class="">
          <el-table v-loading="listLoading" :data="list" border style="width: 100%;">
            <!-- <el-table-column type="selection" align="center" width="50"/> -->
            <el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" />
            <el-table-column label="操作" wid align="center" width="100">
              <template slot-scope="scope">
                <el-button type="primary" size="mini" @click="toDetail(scope.row)">记录</el-button>
                <!-- <el-button type="primary" size="mini" @click="toEdit(scope.row)">编辑</el-button> -->
                <!-- <el-button type="primary" size="mini" @click="doDel(scope.row)">删除</el-button> -->
              </template>
            </el-table-column>
            <el-table-column label="油罐编号" prop="number" align="center" />
            <el-table-column label="原油名称" prop="crudeName" align="center" />
            <el-table-column label="原油编号" prop="crudeNumber" align="center" />
            <el-table-column label="油罐容量" prop="capacity" align="center" />
            <el-table-column label="油罐库存" prop="inventory" align="center" />
            <el-table-column label="油罐现有库存" prop="existingInventory" align="center" />
          </el-table>
        </div>
        <div class="pages">
          <pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
            :limit.sync="listQuery.size" class="pagination" @pagination="getList" />
        </div>
      </div>

    </div>
    <oilTankAdd v-show="viewState ==2 || viewState ==3" ref="divAdd" @doback="resetState" @reloadlist="getList" />
    <!-- <oilTypeInfo v-show="viewState ==4" ref="divInfo" @doback="resetState" @reloadlist="getList" /> -->
    <el-dialog title="记录本次读取库存" :visible.sync="editDialog" width="40%">
      <table class="e-table" cellspacing="0">
        <tr>
          <td>库存数据</td>
          <td>
            <!-- <span>{{form.planContent}}</span> -->
            <el-input v-model="form.existingInventory" style="width: 300px"></el-input>
          </td>
        </tr>
      </table>
      <div style="margin-top: 20px; text-align: center">
        <el-button type="primary" @click="save()">保存</el-button>
      </div>
    </el-dialog>

  </div>
</template>

<script>
  import req from '@/api/oilTank/oilTank'
  import Pagination from '@/components/pagination'
  import pageye from '@/components/pagination/pageye'
  import ButtonBar from '@/components/ButtonBar'
  import oilTankAdd from './oilTankAdd.vue'
  // import oilTypeInfo from './oilTypeInfo.vue'
  export default {
    name: 'CustomerManagement',
    components: {
      Pagination,
      pageye,
      ButtonBar,
      oilTankAdd,
      // oilTypeInfo,

    },
    data() {
      return {
        listLoading: false,
        btndisabled: false,
        editDialog: false,
        form: {},
        btnList: [{
            type: 'primary',
            size: 'small',
            icon: 'plus',
            btnKey: 'toAdd',
            btnLabel: '新增'
          },

          {
            type: 'info',
            size: 'small',
            icon: 'cross',
            btnKey: 'doClose',
            btnLabel: '关闭'
          }
        ],
        isSearchShow: false,
        searchxianshitit: '显示查询条件',
        list: [],
        listQuery: {
          current: 1,
          size: 10,
          params: {
            entryName: '',
          },
          total: 0
        },
        viewState: 1
      }
    },
    mounted() {
      this.$refs['btnbar'].setButtonList(this.btnList)
    },
    created() {
      this.init()
      // 加载列表
    },
    methods: {
      btnHandle(btnKey) {
        switch (btnKey) {
          case 'toAdd':
            this.toAdd()
            break

          case 'doClose':
            this.doClose()
            break
          default:
            break
        }
      },
      // 搜索条件效果
      clicksearchShow() {
        this.isSearchShow = !this.isSearchShow
        if (this.isSearchShow) {
          this.searchxianshitit = '隐藏查询条件'
        } else {
          this.searchxianshitit = '显示查询条件'
        }
      },
      // 初始化
      init() {
        this.getList()
      },
      // 序号
      indexMethod(index) {
        var pagestart = (this.listQuery.current - 1) * this.listQuery.size
        var pageindex = index + 1 + pagestart
        return pageindex
      },
      // 查询列表信息
      getList() {
        this.listLoading = true
        req.listPage(this.listQuery).then((response) => {
          this.listLoading = false
          if (response.success) {
            this.list = response.data.records
            this.listQuery.total = response.data.total
          } else {
            this.list = []
            this.listQuery.total = 0
          }
        })
      },
      // 查询按钮
      handleReset() {
        this.listQuery.current = 1
        this.getList()
      },
      // 重置
      handleFilter() {
        this.listQuery = {
          current: 1,
          size: 10,
          total: 0,
          params: {
            entryName: ""
          }
        }
        this.getList()
      },
      // 打开添加
      toAdd() {
        this.viewState = 2
      },
      // 打开修改
      toEdit(row) {
        this.viewState = 3
        this.$refs['divAdd'].showEdit(row)
      },
      // 根据本行ID删除数据
      doDel(row) {
        const tip = '请确认是否删除所选记录?'
        this.$confirm(tip, '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          req.delBySids(row.sid).then((response) => {
            if (response.success) {
              this.$message({
                showClose: true,
                type: 'success',
                message: '删除成功'
              })
              this.getList()
            } else {
              this.$message({
                showClose: true,
                type: 'error',
                message: '删除失败'
              })
            }
          })
        })
      },
      toDetail(row) {
        this.editDialog = true;

        this.form.tankSid = row.sid
      },
      save() {
        console.log("form", this.form)

        req.saveInfo(this.form)
          .then(resp => {
            if (resp.success) {
              this.$message({
                showClose: true,
                type: 'success',
                message: resp.msg
              })
                this.editDialog = false;
               this.getList()
            } else {
              // 根据resp.code进行异常情况处理
            }
          })
          .catch(() => {})
        this.reset();
      },
      reset() {
        this.form = {};
      },
      resetState() {
        this.viewState = 1
      },
      doClose() {
        this.$store.dispatch('tagsView/delView', this.$route)
        this.$router.go(-1)
      }
    }
  }
</script>
<style scoped>
</style>
