<template>
  <div>

    <div class="tab-header webtop">
      <!-- 标题 -->
      <div>库位信息</div>
      <!-- start 添加修改按钮 -->
      <div>
        <el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button>
        <el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
      </div>
      <!-- end 添加修改按钮 -->
      <!-- end 详情按钮 -->
    </div>

    <div class="listconadd">

      <el-card class="box-card">
        <div class="item">
          <span class="item_text">选择所属仓库：</span>
          <el-select v-model="formobj.warehouseName" placeholder="请选择所属仓库" class="item_input"
            @change="selectWarehouseChange">
            <el-option v-for="item in warehouseList" :key="item.sid" :label="item.warehouseName" :value="item.sid" />
          </el-select>
        </div>
        <div class="item">
          <span class="item_text">选择所属库区：</span>
          <el-select v-model="formobj.locationName" placeholder="请选择所属库区" class="item_input"
            @change="selectWarehouseAreaChange">
            <el-option v-for="item in warehouseAreaList" :key="item.sid" :label="item.areaName" :value="item.sid" />
          </el-select>
        </div>
        <div class="item">
          <span class="item_text">库位名称：</span>
          <el-input v-model="formobj.rackName" placeholder="库位名称" class="item_input" clearable />
        </div>
        <div class="item">
          <span class="item_text">库位编码：</span>
          <el-input v-model="formobj.rackCode" placeholder="库位编码" class="item_input" clearable
            oninput="value=value.replace(/[^A-Za-z0-9]/g, '')" />
        </div>
        <div class="item">
          <span class="item_text">库位备注：</span>
          <el-input v-model="formobj.remarks" placeholder="库位备注" class="item_input" clearable />
        </div>

      </el-card>

    </div>

  </div>
</template>

<script>
  import req from '@/api/warehouse/goodsShelves.js'
  import req2 from '@/api/warehouse/warehouse.js'
  import req3 from '@/api/warehouse/warehouseArea.js'
  export default {
    components: {},
    data() {
      return {
        submitdisabled: false,
        formobj: {
          sid: '',
          rackName: '',
          rackCode: '',
          warehouseName: '',
          warehouseSid: '',
          locationName: '',
          locationSid: '',
          remarks: '',
          useOrgSid: window.sessionStorage.getItem('departmentSid'),
          createOrgSid: window.sessionStorage.getItem('orgSid'),
          userSid: window.sessionStorage.getItem('userSid'),

        },
        warehouseList: [],
        warehouseAreaList: [],
      }
    },
    created() {
      this.initData()
    },
    methods: {

      initData() {

        req2.getAllWarehouse().then(resp => {
          this.warehouseList = resp.data
        })
      },

      getWarehouseArea(sid) {
        this.formobj.locationSid = ''
        this.formobj.locationName = ''
        req3.getAllWarehouseareaBysid(sid).then(resp => {
          console.log('>>>>>>>>>getAllWarehousearea', resp)
          this.warehouseAreaList = resp.data
        }).catch(() => {})
      },

      selectWarehouseChange(val) {
        const choose = this.warehouseList.filter((item) => item.sid == val)
        console.log('>>>>>>>>>selectWarehouseChange', choose)
        this.formobj.warehouseSid = choose[0].sid
        this.formobj.warehouseName = choose[0].warehouseName

        this.getWarehouseArea(choose[0].sid)

      },

      selectWarehouseAreaChange(val) {
        const choose = this.warehouseAreaList.filter((item) => item.sid == val)
        console.log('>>>>>>>>>selectWarehouseAreaChange', choose)
        this.formobj.locationSid = choose[0].sid
        this.formobj.locationName = choose[0].areaName
      },

      saveOrUpdate() {
        console.log('>>>>>>>>>saveOrUpdate', this.formobj)
        req.saveGoodsShelves(this.formobj)
          .then(resp => {
            if (resp.success) {
              this.$message({
                showClose: true,
                type: 'success',
                message: resp.msg
              })
              this.handleReturn('true')
            } else {
              // 根据resp.code进行异常情况处理
            }
          })
          .catch(() => {})
      },
      handleReturn(isreload) {
        if (isreload === 'true') this.$emit('reloadlist')
        this.formobj = {
          sid: '',
          rackName: '',
          rackCode: '',
          warehouseName: '',
          warehouseSid: '',
          locationName: '',
          locationSid: '',
          remarks: '',
          useOrgSid: window.sessionStorage.getItem('departmentSid'),
          createOrgSid: window.sessionStorage.getItem('orgSid'),
          userSid: window.sessionStorage.getItem('userSid'),
        }
        this.$emit('doback')
      },
      showAdd() {},
      showEdit(row) {
        req.initGoodsShelves(row.sid)
          .then(resp => {
            if (resp.success) {
              this.formobj = resp.data
            }
          })
          .catch(e => {
            this.formobj = row
          })
      },

    }
  }
</script>
<style lang="scss" scoped>
  // 隐藏上传组件

  ::v-deep .hide {
    .el-upload--picture-card {
      display: none !important;
    }
  }

  .box-card {
    margin-left: 60px;
    margin-right: 60px;
    min-width: 70%;
    margin-top: 20px;

    .item {
      display: flex;
      flex-direction: row;
      align-items: center;
      margin-top: 15px;
      height: 40px;
      line-height: 40px;

      .item_text {
        flex: 0.8;
        font-size: 18px;
        text-align: right;
      }

      .item_input {
        flex: 4;
        font-size: 16px;
        margin-left: 10px;
        margin-right: 80px;
      }

      .item_left_input {
        width: 20%;
      }

      .item_left_text {
        height: 30px;
        margin-left: 20px;
        line-height: 30px;
        color: #018AD2;
        padding: 0px 15px;
        border: 1.5px solid #018AD2;
        border-radius: 5px;

      }

      .item_right {
        flex: 1;
        justify-items: center;

        .item_right_list_text {
          font-size: 16px;
        }

        .item_right_list_delect {
          color: #5E94FF;
          margin-left: 20px;
          font-size: 16px;
          text-decoration: underline;
        }
      }

    }

  }
</style>
