From 14cd7084961205846e3ca8770da70dce9e2bbe75 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期三, 20 三月 2024 15:48:54 +0800
Subject: [PATCH] 完成样品管理页面

---
 src/components/do/b1-sample/detail.vue        |  159 +++++++
 src/components/view/b1-report-preparation.vue |    4 
 src/components/view/b1-sample.vue             | 1023 +++++++++++++++++++++++++++++++++++++++++++++++++++
 static/js/menu.js                             |    2 
 static/img/扫码.svg                             |    1 
 5 files changed, 1,186 insertions(+), 3 deletions(-)

diff --git a/src/components/do/b1-sample/detail.vue b/src/components/do/b1-sample/detail.vue
new file mode 100644
index 0000000..c4c1a06
--- /dev/null
+++ b/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="瀛樻斁鍛ㄦ湡锛坔锛�" 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>
diff --git a/src/components/view/b1-report-preparation.vue b/src/components/view/b1-report-preparation.vue
index 10fa4a4..1f90830 100644
--- a/src/components/view/b1-report-preparation.vue
+++ b/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() {
diff --git a/src/components/view/b1-sample.vue b/src/components/view/b1-sample.vue
new file mode 100644
index 0000000..e05bf0f
--- /dev/null
+++ b/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,//寮规--鏄惁鏄慨鏀�,榛樿涓篺alse
+        isDetail:false,//璇︽儏--鏄惁灞曠ず涓鸿鎯呴〉闈紝榛樿涓篺alse
+			}
+		},
+		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>
diff --git "a/static/img/\346\211\253\347\240\201.svg" "b/static/img/\346\211\253\347\240\201.svg"
new file mode 100644
index 0000000..e8f3d49
--- /dev/null
+++ "b/static/img/\346\211\253\347\240\201.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>
\ No newline at end of file
diff --git a/static/js/menu.js b/static/js/menu.js
index 6e89662..9ba4edd 100644
--- a/static/js/menu.js
+++ b/static/js/menu.js
@@ -37,7 +37,7 @@
 		}, {
 			v: "鏍峰搧绠$悊",
 			i: "font icon-erjidaohang",
-			u: "",
+			u: "b1-sample",
 			p: ""
 		}]
 	},

--
Gitblit v1.9.3