licp
2024-03-20 14cd7084961205846e3ca8770da70dce9e2bbe75
完成样品管理页面
已修改2个文件
已添加3个文件
1189 ■■■■■ 文件已修改
src/components/do/b1-sample/detail.vue 159 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/b1-report-preparation.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/b1-sample.vue 1023 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/img/扫码.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/js/menu.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-sample/detail.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,159 @@
<template>
  <div style="width: 100%;height: 100%;overflow-y: auto;">
    <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" @click="hanldeBack">返回</el-button>
        </el-col>
      </el-row>
    </div>
    <div class="search">
      <div class="search_thing">
        <div class="search_label">样品编号:</div>
        <div class="search_input">
          <el-input size="small" placeholder="请输入" clearable
                            v-model="entity.sample" disabled></el-input>
        </div>
      </div>
      <div class="search_thing">
        <div class="search_label">样品数量:</div>
        <div class="search_input">
          <el-input size="small" placeholder="请输入" clearable
                            v-model="entity.sample" disabled></el-input>
        </div>
      </div>
      <div class="search_thing">
        <div class="search_label">样品名称:</div>
        <div class="search_input">
          <el-input size="small" placeholder="请输入" clearable
                            v-model="entity.sample" disabled></el-input>
        </div>
      </div>
      <div class="search_thing">
        <div class="search_label">单位:</div>
        <div class="search_input">
          <el-input size="small" placeholder="请输入" clearable
                            v-model="entity.sample" disabled></el-input>
        </div>
      </div>
      <div class="search_thing">
        <div class="search_label">入库时间:</div>
        <div class="search_input">
          <el-input size="small" placeholder="请输入" clearable
                            v-model="entity.sample" disabled></el-input>
        </div>
      </div>
      <div class="search_thing">
        <div class="search_label">入库人:</div>
        <div class="search_input">
          <el-input size="small" placeholder="请输入" clearable
                            v-model="entity.sample" disabled></el-input>
        </div>
      </div>
      <div class="search_thing">
        <div class="search_label">库位号:</div>
        <div class="search_input">
          <el-input size="small" placeholder="请输入" clearable
                            v-model="entity.sample" disabled></el-input>
        </div>
      </div>
    </div>
    <h4>检验项目</h4>
    <div class="table">
      <el-table class="el-table" ref="productTable" :data="productList" height="380px" tooltip-effect="dark" border>
                <el-table-column type="index" align="center" label="序号" width="70" :key="Math.random()">
                </el-table-column>
                <el-table-column prop="inspectionItemSubclass" label="检验项" min-width="100"
                    show-overflow-tooltip></el-table-column>
                <el-table-column prop="sonLaboratory" label="检验项分类" min-width="100" show-overflow-tooltip></el-table-column>
                <el-table-column prop="method" label="实验室" min-min-width="100" show-overflow-tooltip></el-table-column>
                <el-table-column prop="unit" label="单位" min-width="100" show-overflow-tooltip></el-table-column>
                <el-table-column prop="price" label="设备" min-width="100" show-overflow-tooltip></el-table-column>
                <el-table-column prop="manDay" label="委托编号" min-width="100" show-overflow-tooltip></el-table-column>
                <el-table-column prop="manHourGroup" label="检验人" min-width="100" show-overflow-tooltip></el-table-column>
                <el-table-column prop="section" label="检验时间" min-width="100" show-overflow-tooltip></el-table-column>
                <el-table-column prop="ask" label="结论" min-width="100">
                    <template slot-scope="scope">
            <el-tag
              :type="scope.row.type" size="medium">{{scope.row.label}}</el-tag>
                    </template>
                </el-table-column>
            </el-table>
    </div>
    <h4>出入库历史</h4>
    <div class="table" style="margin-bottom: 20px;">
      <el-table class="el-table" ref="productTable" :data="productList" height="380px" tooltip-effect="dark" border>
                <el-table-column type="index" align="center" label="序号" width="70" :key="Math.random()">
                </el-table-column>
                <el-table-column prop="inspectionItemSubclass" label="类型"
                    show-overflow-tooltip></el-table-column>
                <el-table-column prop="sonLaboratory" label="操作人"  show-overflow-tooltip></el-table-column>
                <el-table-column prop="method" label="操作时间"  show-overflow-tooltip></el-table-column>
                <el-table-column prop="unit" label="库位号" show-overflow-tooltip></el-table-column>
                <el-table-column prop="price" label="存放周期(h)" show-overflow-tooltip></el-table-column>
            </el-table>
    </div>
  </div>
</template>
<script>
export default {
  data(vm) {
      return{
        entity:{},
        productList:[]
      }
  },
  methods:{
    hanldeBack(){
      this.$emit('hanldeBack')
    }
  }
}
</script>
<style scoped>
    .title {
        height: 60px;
        line-height: 60px;
    }
    .search {
        background-color: #fff;
        height: 120px;
        display: flex;
        align-items: center;
    flex-wrap: wrap;
    }
    .search_thing {
        display: flex;
        align-items: center;
        height: 40px;
    }
    .search_label {
        width: 120px;
        font-size: 14px;
        text-align: right;
    }
    .search_input {
        width: calc(100% - 120px);
    }
    .table {
        margin-top: 10px;
        background-color: #fff;
        width: calc(100% - 40px);
        padding: 20px;
    }
  h4{
    font-size: 16px;
    font-weight: normal;
    margin-top: 10px;
    margin-left: 20px;
  }
</style>
src/components/view/b1-report-preparation.vue
@@ -57,7 +57,7 @@
                <div class="search_thing">
                    <div class="search_label">状态:</div>
                    <div class="search_input">
          <el-select v-model="componentData.entity.status" placeholder="全部">
          <el-select v-model="componentData.entity.status" placeholder="全部" size="small">
            <el-option
              v-for="item in statusList"
              :key="item.value"
@@ -188,7 +188,7 @@
                entityCopy: {},
                upIndex: 0,
        statusList:[],
        claimVisible:true
        claimVisible:false
            }
        },
        mounted() {
src/components/view/b1-sample.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,1023 @@
<style scoped>
    .title {
        height: 60px;
        line-height: 60px;
    }
    .search {
        background-color: #fff;
        height: 80px;
        display: flex;
        align-items: center;
    position: relative;
    }
    .search_thing {
        display: flex;
        align-items: center;
        height: 50px;
    }
    .search_label {
        width: 90px;
        font-size: 14px;
        text-align: right;
    }
    .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;
    }
    .el-form-item {
        margin-bottom: 16px;
    }
  .btns{
    position: absolute;
    right: 10px;
    top: 25px;
    display: flex;
    align-items: center;
    z-index: 9;
  }
  .tables{
    width: 100%;
    height: 100%;
    border-bottom: none;
  }
  .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 ul{
    list-style-type: none;
  }
  .tables ul li{
    border-radius: 3px;
    padding: 4px 10px;
    box-sizing: border-box;
    margin-bottom: 5px;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: start;
    color: #333333;
    cursor: pointer;
  }
  .tables h4{
    color: #999999;
    font-size: 14px;
    font-weight: 400;
    padding: 6px 0;
  }
  .tables i {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    margin-right: 6px;
  }
  .blue{
    background: rgba(58,123,250,0.18);
  }
  .blue i{
    background: #3A7BFA;
  }
  .blue .num{
    color: #3A7BFA;
  }
  .green{
    background: #E0F6EA;
  }
  .green i{
    background: #34BD66;
  }
  .green .num{
    color: #34BD66;
  }
  .el-dialog{
    position: relative;
  }
  .shaoma{
    display: flex;
    align-items: center;
    font-size: 14px;
    color: #3A7BFA;
    position: absolute;
    top: 23px;
    right: 54px;
    cursor: pointer;
  }
  .node_i {
        color: orange;
        font-size: 18px;
    }
  .custom-tree-node .el-button {
        opacity: 0;
    }
    .custom-tree-node:hover .el-button {
        opacity: 1;
    }
</style>
<template>
    <div class="inspection_order">
        <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="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-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">
              </el-option>
            </el-select>
          </div>
                </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 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>
        </div>
            </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>
        </table>
            </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;">
        <span>扫码入库</span>
      </div>
      <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>
          </div>
        </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>
    <el-dialog title="样品出库" :visible.sync="exportVisible" width="350px">
      <div class="shaoma">
        <img src="../../../static/img/扫码.svg" alt="" style="margin-right: 5px;">
        <span>扫码出库</span>
      </div>
      <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>
          </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>
    <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-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>
          </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>
    <el-dialog :title="isEdit?'货架修改':'货架新增'" :visible.sync="shelvesVisible" 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>
          </div>
        </el-col>
      </el-row>
      <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>
          </div>
        </el-col>
      </el-row>
      <el-row>
        <el-col class="search_thing" :span="24">
          <div class="search_label">货架列数:</div>
          <div class="search_input">
            <el-input v-model="value" size="small"></el-input>
          </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>
</template>
<script>
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,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-2-4',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-3-4',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-4-4',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-5-4',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-6-4',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-7-4',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
          ],
          [
          {
              title:'1-1-3',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-2-3',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-3-3',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-4-3',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-5-3',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-6-3',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-7-3',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
          ],
          [
          {
              title:'1-1-2',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-2-2',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-3-2',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-4-2',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-5-2',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-6-2',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-7-2',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
          ],
          [
          {
              title:'1-1-1',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-2-1',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-3-1',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-4-1',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-5-1',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-6-1',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
            {
              title:'1-7-1',
              list:[
                {
                  name:'原材料',
                  specs:'规格1',
                  num:20,
                  type:0,
                },
                {
                  name:'原材料',
                  specs:'规格2',
                  num:20,
                  type:1,
                },
              ]
            },
          ]
        ],
        rowList:[
          '1列',
          '2列',
          '3列',
          '4列',
          '5列',
          '6列',
          '7列',
        ],
        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: {
      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;
            },
      // å…¥åº“
      confirmStorage(){
        if(!this.value){
          this.$message.error('请填写样品编号')
          return
        }
        let trees = this.selectTree.split(" - ")
                if (trees.length < 4) {
                    this.$message.error('未选择样品')
                    return
                }
        this.upLoadStorage = true;
      },
      // å‡ºåº“
      confirmExport(){
        if(!this.value){
          this.$message.error('请填写样品编号')
          return
        }
        this.upLoadExport = true;
      },
      // ç»´æŠ¤
      confirmKeep(){
        this.upLoadKeep = true;
      },
      // æ·»åŠ ä»“åº“
      confirmWarehouse(){
        if(!this.value){
          this.$message.error('请填写仓库名称')
          return
        }
        this.upLoadWarehouse = true;
      },
      // æ·»åŠ è´§æž¶
      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(() => {})
      },
      handleEdit(data,level){
        this.isEdit = true;
        // åˆ¤æ–­æ˜¯ç¬¬å‡ å±‚级,第一层级,修改仓库,第二层级修改货架
        if(level==1){
          this.warehouseVisible = true;
        }else{
          this.shelvesVisible = true;
        }
      },
      // æŸ¥çœ‹è¯¦æƒ…
      handelDetail(row){
        this.isDetail = true;
      }
        }
    }
</script>
static/img/ɨÂë.svg
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1710830528536" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2013" width="18" height="18" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M928 544 96 544c-17.664 0-32-14.336-32-32s14.336-32 32-32l832 0c17.696 0 32 14.336 32 32S945.696 544 928 544zM832 928l-192 0c-17.696 0-32-14.304-32-32s14.304-32 32-32l192 0c17.664 0 32-14.336 32-32l0-160c0-17.696 14.304-32 32-32s32 14.304 32 32l0 160C928 884.928 884.928 928 832 928zM352 928 192 928c-52.928 0-96-43.072-96-96l0-160c0-17.696 14.336-32 32-32s32 14.304 32 32l0 160c0 17.664 14.368 32 32 32l160 0c17.664 0 32 14.304 32 32S369.664 928 352 928zM128 384c-17.664 0-32-14.336-32-32L96 192c0-52.928 43.072-96 96-96l160 0c17.664 0 32 14.336 32 32s-14.336 32-32 32L192 160C174.368 160 160 174.368 160 192l0 160C160 369.664 145.664 384 128 384zM896 384c-17.696 0-32-14.336-32-32L864 192c0-17.632-14.336-32-32-32l-192 0c-17.696 0-32-14.336-32-32s14.304-32 32-32l192 0c52.928 0 96 43.072 96 96l0 160C928 369.664 913.696 384 896 384z" fill="#3A7BFA" p-id="2014"></path></svg>
static/js/menu.js
@@ -37,7 +37,7 @@
        }, {
            v: "样品管理",
            i: "font icon-erjidaohang",
            u: "",
            u: "b1-sample",
            p: ""
        }]
    },