src/components/view/b1-sample.vue
@@ -1,46 +1,46 @@
<style scoped>
   .title {
      height: 60px;
      line-height: 60px;
   }
  .title {
    height: 60px;
    line-height: 60px;
  }
   .search {
      background-color: #fff;
      height: 80px;
      display: flex;
      align-items: center;
  .search {
    background-color: #fff;
    height: 80px;
    display: flex;
    align-items: center;
    position: relative;
   }
  }
   .search_thing {
      display: flex;
      align-items: center;
      height: 50px;
   }
  .search_thing {
    display: flex;
    align-items: center;
    height: 50px;
  }
   .search_label {
      width: 90px;
      font-size: 14px;
      text-align: right;
   }
  .search_label {
    width: 90px;
    font-size: 14px;
    text-align: right;
  }
   .search_input {
      width: calc(100% - 120px);
   }
  .search_input {
    width: calc(100% - 120px);
  }
   .table {
      margin-top: 10px;
      background-color: #fff;
      width: calc(100% - 40px);
      height: calc(100% - 60px - 80px - 10px - 40px);
      padding: 20px;
   }
  .table {
    margin-top: 10px;
    background-color: #fff;
    width: calc(100% - 40px);
    height: calc(100% - 60px - 80px - 10px - 40px);
    padding: 20px;
  }
   .el-form-item {
      margin-bottom: 16px;
   }
  .el-form-item {
    margin-bottom: 16px;
  }
  .btns{
  .btns {
    position: absolute;
    right: 10px;
    top: 25px;
@@ -49,29 +49,29 @@
    z-index: 9;
  }
  .tables{
  .tables {
    width: 100%;
    height: 100%;
    border-bottom: none;
  }
  .tables th{
      font-size: 14px;
  .tables th {
    font-size: 14px;
  }
  .tables td{
      font-size: 12px;
      text-align: center;
      vertical-align: top;
      border-color: rgb(192, 191, 191) !important;
      padding: 5px;
  .tables td {
    font-size: 12px;
    text-align: center;
    vertical-align: top;
    border-color: rgb(192, 191, 191) !important;
    padding: 5px;
  }
  .tables ul{
  .tables ul {
    list-style-type: none;
  }
  .tables ul li{
  .tables ul li {
    border-radius: 3px;
    padding: 4px 10px;
    box-sizing: border-box;
@@ -84,7 +84,7 @@
    cursor: pointer;
  }
  .tables h4{
  .tables h4 {
    color: #999999;
    font-size: 14px;
    font-weight: 400;
@@ -99,35 +99,35 @@
    margin-right: 6px;
  }
  .blue{
    background: rgba(58,123,250,0.18);
  .blue {
    background: rgba(58, 123, 250, 0.18);
  }
  .blue i{
  .blue i {
    background: #3A7BFA;
  }
  .blue .num{
  .blue .num {
    color: #3A7BFA;
  }
  .green{
  .green {
    background: #E0F6EA;
  }
  .green i{
  .green i {
    background: #34BD66;
  }
  .green .num{
  .green .num {
    color: #34BD66;
  }
  .el-dialog{
  .el-dialog {
    position: relative;
  }
  .shaoma{
  .shaoma {
    display: flex;
    align-items: center;
    font-size: 14px;
@@ -139,92 +139,87 @@
  }
  .node_i {
      color: orange;
      font-size: 18px;
   }
    color: orange;
    font-size: 18px;
  }
  .custom-tree-node .el-button {
      opacity: 0;
   }
    opacity: 0;
  }
   .custom-tree-node:hover .el-button {
      opacity: 1;
   }
  .custom-tree-node:hover .el-button {
    opacity: 1;
  }
</style>
<template>
   <div class="sample">
      <div style="width: 100%;height: 100%;" v-if="!isDetail">
         <div>
            <el-row class="title">
               <el-col :span="12" style="padding-left: 20px;">样品管理</el-col>
  <div class="sample">
    <div style="width: 100%;height: 100%;" v-if="!isDetail">
      <div>
        <el-row class="title">
          <el-col :span="12" style="padding-left: 20px;">样品管理</el-col>
          <el-col :span="12" style="text-align: right;">
                  <el-button size="small" type="primary" @click="storageVisible=true">入库</el-button>
            <el-button size="small" type="primary" @click="storageVisible=true">入库</el-button>
            <el-button size="small" type="primary" @click="exportVisible=true">出库</el-button>
               </el-col>
            </el-row>
         </div>
         <div class="search">
            <div class="search_thing">
               <div class="search_label">仓库名称:</div>
               <div class="search_input">
            <el-select v-model="entity.status" placeholder="全部" size="small">
              <el-option
                v-for="item in statusList"
                :key="item.value"
                :label="item.label"
                :value="item.value">
          </el-col>
        </el-row>
      </div>
      <div class="search">
        <div class="search_thing">
          <div class="search_label">仓库名称:</div>
          <div class="search_input">
            <el-select v-model="entity.warehouseId" placeholder="选择仓库" size="small" @change="warehouseChange">
              <el-option v-for="item in warehouse" :key="item.id" :label="item.name" :value="item.id">
              </el-option>
            </el-select>
          </div>
            </div>
            <div class="search_thing">
               <div class="search_label">货架:</div>
               <div class="search_input">
            <el-select v-model="entity.status" placeholder="全部" size="small">
              <el-option
                v-for="item in statusList"
                :key="item.value"
                :label="item.label"
                :value="item.value">
        </div>
        <div class="search_thing">
          <div class="search_label">货架:</div>
          <div class="search_input">
            <el-select v-model="entity.shelfId" placeholder="选择货架" size="small">
              <el-option v-for="item in shelf" :key="item.id" :label="item.name" :value="item.id">
              </el-option>
            </el-select>
          </div>
            </div>
            <div class="search_thing" style="padding-left: 30px;">
        </div>
        <!-- <div class="search_thing" style="padding-left: 30px;">
               <el-button size="small" @click="refresh()">重 置</el-button>
               <el-button size="small" type="primary" @click="refreshTable()">查 询</el-button>
            </div>
            </div> -->
        <div class="btns">
          <el-button size="small" style="color:#3A7BFA" @click="keepVisible=true">维护</el-button>
          <el-button size="small" style="color:#3A7BFA" @click="warehouseVisible=true">添加仓库</el-button>
          <el-button size="small" style="color:#3A7BFA" @click="shelvesVisible=true">添加货架</el-button>
          <el-button size="small" style="color:#3A7BFA" @click="shelvesVisible=true"
            :disabled="entity.warehouseId==null">添加货架</el-button>
        </div>
         </div>
         <div class="table">
      </div>
      <div class="table">
        <table border="1" class="tables" cellpadding="10">
          <tbody>
              <tr v-for="(item,index) in tableList" :key="index">
                <td v-for="(m,i) in item" :key="i" class="content">
                  <h4>{{ m.title }}</h4>
                  <ul>
                    <li v-for="(n,j) in m.list" :key="j" :class="{blue:n.type==0,green:n.type==1}" @click="handelDetail(n)">
                      <i></i>
                      <span>{{ n.name }}</span>
                      <span>&nbsp;({{ n.specs }})&nbsp;</span>
                      <span class="num">&nbsp;x{{ n.num }}</span>
                    </li>
                  </ul>
                </td>
              </tr>
              <tr>
                <td v-for="(item,index) in rowList" :key="index" style="background: ghostwhite;height: 20px;">{{ item }}</td>
              </tr>
            </tbody>
            <tr v-for="(item,index) in tableList" :key="index">
              <td v-for="(m,i) in item" :key="i" class="content">
                <h4>{{ m.title }}</h4>
                <ul>
                  <li v-for="(n,j) in m.list" :key="j" :class="{blue:n.type==0,green:n.type==1}"
                    @click="handelDetail(n)">
                    <i></i>
                    <span>{{ n.name }}</span>
                    <span>&nbsp;({{ n.specs }})&nbsp;</span>
                    <span class="num">&nbsp;x{{ n.num }}</span>
                  </li>
                </ul>
              </td>
            </tr>
            <tr>
              <td v-for="(item,index) in rowList" :key="index" style="background: ghostwhite;height: 20px;">{{ item }}
              </td>
            </tr>
          </tbody>
        </table>
         </div>
      </div>
    <Detail v-else @hanldeBack="isDetail=false"/>
      </div>
    </div>
    <Detail v-else @hanldeBack="isDetail=false" />
    <el-dialog title="样品入库" :visible.sync="storageVisible" width="350px">
      <div class="shaoma">
        <img src="../../../static/img/扫码.svg" alt="" style="margin-right: 5px;">
@@ -239,23 +234,23 @@
        </el-col>
      </el-row>
      <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'label' }" node-key="label"
               :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
               @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" v-if="storageVisible">
               <div class="custom-tree-node" slot-scope="{ node, data }">
                  <el-row>
                     <el-col :span="24">
                        <span><i
                              :class="`node_i ${data.children != undefined ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i>
                           {{ data.code }} {{ data.label }}</span>
                     </el-col>
                  </el-row>
               </div>
            </el-tree>
         <span slot="footer" class="dialog-footer">
            <el-button @click="storageVisible = false">取 消</el-button>
            <el-button type="primary" @click="confirmStorage" :loading="upLoadStorage">确 定</el-button>
         </span>
      </el-dialog>
        :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
        @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" v-if="storageVisible">
        <div class="custom-tree-node" slot-scope="{ node, data }">
          <el-row>
            <el-col :span="24">
              <span><i
                  :class="`node_i ${data.children != undefined ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i>
                {{ data.code }} {{ data.label }}</span>
            </el-col>
          </el-row>
        </div>
      </el-tree>
      <span slot="footer" class="dialog-footer">
        <el-button @click="storageVisible = false">取 消</el-button>
        <el-button type="primary" @click="confirmStorage" :loading="upLoadStorage">确 定</el-button>
      </span>
    </el-dialog>
    <el-dialog title="样品出库" :visible.sync="exportVisible" width="350px">
      <div class="shaoma">
        <img src="../../../static/img/扫码.svg" alt="" style="margin-right: 5px;">
@@ -269,54 +264,50 @@
          </div>
        </el-col>
      </el-row>
         <span slot="footer" class="dialog-footer">
            <el-button @click="exportVisible = false">取 消</el-button>
            <el-button type="primary" @click="confirmExport" :loading="upLoadExport">确 定</el-button>
         </span>
      </el-dialog>
      <span slot="footer" class="dialog-footer">
        <el-button @click="exportVisible = false">取 消</el-button>
        <el-button type="primary" @click="confirmExport" :loading="upLoadExport">确 定</el-button>
      </span>
    </el-dialog>
    <el-dialog title="库位维护" :visible.sync="keepVisible" width="350px">
      <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'label' }" node-key="label"
               :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
               @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" v-if="keepVisible">
               <div class="custom-tree-node" style="width: 100%;" slot-scope="{ node, data }">
                  <el-row style="width: 100%;display: flex;align-items: center;">
                     <el-col :span="20">
                        <span><i
                              :class="`node_i ${data.children != undefined ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i>
                           {{ data.code }} {{ data.label }}</span>
                     </el-col>
              <el-col :span="4" v-if="node.level<3">
                <el-button
                  type="text"
                  size="mini" icon="el-icon-edit" @click.stop="handleEdit(data,node.level)">
                </el-button>
                <el-button
                  type="text"
                  size="mini" icon="el-icon-delete" @click.stop="handleDelete(data,node.level)">
                </el-button>
              </el-col>
                  </el-row>
               </div>
            </el-tree>
         <span slot="footer" class="dialog-footer">
            <el-button @click="keepVisible = false">取 消</el-button>
            <el-button type="primary" @click="confirmKeep" :loading="upLoadKeep">确 定</el-button>
         </span>
      </el-dialog>
      <el-tree :data="warehouse" ref="tree" :props="{ children: 'warehouseShelfList', label: 'name' }" node-key="id"
        :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
        @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" v-if="keepVisible">
        <div class="custom-tree-node" style="width: 100%;" slot-scope="{ node, data }">
          <el-row style="width: 100%;display: flex;align-items: center;">
            <el-col :span="20">
              <span><i
                  :class="`node_i ${data.children != undefined ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i>
                {{ data.name }}</span>
            </el-col>
            <el-col :span="4" v-if="node.level<3">
              <el-button type="text" size="mini" icon="el-icon-edit" @click.stop="handleEdit(data,node.level)">
              </el-button>
              <el-button type="text" size="mini" icon="el-icon-delete" @click.stop="handleDelete(data,node.level)">
              </el-button>
            </el-col>
          </el-row>
        </div>
      </el-tree>
      <span slot="footer" class="dialog-footer">
        <el-button @click="keepVisible = false">取 消</el-button>
        <el-button type="primary" @click="confirmKeep" :loading="upLoadKeep">确 定</el-button>
      </span>
    </el-dialog>
    <el-dialog :title="isEdit?'仓库修改':'仓库新增'" :visible.sync="warehouseVisible" width="350px">
      <el-row>
        <el-col class="search_thing" :span="24">
          <div class="search_label"><span class="required-span">* </span>仓库名称:</div>
          <div class="search_input">
            <el-input v-model="value" size="small"></el-input>
            <el-input v-model="value" size="small" @keyup.enter.native="confirmWarehouse"></el-input>
          </div>
        </el-col>
      </el-row>
         <span slot="footer" class="dialog-footer">
            <el-button @click="warehouseVisible = false">取 消</el-button>
            <el-button type="primary" @click="confirmWarehouse" :loading="upLoadWarehouse">确 定</el-button>
         </span>
      </el-dialog>
      <span slot="footer" class="dialog-footer">
        <el-button @click="warehouseVisible = false">取 消</el-button>
        <el-button type="primary" @click="confirmWarehouse" :loading="upLoadWarehouse">确 定</el-button>
      </span>
    </el-dialog>
    <el-dialog :title="isEdit?'货架修改':'货架新增'" :visible.sync="shelvesVisible" width="350px">
      <el-row>
        <el-col class="search_thing" :span="24">
@@ -342,521 +333,493 @@
          </div>
        </el-col>
      </el-row>
         <span slot="footer" class="dialog-footer">
            <el-button @click="shelvesVisible = false">取 消</el-button>
            <el-button type="primary" @click="confirmShelves" :loading="upLoadShelves">确 定</el-button>
         </span>
      </el-dialog>
   </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="shelvesVisible = false">取 消</el-button>
        <el-button type="primary" @click="confirmShelves" :loading="upLoadShelves">确 定</el-button>
      </span>
    </el-dialog>
  </div>
</template>
<script>
import Detail from '../do/b1-sample/detail.vue'
   export default {
      components: {
  import Detail from '../do/b1-sample/detail.vue'
  export default {
    components: {
      Detail
      },
      data() {
         return {
            entity: {},
        statusList:[],
        storageVisible:false,
        exportVisible:false,
        keepVisible:false,
        warehouseVisible:false,
        shelvesVisible:false,
        upLoadStorage:false,
        upLoadExport:false,
        upLoadKeep:false,
        upLoadWarehouse:false,
        upLoadShelves:false,
        tableList:[
          [
            {
              title:'1-1-4',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
    },
    data() {
      return {
        entity: {
          warehouseId: null,
          shelfId: null
        },
        warehouse: [],
        shelf: [],
        storageVisible: false,
        exportVisible: false,
        keepVisible: false,
        warehouseVisible: false,
        shelvesVisible: false,
        upLoadStorage: false,
        upLoadExport: false,
        upLoadKeep: false,
        upLoadWarehouse: false,
        upLoadShelves: false,
        tableList: [
          [{
              title: '1-1-4',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-2-4',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-2-4',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-3-4',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-3-4',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-4-4',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-4-4',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-5-4',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-5-4',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-6-4',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-6-4',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-7-4',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-7-4',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
          ],
          [
          {
              title:'1-1-3',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
          [{
              title: '1-1-3',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-2-3',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-2-3',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-3-3',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-3-3',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-4-3',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-4-3',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-5-3',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-5-3',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-6-3',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-6-3',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-7-3',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-7-3',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
          ],
          [
          {
              title:'1-1-2',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
          [{
              title: '1-1-2',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-2-2',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-2-2',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-3-2',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-3-2',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-4-2',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-4-2',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-5-2',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-5-2',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-6-2',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-6-2',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-7-2',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-7-2',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
          ],
          [
          {
              title:'1-1-1',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
          [{
              title: '1-1-1',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-2-1',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-2-1',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-3-1',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-3-1',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-4-1',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-4-1',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-5-1',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-5-1',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-6-1',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-6-1',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
            {
              title:'1-7-1',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
              title: '1-7-1',
              list: [{
                  name: '原材料',
                  specs: '规格1',
                  num: 20,
                  type: 0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                  name: '原材料',
                  specs: '规格2',
                  num: 20,
                  type: 1,
                },
              ]
            },
          ]
        ],
        rowList:[
        rowList: [
          '1列',
          '2列',
          '3列',
@@ -865,159 +828,175 @@
          '6列',
          '7列',
        ],
        value:'',
        list:[
          {
            code:1,
            label:'父级',
            children:[
              {
                code:1,
                label:'子级1',
                children:[
                  {
                    code:1,
                    label:'子级2',
                    children:[
                      {
                        code:1,
                        label:'子级3',
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        value: '',
        list: [{
          code: 1,
          label: '父级',
          children: [{
            code: 1,
            label: '子级1',
            children: [{
              code: 1,
              label: '子级2',
              children: [{
                code: 1,
                label: '子级3',
              }]
            }]
          }]
        }],
        selectTree: null,
        expandedKeys: [],
        isEdit:false,//弹框--是否是修改,默认为false
        isDetail:false,//详情--是否展示为详情页面,默认为false
         }
      },
      mounted() {
      },
      methods: {
        isEdit: false, //弹框--是否是修改,默认为false
        isDetail: false, //详情--是否展示为详情页面,默认为false
      }
    },
    mounted() {
      this.selectList()
    },
    methods: {
      selectList() {
        this.$axios.get(this.$api.warehouse.selectWarehouse).then(res => {
          this.warehouse = res.data
        })
      },
      selectStandardTreeList() {
            this.$axios.get(this.$api.standardTree.selectStandardTreeList).then(res => {
               this.list = res.data
               this.list.forEach(a => {
                  a.children.forEach(b => {
                     this.expandedKeys.push(b.label)
                  })
               })
            })
         },
         refreshTable() {
            this.$refs['ValueTable'].selectList()
         },
         refresh() {
            this.entity = this.HaveJson(this.entity)
         },
         handleClose() {
            this.upLoad = false;
         },
        this.$axios.get(this.$api.standardTree.selectStandardTreeList).then(res => {
          this.list = res.data
          this.list.forEach(a => {
            a.children.forEach(b => {
              this.expandedKeys.push(b.label)
            })
          })
        })
      },
      refreshTable() {
        this.selectList()
      },
      refresh() {
        this.entity = this.HaveJson(this.entity)
      },
      handleClose() {
        this.upLoad = false;
      },
      // 入库
      confirmStorage(){
        if(!this.value){
      confirmStorage() {
        if (!this.value) {
          this.$message.error('请填写样品编号')
          return
        }
        let trees = this.selectTree.split(" - ")
            if (trees.length < 4) {
               this.$message.error('未选择样品')
               return
            }
        if (trees.length < 4) {
          this.$message.error('未选择样品')
          return
        }
        this.upLoadStorage = true;
      },
      // 出库
      confirmExport(){
        if(!this.value){
      confirmExport() {
        if (!this.value) {
          this.$message.error('请填写样品编号')
          return
        }
        this.upLoadExport = true;
      },
      // 维护
      confirmKeep(){
      confirmKeep() {
        this.upLoadKeep = true;
      },
      // 添加仓库
      confirmWarehouse(){
        if(!this.value){
      confirmWarehouse() {
        if (!this.value) {
          this.$message.error('请填写仓库名称')
          return
        }
        this.upLoadWarehouse = true;
        this.$axios.post(this.$api.warehouse.addWarehouse, {
          name: this.value
        }).then(res => {
          this.upLoadWarehouse = false;
          this.warehouseVisible = false
          if (res.code == 201) {
            this.$message.error('添加失败')
            return
          }
          this.$message.success('添加成功')
          this.selectList()
        })
      },
      // 添加货架
      confirmShelves(){
        if(!this.value){
      confirmShelves() {
        if (!this.value) {
          this.$message.error('请填写货架名称')
          return
        }
        this.upLoadShelves = true;
      },
      filterNode(value, data) {
            if (!value) return true;
            return data.label.indexOf(value) !== -1;
         },
      handleNodeClick(val, node, el) { //树的值
            this.selectTree = ''
            this.getNodeParent(node)
            this.selectTree = this.selectTree.replace(' - ', '')
            let data = this.selectTree.split(' - ')
            let data2 = ''
            for (let index = data.length - 1; index >= 0; index--) {
               data2 += " - " + data[index]
            }
            this.selectTree = data2.replace(' - ', '')
         },
      getNodeParent(val) {
            if (val.parent != null) {
               this.selectTree += ' - ' + val.label
               this.getNodeParent(val.parent)
            }
         },
      nodeOpen(data, node, el) {
            $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened')
         },
      nodeClose(data, node, el) {
            $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder')
         },
      handleDelete(row,level){
        this.$confirm('是否当前数据?', "警告", {
                     confirmButtonText: "确定",
                     cancelButtonText: "取消",
                     type: "warning"
                  }).then(() => {
                     this.$axios.post(this.$api.insOrder.delInsOrderTemplate, {
                        id: row.id
                     }).then(res => {
                        if (res.code === 201) {
                           return
                        }
                        this.$message.success('成功')
                        // this.selectInsOrderTemplate()
                     }).catch(e => {
                        this.$message.error('失败')
                     })
                  }).catch(() => {})
        if (!value) return true;
        return data.label.indexOf(value) !== -1;
      },
      handleEdit(data,level){
      handleNodeClick(val, node, el) { //树的值
        this.selectTree = ''
        this.getNodeParent(node)
        this.selectTree = this.selectTree.replace(' - ', '')
        let data = this.selectTree.split(' - ')
        let data2 = ''
        for (let index = data.length - 1; index >= 0; index--) {
          data2 += " - " + data[index]
        }
        this.selectTree = data2.replace(' - ', '')
      },
      getNodeParent(val) {
        if (val.parent != null) {
          this.selectTree += ' - ' + val.label
          this.getNodeParent(val.parent)
        }
      },
      nodeOpen(data, node, el) {
        $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened')
      },
      nodeClose(data, node, el) {
        $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder')
      },
      handleDelete(row, level) {
        this.$confirm('是否当前数据?', "警告", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning"
        }).then(() => {
          this.$axios.post(this.$api.insOrder.delInsOrderTemplate, {
            id: row.id
          }).then(res => {
            if (res.code === 201) {
              return
            }
            this.$message.success('成功')
            // this.selectInsOrderTemplate()
          }).catch(e => {
            this.$message.error('失败')
          })
        }).catch(() => {})
      },
      handleEdit(data, level) {
        this.isEdit = true;
        // 判断是第几层级,第一层级,修改仓库,第二层级修改货架
        if(level==1){
        if (level == 1) {
          this.warehouseVisible = true;
        }else{
        } else {
          this.shelvesVisible = true;
        }
      },
      // 查看详情
      handelDetail(row){
      handelDetail(row) {
        this.isDetail = true;
      },
      warehouseChange(val) {
        let map = this.warehouse.find(a => {
          return a.id === val ? a : null
        })
        this.shelf = map.warehouseShelfList
      }
      }
   }
    }
  }
</script>