From 2ce4792824c3c85faa5137df546953fc0ba8e5fc Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 05 一月 2024 15:31:32 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/northglass-erp/src/router/index.js                                     |   23 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue       |   35 
 north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue                      |    8 
 north-glass-erp/northglass-erp/src/views/mm/mainTrader/Trader.vue                      |   11 
 north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/MaterialOutbound.vue   |   13 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ProductStock.vue          |   16 
 north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Return.vue                   |  136 ++
 north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue       |    2 
 north-glass-erp/northglass-erp/src/views/sd/product/Product.vue                        |    2 
 north-glass-erp/northglass-erp/src/views/sd/returns/SelectReturns.vue                  |    8 
 north-glass-erp/northglass-erp/src/views/sd/product/Test.vue                           |    5 
 north-glass-erp/northglass-erp/src/components/basic/BasicTable.vue                     |    1 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue         |  223 ++++
 north-glass-erp/northglass-erp/src/views/sd/returns/SelectDeliveryList.vue             |    8 
 north-glass-erp/northglass-erp/src/views/mm/mainIngredient/CreateIngredients.vue       |   24 
 north-glass-erp/northglass-erp/package-lock.json                                       |   24 
 north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue               |    8 
 north-glass-erp/northglass-erp/src/views/mm/mainTrader/SelectTrader.vue                |   10 
 north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/IngredientsStock.vue   |   16 
 north-glass-erp/northglass-erp/src/views/sd/product/testSort.vue                       |  141 ++
 north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/CreateHeader.vue             |  739 ++++++++++++++
 north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Create.vue                   |  254 +++-
 north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/PurchaseOrder.vue            |   41 
 north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Storage.vue                  |  165 ++
 north-glass-erp/.idea/workspace.xml                                                    |   52 
 north-glass-erp/northglass-erp/src/views/mm/mainIngredient/Ingredients.vue             |   12 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedGoodsIssue.vue    |   48 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/CreateProductStock.vue    |   11 
 north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue                |    8 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TransferRecord.vue        |  202 +++
 north-glass-erp/.idea/vcs.xml                                                          |    1 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductRework.vue |   40 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ReworkRecord.vue          |  231 ++++
 north-glass-erp/northglass-erp/src/views/mm/stockReport/WarehouseReport.vue            |  135 ++
 north-glass-erp/northglass-erp/src/hook/index.js                                       |   12 
 north-glass-erp/.idea/dataSources.local.xml                                            |    2 
 /dev/null                                                                              |   40 
 north-glass-erp/northglass-erp/src/views/mm/stockReport/StockReport.vue                |   31 
 north-glass-erp/northglass-erp/package.json                                            |    2 
 north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/CreateOutBound.vue     |    9 
 north-glass-erp/northglass-erp/src/views/sd/product/SelectProduct.vue                  |  179 ++
 north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue                |    8 
 north-glass-erp/northglass-erp/src/views/LoginView.vue                                 |   22 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductOut.vue    |   46 
 44 files changed, 2,576 insertions(+), 428 deletions(-)

diff --git a/north-glass-erp/.idea/dataSources.local.xml b/north-glass-erp/.idea/dataSources.local.xml
index 8f9f738..bf05ca9 100644
--- a/north-glass-erp/.idea/dataSources.local.xml
+++ b/north-glass-erp/.idea/dataSources.local.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
-  <component name="dataSourceStorageLocal" created-in="IU-232.8660.185">
+  <component name="dataSourceStorageLocal" created-in="IU-232.9559.62">
     <data-source name="@localhost [2]" uuid="165c5447-d19a-4aaf-af5f-cee92ae696c2">
       <database-info product="MySQL" version="8.0.22" jdbc-version="4.2" driver-name="MySQL Connector/J" driver-version="mysql-connector-java-8.0.25 (Revision: 08be9e9b4cba6aa115f9b27b215887af40b159e0)" dbms="MYSQL" exact-version="8.0.22" exact-driver-version="8.0">
         <extra-name-characters>#@</extra-name-characters>
diff --git a/north-glass-erp/.idea/vcs.xml b/north-glass-erp/.idea/vcs.xml
index 288b36b..6c0b863 100644
--- a/north-glass-erp/.idea/vcs.xml
+++ b/north-glass-erp/.idea/vcs.xml
@@ -2,6 +2,5 @@
 <project version="4">
   <component name="VcsDirectoryMappings">
     <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
-    <mapping directory="$PROJECT_DIR$" vcs="Git" />
   </component>
 </project>
\ No newline at end of file
diff --git a/north-glass-erp/.idea/workspace.xml b/north-glass-erp/.idea/workspace.xml
index a01039c..9f8d10d 100644
--- a/north-glass-erp/.idea/workspace.xml
+++ b/north-glass-erp/.idea/workspace.xml
@@ -4,7 +4,25 @@
     <option name="autoReloadType" value="SELECTIVE" />
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="402214ec-6c93-4a9d-b589-f17dc90f718e" name="鏇存敼" comment="11.24鎻愪氦" />
+    <list default="true" id="402214ec-6c93-4a9d-b589-f17dc90f718e" name="鏇存敼" comment="11.24鎻愪氦">
+      <change afterPath="$PROJECT_DIR$/northglass-erp/src/views/sd/product/testSort.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/northglass-erp/package-lock.json" beforeDir="false" afterPath="$PROJECT_DIR$/northglass-erp/package-lock.json" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/northglass-erp/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/northglass-erp/package.json" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/northglass-erp/src/router/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/northglass-erp/src/router/index.js" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/northglass-erp/src/views/sd/customer/SelectCustomer.vue" beforeDir="false" afterPath="$PROJECT_DIR$/northglass-erp/src/views/sd/customer/SelectCustomer.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/northglass-erp/src/views/sd/delivery/SelectDelivery.vue" beforeDir="false" afterPath="$PROJECT_DIR$/northglass-erp/src/views/sd/delivery/SelectDelivery.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/northglass-erp/src/views/sd/delivery/SelectOrderList.vue" beforeDir="false" afterPath="$PROJECT_DIR$/northglass-erp/src/views/sd/delivery/SelectOrderList.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/northglass-erp/src/views/sd/order/SelectOrder.vue" beforeDir="false" afterPath="$PROJECT_DIR$/northglass-erp/src/views/sd/order/SelectOrder.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/northglass-erp/src/views/sd/product/Product.vue" beforeDir="false" afterPath="$PROJECT_DIR$/northglass-erp/src/views/sd/product/Product.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/northglass-erp/src/views/sd/product/SelectProduct.vue" beforeDir="false" afterPath="$PROJECT_DIR$/northglass-erp/src/views/sd/product/SelectProduct.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/northglass-erp/src/views/sd/product/Test.vue" beforeDir="false" afterPath="$PROJECT_DIR$/northglass-erp/src/views/sd/product/Test.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/northglass-erp/src/views/sd/returns/SelectDeliveryList.vue" beforeDir="false" afterPath="$PROJECT_DIR$/northglass-erp/src/views/sd/returns/SelectDeliveryList.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/northglass-erp/src/views/sd/returns/SelectReturns.vue" beforeDir="false" afterPath="$PROJECT_DIR$/northglass-erp/src/views/sd/returns/SelectReturns.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/northglass-erp/vite.config.js" beforeDir="false" afterPath="$PROJECT_DIR$/northglass-erp/vite.config.js" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application.yml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/application.yml" afterDir="false" />
+    </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
@@ -67,7 +85,7 @@
     &quot;project.structure.side.proportion&quot;: &quot;0.0&quot;,
     &quot;settings.editor.selected.configurable&quot;: &quot;preferences.pluginManager&quot;,
     &quot;spring.configuration.checksum&quot;: &quot;def6d90e829e50c63f98c387daecd138&quot;,
-    &quot;ts.external.directory.path&quot;: &quot;D:\\杞欢\\IntelliJ IDEA 2023.2\\plugins\\javascript-impl\\jsLanguageServicesImpl\\external&quot;,
+    &quot;ts.external.directory.path&quot;: &quot;D:\\file\\IntelliJ IDEA 2023.2.1\\plugins\\javascript-impl\\jsLanguageServicesImpl\\external&quot;,
     &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
   },
   &quot;keyToStringList&quot;: {
@@ -104,7 +122,7 @@
       <command value="length" />
     </option>
   </component>
-  <component name="RunManager" selected="npm.dev">
+  <component name="RunManager" selected="Spring Boot.ErpApplication">
     <configuration default="true" type="ArquillianJUnit" factoryName="" nameIsGenerated="true">
       <option name="arquillianRunConfiguration">
         <value>
@@ -212,9 +230,8 @@
       <workItem from="1702631535326" duration="205000" />
       <workItem from="1702858329054" duration="9016000" />
       <workItem from="1703031064839" duration="55055000" />
-      <workItem from="1703463546867" duration="21185000" />
-      <workItem from="1704156530617" duration="3579000" />
-      <workItem from="1704326593184" duration="11706000" />
+      <workItem from="1703463546867" duration="16447000" />
+      <workItem from="1703811064202" duration="29032000" />
     </task>
     <task id="LOCAL-00001" summary="绗竴娆℃帹閫�">
       <option name="closed" value="true" />
@@ -375,6 +392,29 @@
     <MESSAGE value="11.24鎻愪氦" />
     <option name="LAST_COMMIT_MESSAGE" value="11.24鎻愪氦" />
   </component>
+  <component name="XDebuggerManager">
+    <breakpoint-manager>
+      <breakpoints>
+        <line-breakpoint enabled="true" type="javascript">
+          <url>file://$PROJECT_DIR$/northglass-erp/src/views/sd/product/SelectProduct.vue</url>
+          <line>38</line>
+          <option name="timeStamp" value="4" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="javascript">
+          <url>file://$PROJECT_DIR$/northglass-erp/src/views/sd/product/SelectProduct.vue</url>
+          <line>254</line>
+          <properties lambdaOrdinal="-1" />
+          <option name="timeStamp" value="7" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="javascript">
+          <url>file://$PROJECT_DIR$/northglass-erp/src/views/sd/product/SelectProduct.vue</url>
+          <line>179</line>
+          <properties lambdaOrdinal="-1" />
+          <option name="timeStamp" value="8" />
+        </line-breakpoint>
+      </breakpoints>
+    </breakpoint-manager>
+  </component>
   <component name="XSLT-Support.FileAssociations.UIState">
     <expand />
     <select />
diff --git a/north-glass-erp/northglass-erp/package-lock.json b/north-glass-erp/northglass-erp/package-lock.json
index 65fc3f5..1df6e78 100644
--- a/north-glass-erp/northglass-erp/package-lock.json
+++ b/north-glass-erp/northglass-erp/package-lock.json
@@ -14,12 +14,14 @@
         "element-plus": "^2.4.0",
         "pinia": "^2.1.6",
         "pinia-plugin-persistedstate": "^3.2.0",
+        "sortablejs": "^1.15.1",
         "vue": "^3.3.4",
         "vue-router": "^4.2.4",
         "vxe-table": "^4.5.15",
         "xe-utils": "^3.5.14"
       },
       "devDependencies": {
+        "@types/sortablejs": "^1.15.7",
         "@vitejs/plugin-vue": "^4.3.4",
         "vite": "^4.4.9"
       }
@@ -507,6 +509,12 @@
       "dependencies": {
         "@types/lodash": "*"
       }
+    },
+    "node_modules/@types/sortablejs": {
+      "version": "1.15.7",
+      "resolved": "https://registry.npmmirror.com/@types/sortablejs/-/sortablejs-1.15.7.tgz",
+      "integrity": "sha512-PvgWCx1Lbgm88FdQ6S7OGvLIjWS66mudKPlfdrWil0TjsO5zmoZmzoKiiwRShs1dwPgrlkr0N4ewuy0/+QUXYQ==",
+      "dev": true
     },
     "node_modules/@types/web-bluetooth": {
       "version": "0.0.16",
@@ -1316,6 +1324,11 @@
         "fsevents": "~2.3.2"
       }
     },
+    "node_modules/sortablejs": {
+      "version": "1.15.1",
+      "resolved": "https://registry.npmmirror.com/sortablejs/-/sortablejs-1.15.1.tgz",
+      "integrity": "sha512-P5Cjvb0UG1ZVNiDPj/n4V+DinttXG6K8n7vM/HQf0C25K3YKQTQY6fsr/sEGsJGpQ9exmPxluHxKBc0mLKU1lQ=="
+    },
     "node_modules/source-map-js": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
@@ -1717,6 +1730,12 @@
       "requires": {
         "@types/lodash": "*"
       }
+    },
+    "@types/sortablejs": {
+      "version": "1.15.7",
+      "resolved": "https://registry.npmmirror.com/@types/sortablejs/-/sortablejs-1.15.7.tgz",
+      "integrity": "sha512-PvgWCx1Lbgm88FdQ6S7OGvLIjWS66mudKPlfdrWil0TjsO5zmoZmzoKiiwRShs1dwPgrlkr0N4ewuy0/+QUXYQ==",
+      "dev": true
     },
     "@types/web-bluetooth": {
       "version": "0.0.16",
@@ -2265,6 +2284,11 @@
         "fsevents": "~2.3.2"
       }
     },
+    "sortablejs": {
+      "version": "1.15.1",
+      "resolved": "https://registry.npmmirror.com/sortablejs/-/sortablejs-1.15.1.tgz",
+      "integrity": "sha512-P5Cjvb0UG1ZVNiDPj/n4V+DinttXG6K8n7vM/HQf0C25K3YKQTQY6fsr/sEGsJGpQ9exmPxluHxKBc0mLKU1lQ=="
+    },
     "source-map-js": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
diff --git a/north-glass-erp/northglass-erp/package.json b/north-glass-erp/northglass-erp/package.json
index 112b4cd..dd1d18c 100644
--- a/north-glass-erp/northglass-erp/package.json
+++ b/north-glass-erp/northglass-erp/package.json
@@ -14,12 +14,14 @@
     "element-plus": "^2.4.0",
     "pinia": "^2.1.6",
     "pinia-plugin-persistedstate": "^3.2.0",
+    "sortablejs": "^1.15.1",
     "vue": "^3.3.4",
     "vue-router": "^4.2.4",
     "vxe-table": "^4.5.15",
     "xe-utils": "^3.5.14"
   },
   "devDependencies": {
+    "@types/sortablejs": "^1.15.7",
     "@vitejs/plugin-vue": "^4.3.4",
     "vite": "^4.4.9"
   }
diff --git a/north-glass-erp/northglass-erp/src/components/basic/BasicTable.vue b/north-glass-erp/northglass-erp/src/components/basic/BasicTable.vue
index c626c51..6cb5437 100644
--- a/north-glass-erp/northglass-erp/src/components/basic/BasicTable.vue
+++ b/north-glass-erp/northglass-erp/src/components/basic/BasicTable.vue
@@ -48,7 +48,6 @@
 <script lang="ts" setup>
 import {ref, reactive, defineEmits, onMounted, nextTick, toRef, watch} from 'vue'
 import {VxeGridProps, VXETable} from 'vxe-table'
-import scrollEvnt from '@/hook/index'
 import request from "@/utils/request"
 import deepClone from "@/utils/deepClone";
 import {ElMessage} from "element-plus";
diff --git a/north-glass-erp/northglass-erp/src/hook/index.js b/north-glass-erp/northglass-erp/src/hook/index.js
index bc74eef..e69de29 100644
--- a/north-glass-erp/northglass-erp/src/hook/index.js
+++ b/north-glass-erp/northglass-erp/src/hook/index.js
@@ -1,12 +0,0 @@
-import useProductStore from "@/stores/sd/product/prduct"
-let productStore = useProductStore()
-export default  function  scrollEvnt(row){
-    // 鍐呭楂樺害
-    var scrollHeight = row.$event.target.scrollHeight
-    var clientHeight = row.$event.target.clientHeight
-    var scrollTop = row.$event.target.scrollTop
-    //婊氬姩鍒板簳閮�
-    if ((Math.round(scrollTop + clientHeight) >= scrollHeight ) ) {
-        productStore.flag=true
-    }
-}
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/router/index.js b/north-glass-erp/northglass-erp/src/router/index.js
index 7935ed0..7643d07 100644
--- a/north-glass-erp/northglass-erp/src/router/index.js
+++ b/north-glass-erp/northglass-erp/src/router/index.js
@@ -47,6 +47,11 @@
               component: () => import('../views/sd/product/Test11.vue')
             },
             {
+              path: 'testSort',
+              name: 'testSort',
+              component: () => import('../views/sd/product/testSort.vue')
+            },
+            {
               path: '',
               redirect:'/main/product/selectProduct'
             }
@@ -571,6 +576,24 @@
               name: 'finishedProductRework',
               component:()=>import('../views/mm/mainProductStock/FinishedProductRework.vue'),
             },
+            {
+              // 璋冩嫧璁板綍
+              path: 'transferRecord',
+              name: 'transferRecord',
+              component:()=>import('../views/mm/mainProductStock/TransferRecord.vue'),
+            },
+            {
+              // 棰嗗嚭璁板綍
+              path: 'takeOutRecord',
+              name: 'takeOutRecord',
+              component:()=>import('../views/mm/mainProductStock/TakeOutRecord.vue'),
+            },
+            {
+              // 杩斿伐璁板綍
+              path: 'reworkRecord',
+              name: 'reworkRecord',
+              component:()=>import('../views/mm/mainProductStock/ReworkRecord.vue'),
+            },
 
             {
               path: '',
diff --git a/north-glass-erp/northglass-erp/src/stores/sd/product/prduct.js b/north-glass-erp/northglass-erp/src/stores/sd/product/prduct.js
deleted file mode 100644
index 4b117d6..0000000
--- a/north-glass-erp/northglass-erp/src/stores/sd/product/prduct.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import {defineStore} from 'pinia'
-import {ref} from "vue";
-
-export  default defineStore("product",{
-    state: () =>{
-        let pageNum=$ref(1)
-        let pageSize=$ref(100)
-        let flag=$ref(false)
-        return {
-            pageNum,
-            pageSize,
-            flag
-        }
-    }
-})
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/LoginView.vue b/north-glass-erp/northglass-erp/src/views/LoginView.vue
index 6c1e834..154d12b 100644
--- a/north-glass-erp/northglass-erp/src/views/LoginView.vue
+++ b/north-glass-erp/northglass-erp/src/views/LoginView.vue
@@ -1,5 +1,5 @@
 <script lang="ts" setup>
-import {reactive, ref} from "vue"
+import {onMounted, onUnmounted, reactive, ref} from "vue"
 import {useRouter,useRoute } from 'vue-router'
 import type {FormInstance, FormRules} from 'element-plus'
 import { ElMessage } from "element-plus";
@@ -9,7 +9,7 @@
 import { sendSock, createWebSocket, closeSock,global_callback1 } from "@/utils/webSocket"
 
 const store=userInfo()
-const ruleFormRef  = ref<FormInstance>()
+let ruleFormRef  = ref<FormInstance>()
 const router = useRouter()
 const route = useRoute()
 
@@ -80,10 +80,23 @@
 let loginLoadings= ref(false)
 let registerLoadings= ref(false)
 
+const keyDown = (e) => {
+  // 鍥炶溅鍒欐墽琛岀櫥褰曟柟娉� enter閿殑ASCII鏄�13
+  if (e.keyCode == 13 || e.keyCode == 100) {
+    submitForm(ruleFormRef.value)
+  }
+}
+onMounted(()=>{
+  window.addEventListener('keydown', keyDown)
+})
+onUnmounted(() => {
+  window.removeEventListener('keydown', keyDown)
+})
+
 </script>
 
 <template>
-  <div class="mainDiv">
+  <div class="mainDiv" >
     <div id="main-login">
       <div id="img-div">
         <img id="img-pic" src="@/assets/img.png" alt="">
@@ -91,6 +104,7 @@
       <div id="div-login">
         <h2>鍖楃幓鑷姩鍖朎RP绠$悊绯荤粺</h2>
         <el-form
+            @submit.native.prevent
             ref="ruleFormRef"
             :model="userForm"
             status-icon
@@ -124,7 +138,9 @@
             <el-button
                 :loading="loginLoadings"
                 type="primary"
+                native-type="submit"
                 @click="submitForm(ruleFormRef)"
+                @keyup.enter.native="keyDown(e)"
             >鐧诲綍
             </el-button>
 
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/CreateIngredients.vue b/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/CreateIngredients.vue
index 265fd86..2b8e08e 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/CreateIngredients.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/CreateIngredients.vue
@@ -167,19 +167,19 @@
 <!--     <el-divider ></el-divider> &lt;!&ndash; 娣诲姞鍒嗛殧绾� &ndash;&gt;-->
 
 
-     <el-row gutter="5">
-<!--       <el-col :span="4.5">-->
-<!--         <el-input v-model="name" placeholder="璇疯緭鍏ヤ繚璐ㄦ湡" style="width: 150px; height: 30px;" />-->
-<!--       </el-col>-->
-<!--       <el-col :span="4.5">-->
-<!--         <el-input v-model="name" placeholder="璇疯緭鍏ユ渶楂橀璀�" style="width: 150px; height: 30px;" />-->
-<!--       </el-col>-->
-<!--       <el-col :span="4.5">-->
-<!--         <el-input v-model="name" placeholder="璇疯緭鍏ユ媶鍖呴璀�" style="width: 150px; height: 30px;" />-->
-<!--       </el-col>-->
+<!--     <el-row gutter="5">-->
+<!--&lt;!&ndash;       <el-col :span="4.5">&ndash;&gt;-->
+<!--&lt;!&ndash;         <el-input v-model="name" placeholder="璇疯緭鍏ヤ繚璐ㄦ湡" style="width: 150px; height: 30px;" />&ndash;&gt;-->
+<!--&lt;!&ndash;       </el-col>&ndash;&gt;-->
+<!--&lt;!&ndash;       <el-col :span="4.5">&ndash;&gt;-->
+<!--&lt;!&ndash;         <el-input v-model="name" placeholder="璇疯緭鍏ユ渶楂橀璀�" style="width: 150px; height: 30px;" />&ndash;&gt;-->
+<!--&lt;!&ndash;       </el-col>&ndash;&gt;-->
+<!--&lt;!&ndash;       <el-col :span="4.5">&ndash;&gt;-->
+<!--&lt;!&ndash;         <el-input v-model="name" placeholder="璇疯緭鍏ユ媶鍖呴璀�" style="width: 150px; height: 30px;" />&ndash;&gt;-->
+<!--&lt;!&ndash;       </el-col>&ndash;&gt;-->
 
-     </el-row>
-     <el-divider ></el-divider> <!-- 娣诲姞鍒嗛殧绾� -->
+<!--     </el-row>-->
+<!--     <el-divider ></el-divider> &lt;!&ndash; 娣诲姞鍒嗛殧绾� &ndash;&gt;-->
      <el-row  gutter="10" justify="center" >
        <el-col span="4">
          <el-button id="searchButton" type="primary" :icon="Search">鏌ヨ</el-button>
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/Ingredients.vue b/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/Ingredients.vue
index e8fbf67..b9dbc8d 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/Ingredients.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/Ingredients.vue
@@ -12,15 +12,18 @@
 
 
 const router = useRouter()
-
+let indexFlag=$ref(1)
+function changeRouter(index){
+  indexFlag=index
+}
 </script>
 
 <template>
   <div id="main">
     <div id="div-title">
       <el-breadcrumb :separator-icon="ArrowRight">
-        <el-breadcrumb-item :to="{ path: '/main/ingredients/SelectIngredients' }">鐗╂枡璧勬枡</el-breadcrumb-item>
-        <el-breadcrumb-item :to="{ path: '/main/ingredients/CreateIngredients' }">鐗╂枡鏂板</el-breadcrumb-item>
+        <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/ingredients/SelectIngredients' }">鐗╂枡璧勬枡</el-breadcrumb-item>
+        <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/ingredients/CreateIngredients' }">鐗╂枡鏂板</el-breadcrumb-item>
         <el-breadcrumb-item v-show="false" :to="{ path: '/main/order/orderReport' }">鎶ヨ〃</el-breadcrumb-item>
       </el-breadcrumb>
 
@@ -57,4 +60,7 @@
 #select{
   margin-left:0.5rem;
 }
+:deep(.indexTag .el-breadcrumb__inner){
+  color: #5CADFE !important;
+}
 </style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue b/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue
index 777c902..de48f33 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue
@@ -52,8 +52,8 @@
   columns:[
     {type:'expand',fixed:"left",slots: { content:'content' },width: '50'},
     // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
-    { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
     {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
+    { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
     {field: 'materialCode', width:'150', title: '鐗╂枡缂栫爜', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } } },
     {field: 'materialName', width: '150',title: '鐗╂枡鍚嶇О', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
     {field: 'origin', width: '120',title: '浜у湴', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/CreateOutBound.vue b/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/CreateOutBound.vue
index f34a0a3..68cf0be 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/CreateOutBound.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/CreateOutBound.vue
@@ -10,7 +10,7 @@
   switch (type) {
     case 'edit' :{
       alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
-      // router.push({path: '/main/trader/CreateTrader', query: { id: row.id }})
+      router.push({path: '/main/trader/CreateTrader', query: { id: row.id }})
       break
     }
     case 'delete':{
@@ -76,9 +76,10 @@
     {field: 'remark',width: '80', title: '澶囨敞', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } }},
   ],//琛ㄥご鎸夐挳
   toolbarConfig: {
-    buttons: [{
-      'name': '鎻愪氦',status:'primary'
-    }],
+    buttons: [
+        {'name': '鎻愪氦',status:'primary'},
+        {'name': '瀹℃牳',status:'primary', 'disabled': true}
+    ],
     import: false,
     export: true,
     print: true,
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/IngredientsStock.vue b/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/IngredientsStock.vue
index 4904079..7226bf6 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/IngredientsStock.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/IngredientsStock.vue
@@ -12,17 +12,20 @@
 
 
 const router = useRouter()
-
+let indexFlag=$ref(1)
+function changeRouter(index){
+  indexFlag=index
+}
 </script>
 
 <template>
   <div id="main">
     <div id="div-title">
       <el-breadcrumb :separator-icon="ArrowRight">
-        <el-breadcrumb-item :to="{ path: '/main/ingredientsStock/SelectIngredientsStock' }">鐗╂枡搴撳瓨</el-breadcrumb-item>
-        <el-breadcrumb-item :to="{ path: '/main/ingredientsStock/MaterialOutbound' }">鐗╂枡鍑哄簱</el-breadcrumb-item>
-        <el-breadcrumb-item :to="{ path: '/main/ingredientsStock/OriginalMonthlySettlement' }">鍘熺墖鏈堢粨</el-breadcrumb-item>
-        <el-breadcrumb-item :to="{ path: '/main/ingredientsStock/AccessoriesMonthlySettlement' }">杈呮枡鏈堢粨</el-breadcrumb-item>
+        <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/ingredientsStock/SelectIngredientsStock' }">鐗╂枡搴撳瓨</el-breadcrumb-item>
+        <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/ingredientsStock/MaterialOutbound' }">鐗╂枡鍑哄簱</el-breadcrumb-item>
+        <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/ingredientsStock/OriginalMonthlySettlement' }">鍘熺墖鏈堢粨</el-breadcrumb-item>
+        <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/ingredientsStock/AccessoriesMonthlySettlement' }">杈呮枡鏈堢粨</el-breadcrumb-item>
         <el-breadcrumb-item v-show="false" :to="{ path: '/main/order/orderReport' }">鎶ヨ〃</el-breadcrumb-item>
       </el-breadcrumb>
 
@@ -59,4 +62,7 @@
 #select{
   margin-left:0.5rem;
 }
+:deep(.indexTag .el-breadcrumb__inner){
+  color: #5CADFE !important;
+}
 </style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/MaterialOutbound.vue b/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/MaterialOutbound.vue
index 5c370a7..b7e5868 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/MaterialOutbound.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/MaterialOutbound.vue
@@ -10,7 +10,7 @@
   switch (type) {
     case 'edit' :{
       alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
-      // router.push({path: '/main/trader/CreateTrader', query: { id: row.id }})
+      router.push({path: '/main/ingredientsStock/CreateOutbound', query: { id: row.id }})
       break
     }
     case 'delete':{
@@ -54,9 +54,12 @@
   },//琛ㄥご鍙傛暟
   columns:[
     {type:'expand',fixed:"left",slots: { content:'content' },width: '50'},
-    { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
-    { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
     {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
+    // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
+    { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
+
+    {title: '瀹℃牳', width: 50, slots: { default: 'state' },},
+
     {field: 'InventoryOrganization', width:'150', title: '搴撳瓨缁勭粐', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } } },
     {field: 'MaterialCode', width: '150',title: '鐗╂枡缂栫爜', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
     {field: 'MaterialName', width: '120',title: '鐗╂枡鍚嶇О', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
@@ -231,11 +234,15 @@
         </div>
       </template>
 
+      <template #state="{ row}">
+        <el-checkbox checked/>
+      </template>
 
     </vxe-grid>
   </div>
 </template>
 
+
 <style scoped>
 .main-div-customer{
   width: 99%;
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/CreateProductStock.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/CreateProductStock.vue
index fed6891..8a7f575 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/CreateProductStock.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/CreateProductStock.vue
@@ -1,6 +1,6 @@
 <script setup>
 
-import {reactive} from "vue";
+import {reactive, ref} from "vue";
 import {useRouter} from  'vue-router'
 let router=useRouter()
 const getTableRow = (row,type) =>{
@@ -194,19 +194,14 @@
   }
 
 })
-
+const  xGrid = ref();
 const gridEvents = {
   toolbarButtonClick ({ code }) {
     const $grid = xGrid.value
     if ($grid) {
       switch (code) {
         case 'add': {
-
-          router.push({path: '/main/trader/CreateTrader'})
-          /*if($grid.getCheckboxRecords().length==0){
-            VXETable.modal.message( '璇烽�夋嫨涓�鏉℃暟鎹紒')
-            return
-          }*/
+          alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
           return;
         }
 
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedGoodsIssue.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedGoodsIssue.vue
index 42f7a37..a47bc52 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedGoodsIssue.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedGoodsIssue.vue
@@ -3,7 +3,7 @@
 
 <script setup>
 
-import {reactive} from "vue";
+import {reactive, ref} from "vue";
 import {useRouter} from  'vue-router'
 let router=useRouter()
 const getTableRow = (row,type) =>{
@@ -24,36 +24,33 @@
     // }
   }
 }
+const  xGrid = ref();
 const gridEvents = {
-  toolbarButtonClick ({ code }) {
+  toolbarButtonClick({ code }) {
     const $grid = xGrid.value
-    if ($grid) {
-      switch (code) {
-        case 'add': {
-
-          router.push({path: '/main/trader/CreateTrader'})
-          /*if($grid.getCheckboxRecords().length==0){
-            VXETable.modal.message( '璇烽�夋嫨涓�鏉℃暟鎹紒')
-            return
-          }*/
-          return;
-        }
-
-      }
-    }
-  },
-  toolbarToolClick ({ code }) {
-    const $grid = xGrid.value
-    if ($grid) {
-      switch (code) {
-        case 'myPrint': {
-          $grid.print()
+    if($grid){
+      switch (code){
+        case 'verify':{
+          alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
+          // router.push({path: '/main/productStock/OrderAllocation'});
+          // return;
           break
+        }
+        case 'out':{
+          router.push({path: '/main/productStock/TakeOutRecord'});
+          return;
+          break;
+        }
+        case 'rework':{
+          router.push({path: '/main/productStock/FinishedProductRework'});
+          return;
+          break;
         }
       }
     }
   },
 }
+
 
 
 
@@ -113,9 +110,10 @@
   toolbarConfig: {
     buttons: [{
       'name': '纭棰嗗嚭',
+      'code': 'verify',
       status: 'primary'
     },{
-      'name': '棰嗗嚭璁板綍',
+      'name': '棰嗗嚭璁板綍','code':'out',
     }],
     import: false,
     export: true,
@@ -206,7 +204,7 @@
         class="mytable-scrollbar"
         ref="xGrid"
         v-bind="gridOptions"
-
+        v-on="gridEvents"
     >
       <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
       <!--      涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductOut.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductOut.vue
index f192b1d..8ea5570 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductOut.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductOut.vue
@@ -1,6 +1,6 @@
 <script setup>
 
-import {reactive} from "vue";
+import {reactive, ref} from "vue";
 import {useRouter} from  'vue-router'
 let router=useRouter()
 const getTableRow = (row,type) =>{
@@ -18,6 +18,33 @@
       //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
       router.push({path: '/main/productStock/FinishedGoodsIssue', query: { id: row.id }})
       break
+    }
+  }
+}
+
+const  xGrid = ref();
+const gridEvents = {
+  toolbarButtonClick({ code }) {
+    const $grid = xGrid.value
+    if($grid){
+      switch (code){
+        case 'ver':{
+          alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
+          // router.push({path: '/main/productStock/OrderAllocation'});
+          // return;
+          break
+        }
+        case 'record':{
+          router.push({path: '/main/productStock/TransferRecord'});
+          return;
+          break;
+        }
+        case 'rework':{
+          router.push({path: '/main/productStock/FinishedProductRework'});
+          return;
+          break;
+        }
+      }
     }
   }
 }
@@ -83,7 +110,8 @@
   toolbarConfig: {
     buttons: [{
       'name': '纭鍑哄簱',
-      status: 'primary'
+      status: 'primary',
+      'code':'ver'
     }],
     import: false,
     export: true,
@@ -103,7 +131,7 @@
       "OrderQuantity": "7",
       "Length": "1230.00",
       "Width": "1075.00",
-      "Thickness": "6銆�700",
+      "Thickness": "6.700",
       "TotalQuantity": "100.00",
       "TotalArea": "360.80",
       "BoxNumber": "06",
@@ -124,7 +152,7 @@
       "OrderQuantity": "7",
       "Length": "1230.00",
       "Width": "1075.00",
-      "Thickness": "6銆�700",
+      "Thickness": "6.700",
       "TotalQuantity": "100.00",
       "TotalArea": "360.80",
       "BoxNumber": "06",
@@ -145,7 +173,7 @@
       "OrderQuantity": "7",
       "Length": "1230.00",
       "Width": "1075.00",
-      "Thickness": "6銆�700",
+      "Thickness": "6.700",
       "TotalQuantity": "100.00",
       "TotalArea": "360.80",
       "BoxNumber": "06",
@@ -166,7 +194,7 @@
       "OrderQuantity": "7",
       "Length": "1230.00",
       "Width": "1075.00",
-      "Thickness": "6銆�700",
+      "Thickness": "6.700",
       "TotalQuantity": "100.00",
       "TotalArea": "360.80",
       "BoxNumber": "06",
@@ -187,7 +215,7 @@
       "OrderQuantity": "7",
       "Length": "1230.00",
       "Width": "1075.00",
-      "Thickness": "6銆�700",
+      "Thickness": "6.700",
       "TotalQuantity": "100.00",
       "TotalArea": "360.80",
       "BoxNumber": "06",
@@ -208,7 +236,7 @@
       "OrderQuantity": "7",
       "Length": "1230.00",
       "Width": "1075.00",
-      "Thickness": "6銆�700",
+      "Thickness": "6.700",
       "TotalQuantity": "100.00",
       "TotalArea": "360.80",
       "BoxNumber": "06",
@@ -249,7 +277,7 @@
         class="mytable-scrollbar"
         ref="xGrid"
         v-bind="gridOptions"
-
+        v-on="gridEvents"
     >
       <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
       <!--      涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductRework.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductRework.vue
index bf6222e..6450da7 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductRework.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductRework.vue
@@ -4,7 +4,7 @@
 
 <script setup>
 
-import {reactive} from "vue";
+import {reactive, ref} from "vue";
 import {useRouter} from  'vue-router'
 let router=useRouter()
 const getTableRow = (row,type) =>{
@@ -24,6 +24,32 @@
       break
     }
   }
+}
+const  xGrid = ref();
+const gridEvents = {
+  toolbarButtonClick({ code }) {
+    const $grid = xGrid.value
+    if($grid){
+      switch (code){
+        case 'ver':{
+          alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
+          // router.push({path: '/main/productStock/OrderAllocation'});
+          // return;
+          break
+        }
+        case 'record':{
+          router.push({path: '/main/productStock/ReworkRecord'});
+          return;
+          break;
+        }
+        case 'rework':{
+          router.push({path: '/main/productStock/FinishedProductRework'});
+          return;
+          break;
+        }
+      }
+    }
+  },
 }
 
 
@@ -82,9 +108,13 @@
   ],//琛ㄥご鎸夐挳
   toolbarConfig: {
     buttons: [{
-      'name': '杩斿伐纭',status: 'primary'
-    },{
-      'name': '杩斿伐璁板綍'
+      'name': '杩斿伐纭',
+      status: 'primary',
+      'code':'ver'
+    },
+      {
+      'name': '杩斿伐璁板綍',
+        'code':'record'
     }],
     import: false,
     export: true,
@@ -175,7 +205,7 @@
         class="mytable-scrollbar"
         ref="xGrid"
         v-bind="gridOptions"
-
+        v-on="gridEvents"
     >
       <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
       <!--      涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue
index 269bac9..8d38fb8 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue
@@ -3,7 +3,7 @@
 
 <script setup>
 
-import {reactive} from "vue";
+import {reactive, ref} from "vue";
 import {useRouter} from  'vue-router'
 let router=useRouter()
 const getTableRow = (row,type) =>{
@@ -84,8 +84,8 @@
   ],//琛ㄥご鎸夐挳
   toolbarConfig: {
     buttons: [
-        {'name': '纭璋冩灦',status: 'primary'},
-        {'name': '璋冩嫧璁板綍'}
+        {'name': '纭璋冩嫧',status: 'primary','code':'edit'},
+        {'name': '璋冩嫧璁板綍','code':'record'}
     ],
     import: false,
     export: true,
@@ -167,7 +167,32 @@
 
 })
 
-
+const  xGrid = ref();
+const gridEvents = {
+  toolbarButtonClick({ code }) {
+    const $grid = xGrid.value
+    if($grid){
+      switch (code){
+        case 'edit':{
+          alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
+          // router.push({path: '/main/productStock/OrderAllocation'});
+          // return;
+          break
+        }
+        case 'record':{
+          router.push({path: '/main/productStock/TransferRecord'});
+          return;
+          break;
+        }
+        case 'rework':{
+          router.push({path: '/main/productStock/FinishedProductRework'});
+          return;
+          break;
+        }
+      }
+    }
+  }
+}
 
 </script>
 
@@ -179,7 +204,7 @@
         class="mytable-scrollbar"
         ref="xGrid"
         v-bind="gridOptions"
-
+        v-on="gridEvents"
     >
       <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
       <!--      涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocationUpdate.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocationUpdate.vue
deleted file mode 100644
index b76d7a7..0000000
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocationUpdate.vue
+++ /dev/null
@@ -1,40 +0,0 @@
-<template>
-  <div>
-    <h2>缂栬緫椤甸潰</h2>
-    <form @submit.prevent="handleSubmit">
-      <!-- 鏍规嵁闇�瑕佸睍绀鸿緭鍏ユ鎴栧叾浠栬〃鍗曠粍浠� -->
-      <label>閿�鍞崟鍙�</label>
-      <input v-model="rowData.閿�鍞崟鍙�" />
-
-      <!-- 鍏朵粬瀛楁鐪佺暐 -->
-
-      <button type="submit">纭畾</button>
-    </form>
-  </div>
-</template>
-
-<script
-import { ref } from 'vue';
-import { useRoute, useRouter } from 'vue-router';
-
-export default {
-  setup() {
-    const route = useRoute();
-    const router = useRouter();
-
-    const rowData = ref(JSON.parse(route.query.rowData));
-
-    const handleSubmit = () => {
-      // 澶勭悊缂栬緫瀹屾垚鍚庣殑閫昏緫锛屾瘮濡備繚瀛樻暟鎹瓑
-
-      // 杩斿洖涓婚〉闈�
-      router.push('/OrderAllocation.vue');
-    };
-
-    return {
-      rowData,
-      handleSubmit
-    };
-  }
-};
-</script>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ProductStock.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ProductStock.vue
index 7515eee..9616419 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ProductStock.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ProductStock.vue
@@ -9,17 +9,20 @@
 
 
 const router = useRouter()
-
+let indexFlag=$ref(1)
+function changeRouter(index){
+  indexFlag=index
+}
 </script>
 
 <template>
   <div id="main">
    <div id="div-title">
      <el-breadcrumb :separator-icon="ArrowRight">
-       <el-breadcrumb-item :to="{ path: '/main/productStock/ProductStockList' }">搴撳瓨鏌ヨ</el-breadcrumb-item>
-       <el-breadcrumb-item :to="{ path: '/main/productStock/CreateProductStock' }">鎴愬搧鍏ュ簱</el-breadcrumb-item>
-       <el-breadcrumb-item :to="{ path: '/main/productStock/FinishedProductOut' }">鎴愬搧鍑哄簱</el-breadcrumb-item>
-       <el-breadcrumb-item :to="{ path: '/main/productStock/FinishedProductReturn' }">璁㈠崟鎴愬搧閫�璐�</el-breadcrumb-item>
+       <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/productStock/ProductStockList' }">搴撳瓨鏌ヨ</el-breadcrumb-item>
+       <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/productStock/CreateProductStock' }">鎴愬搧鍏ュ簱</el-breadcrumb-item>
+       <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/productStock/FinishedProductOut' }">鎴愬搧鍑哄簱</el-breadcrumb-item>
+       <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/productStock/FinishedProductReturn' }">璁㈠崟鎴愬搧閫�璐�</el-breadcrumb-item>
        <el-breadcrumb-item v-show="false" :to="{ path: '/main/order/orderReport' }">鎶ヨ〃</el-breadcrumb-item>
 <!--       <el-breadcrumb-item :to="{ path: '/main/productStock/OrderAllocation' }">璁㈠崟璋冩嫧</el-breadcrumb-item>-->
 <!--       <el-breadcrumb-item :to="{ path: '/main/productStock/FinishedGoodsIssue' }">鎴愬搧棰嗗嚭</el-breadcrumb-item>-->
@@ -60,4 +63,7 @@
 #select{
   margin-left:0.5rem;
 }
+:deep(.indexTag .el-breadcrumb__inner){
+  color: #5CADFE !important;
+}
 </style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ReworkRecord.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ReworkRecord.vue
new file mode 100644
index 0000000..20a9b41
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ReworkRecord.vue
@@ -0,0 +1,231 @@
+<!-- 棰嗗嚭璁板綍  -->
+<script setup>
+
+import {reactive} from "vue";
+import {useRouter} from  'vue-router'
+let router=useRouter()
+const getTableRow = (row,type) =>{
+  switch (type) {
+    case 'edit' :{
+      //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
+      router.push({path: '/main/trader/CreateTrader', query: { id: row.id }})
+      break
+    }
+    case 'delete':{
+      alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
+      break
+    }
+  }
+}
+
+
+
+//瀛愮粍浠舵帴鏀跺弬鏁�
+
+const gridOptions = reactive({
+  border:  "full",//琛ㄦ牸鍔犺竟妗�
+  keepSource: true,//淇濇寔婧愭暟鎹�
+  align: 'center',//鏂囧瓧灞呬腑
+  stripe:true,//鏂戦┈绾�
+  rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+  id: 'CustomerList',
+  showFooter: true,//鏄剧ず鑴�
+  printConfig: {},
+  importConfig: {},
+  exportConfig: {},
+  scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
+  showOverflow:true,
+  columnConfig: {
+    resizable: true,
+    useKey: true
+  },
+  filterConfig: {   //绛涢�夐厤缃」
+    remote: true
+  },
+  customConfig: {
+    storage: true
+  },
+  editConfig: {
+    trigger: 'click',
+    mode: 'row',
+    showStatus: true
+  },//琛ㄥご鍙傛暟
+  columns:[
+    {type:'expand',fixed:"left",slots: { content:'content' },width: '50'},
+    // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
+    { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
+    // {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
+    {field: 'id', width:'150', title: '棰嗗嚭鍗曞彿', sortable: true,},
+    {field: 'MaterialCode', width: '150',title: '璁㈠崟鍙�', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'Code', width: '150',title: '搴忓彿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'MaterialName', width: '120',title: '琛ョ墖鍗曞彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'Origin', width: '100',title: '宸ュ簭', sortable: true},
+    {field: 'InventoryNumber',width: '100', title: '娆$牬鍘熷洜', sortable: true,showOverflow:"ellipsis"},
+    {field: 'Thickness', width: '80',title: '閫�璐у崟鍙�', sortable: true},
+    {field: 'MainUnit',width: '100', title: '瀹屽伐鏁伴噺', sortable: true},
+    {field: 'RecordNum',width: '100', title: '杩斿伐鏁伴噺', sortable: true},
+    {field: 'ProductNum',width: '100', title: '浜у搧缂栧彿', sortable: true},
+    {field: 'ProductName',width: '100', title: '浜у搧鍚嶇О', sortable: true},
+    {field: 'Height', width: '100',title: '闀�', sortable: true},
+    {field: 'Width',width: '100', title: '瀹�', sortable: true},
+    {field: 'status', width: '80',title: '瀹℃牳鐘舵��', sortable: true},
+    {field: 'ZhiDanRen', width: '80',title: '鍒跺崟浜�', sortable: true},
+    {field: 'SafetyStock', width: '100',title: '鍒跺崟鏃ユ湡', sortable: true},
+    {field: 'Auditor', width: '100',title: '瀹℃牳浜�', sortable: true},
+    {field: 'AuditorDate', width: '100',title: '瀹℃牳鏃ユ湡', sortable: true},
+  ],//琛ㄥご鎸夐挳
+  toolbarConfig: {
+    // buttons: [{
+    //   'name': '鏂板'
+    // }],
+    import: false,
+    export: true,
+    print: true,
+    zoom: true,
+    custom: true
+  },
+  data:  [
+    {
+      "id": "LC23123011",
+      "MaterialCode": "NG23060212",
+      "Code": "1",
+      "MaterialName": "11鏈�29閫�璐т紬鑷�",
+      "Origin": "鏅洪暅",
+      "InventoryNumber": '榛戠偣',
+      "Thickness": '',
+      "MainUnit": "",
+      "RecordNum": "876",
+      "ProductNum": "0604000108",
+      "ProductName": "4mm楂樻�ц兘鐜繚闀�",
+      "Height": "930.00",
+      "Width": "550.00",
+      "status": "宸插鏍�",
+      "ZhiDanRen": "鏇叉収闇�",
+      "SafetyStock": "2023-12-30",
+      "Auditor": "鏇叉収闇�",
+      "AuditorDate": "2023-12-30",
+    },
+    {
+      "id": "LC23123011",
+      "MaterialCode": "NG23060212",
+      "Code": "1",
+      "MaterialName": "11鏈�29閫�璐т紬鑷�",
+      "Origin": "鏅洪暅",
+      "InventoryNumber": '榛戠偣',
+      "Thickness": '',
+      "MainUnit": "",
+      "RecordNum": "876",
+      "ProductNum": "0604000108",
+      "ProductName": "4mm楂樻�ц兘鐜繚闀�",
+      "Height": "930.00",
+      "Width": "550.00",
+      "status": "宸插鏍�",
+      "ZhiDanRen": "鏇叉収闇�",
+      "SafetyStock": "2023-12-30",
+      "Auditor": "鏇叉収闇�",
+      "AuditorDate": "2023-12-30",
+    },
+    {
+      "id": "LC23123011",
+      "MaterialCode": "NG23060212",
+      "Code": "1",
+      "MaterialName": "11鏈�29閫�璐т紬鑷�",
+      "Origin": "鏅洪暅",
+      "InventoryNumber": '榛戠偣',
+      "Thickness": '',
+      "MainUnit": "",
+      "RecordNum": "876",
+      "ProductNum": "0604000108",
+      "ProductName": "4mm楂樻�ц兘鐜繚闀�",
+      "Height": "930.00",
+      "Width": "550.00",
+      "status": "宸插鏍�",
+      "ZhiDanRen": "鏇叉収闇�",
+      "SafetyStock": "2023-12-30",
+      "Auditor": "鏇叉収闇�",
+      "AuditorDate": "2023-12-30",
+    },
+  ],//table body瀹為檯鏁版嵁
+  footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
+    return[
+      columns.map((column, columnIndex) => {
+        if (columnIndex === 0) {
+          return '鍚堣:'
+        }
+        // if (props.tableProp.footList.includes(column.field)) {
+        //   return sumNum(data, column.field)
+        // }
+        return ''
+      })
+    ]
+  }
+
+})
+
+
+
+</script>
+
+<template>
+  <div class="main-div-customer">
+    <el-row gutter="10" >
+      <el-col :span="2.5">
+        <div class="label-text">鍒跺崟鏃ユ湡鑼冨洿</div>
+      </el-col>
+      <el-col :span="4">
+        <el-date-picker
+            type="daterange"
+            start-placeholder="寮�濮嬫椂闂�"
+            end-placeholder="缁撴潫鏃堕棿"
+            style="width: 200px;"
+        />
+      </el-col>
+      <el-col span="4">
+        <el-button id="searchButton" type="primary" :icon="Search">鏌ヨ</el-button>
+      </el-col>
+    </el-row>
+
+    <vxe-grid
+        max-height="100%"
+        @filter-change="filterChanged"
+        class="mytable-scrollbar"
+        ref="xGrid"
+        v-bind="gridOptions"
+
+    >
+      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
+      <!--      涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
+      <template #content="{ row}">
+        <ul class="expand-wrapper">
+          <li  v-for="(item,key,index) in row">
+            <span style="font-weight: bold">{{key+':  '}}</span>
+            <span>{{ item }}</span>
+          </li>
+        </ul>
+      </template>
+
+      <!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
+      <template #button_slot="{ row }">
+        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">缂栬緫</el-button>
+        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">鍒犻櫎</el-button>
+      </template>
+
+      <template #num1_filter="{ column, $panel }">
+        <div>
+          <div v-for="(option, index) in column.filters" :key="index">
+            <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/>
+          </div>
+        </div>
+      </template>
+
+
+    </vxe-grid>
+  </div>
+</template>
+
+<style scoped>
+.main-div-customer{
+  width: 99%;
+  height: 100%;
+}
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue
new file mode 100644
index 0000000..a82f79e
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue
@@ -0,0 +1,223 @@
+<!-- 棰嗗嚭璁板綍  -->
+<script setup>
+
+import {reactive} from "vue";
+import {useRouter} from  'vue-router'
+let router=useRouter()
+const getTableRow = (row,type) =>{
+  switch (type) {
+    case 'edit' :{
+      //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
+      router.push({path: '/main/trader/CreateTrader', query: { id: row.id }})
+      break
+    }
+    case 'delete':{
+      alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
+      break
+    }
+  }
+}
+
+
+
+//瀛愮粍浠舵帴鏀跺弬鏁�
+
+const gridOptions = reactive({
+  border:  "full",//琛ㄦ牸鍔犺竟妗�
+  keepSource: true,//淇濇寔婧愭暟鎹�
+  align: 'center',//鏂囧瓧灞呬腑
+  stripe:true,//鏂戦┈绾�
+  rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+  id: 'CustomerList',
+  showFooter: true,//鏄剧ず鑴�
+  printConfig: {},
+  importConfig: {},
+  exportConfig: {},
+  scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
+  showOverflow:true,
+  columnConfig: {
+    resizable: true,
+    useKey: true
+  },
+  filterConfig: {   //绛涢�夐厤缃」
+    remote: true
+  },
+  customConfig: {
+    storage: true
+  },
+  editConfig: {
+    trigger: 'click',
+    mode: 'row',
+    showStatus: true
+  },//琛ㄥご鍙傛暟
+  columns:[
+    {type:'expand',fixed:"left",slots: { content:'content' },width: '50'},
+    // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
+    { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
+    // {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
+    {field: 'id', width:'150', title: '棰嗗嚭鍗曞彿', sortable: true,},
+    {field: 'MaterialCode', width: '150',title: '鍘熻鍗曞彿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'Code', width: '150',title: '搴忓彿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'MaterialName', width: '120',title: '鏂拌鍗曞彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'Origin', width: '100',title: '鏂板簭鍙�', sortable: true},
+    {field: 'InventoryNumber',width: '100', title: '棰嗗嚭绫诲瀷', sortable: true,showOverflow:"ellipsis"},
+    {field: 'Thickness', width: '80',title: '璋冨嚭鏁伴噺', sortable: true},
+    {field: 'MainUnit',width: '100', title: '浜у搧缂栧彿', sortable: true},
+    {field: 'ProductName',width: '100', title: '浜у搧鍚嶇О', sortable: true},
+    {field: 'Height', width: '100',title: '闀�', sortable: true},
+    {field: 'Width',width: '100', title: '瀹�', sortable: true},
+    {field: 'ZhiDanRen', width: '80',title: '鍒跺崟浜�', sortable: true},
+    {field: 'status', width: '80',title: '鍗曟嵁鐘舵��', sortable: true},
+    {field: 'SafetyStock', width: '100',title: '鍒跺崟鏃ユ湡', sortable: true},
+    {field: 'Auditor', width: '100',title: '瀹℃牳浜�', sortable: true},
+    {field: 'AuditorDate', width: '100',title: '瀹℃牳鏃ユ湡', sortable: true},
+  ],//琛ㄥご鎸夐挳
+  toolbarConfig: {
+    // buttons: [{
+    //   'name': '鏂板'
+    // }],
+    import: false,
+    export: true,
+    print: true,
+    zoom: true,
+    custom: true
+  },
+  data:  [
+    {
+      "id": "LC23123011",
+      "MaterialCode": "NG23060212",
+      "Code": "1",
+      "MaterialName": "11鏈�29閫�璐т紬鑷�",
+      "Origin": "琛ュ崟",
+      "InventoryNumber": '閫�璐у簾寮�',
+      "Thickness": '876',
+      "MainUnit": "0604000108",
+      "ProductName": "4mm楂樻�ц兘鐜繚闀�",
+      "Height": "930.00",
+      "Width": "550.00",
+      "ZhiDanRen": "鏇叉収闇�",
+      "status": "宸插鏍�",
+      "SafetyStock": "2023-12-30",
+      "Auditor": "鏇叉収闇�",
+      "AuditorDate": "2023-12-30",
+    },
+    {
+      "id": "LC23123010",
+      "MaterialCode": "NG23060211",
+      "Code": "1",
+      "MaterialName": "11鏈�29閫�璐т紬鑷�",
+      "Origin": "琛ュ崟",
+      "InventoryNumber": '寮�浠嬮鍑�',
+      "Thickness": '584',
+      "MainUnit": "0604000107",
+      "ProductName": "5mm鐜哀鏍戣剛闀�",
+      "Height": "866.00",
+      "Width": "486.00",
+      "ZhiDanRen": "鏇叉収闇�",
+      "status": "宸插鏍�",
+      "SafetyStock": "2023-12-30",
+      "Auditor": "鏇叉収闇�",
+      "AuditorDate": "2023-12-30",
+    },
+    {
+      "id": "LC23123009",
+      "MaterialCode": "NG23060210",
+      "Code": "1",
+      "MaterialName": "11鏈�29閫�璐т紬鑷�",
+      "Origin": "琛ュ崟",
+      "InventoryNumber": '寮�浠嬮鍑�',
+      "Thickness": '584',
+      "MainUnit": "0604000106",
+      "ProductName": "5mm鐜哀鏍戣剛闀�",
+      "Height": "866.00",
+      "Width": "486.00",
+      "ZhiDanRen": "鏇叉収闇�",
+      "status": "宸插鏍�",
+      "SafetyStock": "2023-12-30",
+      "Auditor": "鏇叉収闇�",
+      "AuditorDate": "2023-12-30",
+    },
+  ],//table body瀹為檯鏁版嵁
+  footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
+    return[
+      columns.map((column, columnIndex) => {
+        if (columnIndex === 0) {
+          return '鍚堣:'
+        }
+        // if (props.tableProp.footList.includes(column.field)) {
+        //   return sumNum(data, column.field)
+        // }
+        return ''
+      })
+    ]
+  }
+
+})
+
+
+
+</script>
+
+<template>
+  <div class="main-div-customer">
+    <el-row gutter="10" >
+      <el-col :span="2.5">
+        <div class="label-text">鍒跺崟鏃ユ湡鑼冨洿</div>
+      </el-col>
+      <el-col :span="4">
+        <el-date-picker
+            type="daterange"
+            start-placeholder="寮�濮嬫椂闂�"
+            end-placeholder="缁撴潫鏃堕棿"
+            style="width: 200px;"
+        />
+      </el-col>
+      <el-col span="4">
+        <el-button id="searchButton" type="primary" :icon="Search">鏌ヨ</el-button>
+      </el-col>
+    </el-row>
+
+    <vxe-grid
+        max-height="100%"
+        @filter-change="filterChanged"
+        class="mytable-scrollbar"
+        ref="xGrid"
+        v-bind="gridOptions"
+
+    >
+      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
+      <!--      涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
+      <template #content="{ row}">
+        <ul class="expand-wrapper">
+          <li  v-for="(item,key,index) in row">
+            <span style="font-weight: bold">{{key+':  '}}</span>
+            <span>{{ item }}</span>
+          </li>
+        </ul>
+      </template>
+
+      <!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
+      <template #button_slot="{ row }">
+        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">缂栬緫</el-button>
+        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">鍒犻櫎</el-button>
+      </template>
+
+      <template #num1_filter="{ column, $panel }">
+        <div>
+          <div v-for="(option, index) in column.filters" :key="index">
+            <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/>
+          </div>
+        </div>
+      </template>
+
+
+    </vxe-grid>
+  </div>
+</template>
+
+<style scoped>
+.main-div-customer{
+  width: 99%;
+  height: 100%;
+}
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TransferRecord.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TransferRecord.vue
new file mode 100644
index 0000000..6fee8b0
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TransferRecord.vue
@@ -0,0 +1,202 @@
+<!-- 璋冩嫧璁板綍 -->
+<script setup>
+
+import {reactive} from "vue";
+import {useRouter} from  'vue-router'
+let router=useRouter()
+const getTableRow = (row,type) =>{
+  switch (type) {
+    case 'edit' :{
+      //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
+      router.push({path: '/main/trader/CreateTrader', query: { id: row.id }})
+      break
+    }
+    case 'delete':{
+      alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
+      break
+    }
+  }
+}
+
+
+
+//瀛愮粍浠舵帴鏀跺弬鏁�
+
+const gridOptions = reactive({
+  border:  "full",//琛ㄦ牸鍔犺竟妗�
+  keepSource: true,//淇濇寔婧愭暟鎹�
+  align: 'center',//鏂囧瓧灞呬腑
+  stripe:true,//鏂戦┈绾�
+  rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+  id: 'CustomerList',
+  showFooter: true,//鏄剧ず鑴�
+  printConfig: {},
+  importConfig: {},
+  exportConfig: {},
+  scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
+  showOverflow:true,
+  columnConfig: {
+    resizable: true,
+    useKey: true
+  },
+  filterConfig: {   //绛涢�夐厤缃」
+    remote: true
+  },
+  customConfig: {
+    storage: true
+  },
+  editConfig: {
+    trigger: 'click',
+    mode: 'row',
+    showStatus: true
+  },//琛ㄥご鍙傛暟
+  columns:[
+    {type:'expand',fixed:"left",slots: { content:'content' },width: '50'},
+    // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
+    { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
+    // {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
+    {field: 'id', width:'150', title: 'ID', sortable: true,},
+    {field: 'MaterialCode', width: '150',title: '鍘熻鍗曞彿', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'MaterialName', width: '120',title: '鏂拌鍗曞彿', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'Origin', width: '100',title: '鏂板簭鍙�', sortable: true},
+    {field: 'InventoryNumber',width: '100', title: '搴撳瓨鏁�', sortable: true,showOverflow:"ellipsis"},
+    {field: 'Width', width: '80',title: '璋冪敤鏁伴噺', sortable: true},
+    {field: 'ZhiDanRen', width: '80',title: '鍒跺崟浜�', sortable: true},
+    {field: 'Height',width: '100', title: '浜у搧缂栧彿', sortable: true},
+    {field: 'Thickness', width: '100',title: '闀�', sortable: true},
+    {field: 'MainUnit',width: '100', title: '瀹�', sortable: true},
+    {field: 'SafetyStock', width: '100',title: '鍒跺崟鏃ユ湡', sortable: true},
+  ],//琛ㄥご鎸夐挳
+  toolbarConfig: {
+    // buttons: [{
+    //   'name': '鏂板'
+    // }],
+    import: false,
+    export: true,
+    print: true,
+    zoom: true,
+    custom: true
+  },
+  data:  [
+    {
+      "id": "3765",
+      "MaterialCode": "NG23120709",
+      "MaterialName": "9",
+      "Origin": "NG23122010",
+      "InventoryNumber": "20",
+      "Width": '12.00',
+      "ZhiDanRen": '鍒樻檽鑹�',
+      "Height": "0601000437",
+      "Thickness": "1390.00",
+      "MainUnit": "760.00",
+      "SafetyStock": "2023-12-30",
+    },
+    {
+      "id": "3766",
+      "MaterialCode": "NG23120709",
+      "MaterialName": "9",
+      "Origin": "NG23122010",
+      "InventoryNumber": "20",
+      "Width": '12.00',
+      "ZhiDanRen": '鍒樻檽鑹�',
+      "Height": "0601000437",
+      "Thickness": "1390.00",
+      "MainUnit": "760.00",
+      "SafetyStock": "2023-12-30",
+    },{
+      "id": "3767",
+      "MaterialCode": "NG23120709",
+      "MaterialName": "9",
+      "Origin": "NG23122010",
+      "InventoryNumber": "20",
+      "Width": '12.00',
+      "ZhiDanRen": '鍒樻檽鑹�',
+      "Height": "0601000437",
+      "Thickness": "1390.00",
+      "MainUnit": "760.00",
+      "SafetyStock": "2023-12-30",
+    },
+  ],//table body瀹為檯鏁版嵁
+  footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
+    return[
+      columns.map((column, columnIndex) => {
+        if (columnIndex === 0) {
+          return '鍚堣:'
+        }
+        // if (props.tableProp.footList.includes(column.field)) {
+        //   return sumNum(data, column.field)
+        // }
+        return ''
+      })
+    ]
+  }
+
+})
+
+
+
+</script>
+
+<template>
+  <div class="main-div-customer">
+    <el-row gutter="10" >
+      <el-col :span="2.5">
+        <div class="label-text">鍒跺崟鏃ユ湡鑼冨洿</div>
+      </el-col>
+      <el-col :span="4">
+        <el-date-picker
+            type="daterange"
+            start-placeholder="寮�濮嬫椂闂�"
+            end-placeholder="缁撴潫鏃堕棿"
+            style="width: 200px;"
+        />
+      </el-col>
+      <el-col span="4">
+        <el-button id="searchButton" type="primary" :icon="Search">鏌ヨ</el-button>
+      </el-col>
+    </el-row>
+
+    <vxe-grid
+        max-height="100%"
+        @filter-change="filterChanged"
+        class="mytable-scrollbar"
+        ref="xGrid"
+        v-bind="gridOptions"
+
+    >
+      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
+      <!--      涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
+      <template #content="{ row}">
+        <ul class="expand-wrapper">
+          <li  v-for="(item,key,index) in row">
+            <span style="font-weight: bold">{{key+':  '}}</span>
+            <span>{{ item }}</span>
+          </li>
+        </ul>
+      </template>
+
+      <!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
+      <template #button_slot="{ row }">
+        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">缂栬緫</el-button>
+        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">鍒犻櫎</el-button>
+      </template>
+
+      <template #num1_filter="{ column, $panel }">
+        <div>
+          <div v-for="(option, index) in column.filters" :key="index">
+            <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/>
+          </div>
+        </div>
+      </template>
+
+
+    </vxe-grid>
+  </div>
+</template>
+
+<style scoped>
+.main-div-customer{
+  width: 99%;
+  height: 100%;
+}
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainTrader/SelectTrader.vue b/north-glass-erp/northglass-erp/src/views/mm/mainTrader/SelectTrader.vue
index 02261a1..a0cae16 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainTrader/SelectTrader.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainTrader/SelectTrader.vue
@@ -52,8 +52,8 @@
   columns:[
     {type:'expand',fixed:"left",slots: { content:'content' },width: '50'},
     // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
-    { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
     {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
+    { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
     {field: 'supplierCode', width:'150', title: '渚涘簲鍟嗙紪鍙�', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } } },
     {field: 'supplierName', width: '150',title: '渚涘簲鍟嗗悕绉�', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
     {field: 'agentProduct', width: '120',title: '浠g悊浜у搧', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
@@ -71,10 +71,10 @@
     {field: 'remark',width: '80', title: '澶囨敞', sortable: true},
   ],//琛ㄥご鎸夐挳
   toolbarConfig: {
-    buttons: [{
-      'name': '鏂板',
-       'code':'add'
-    },],
+    // buttons: [{
+    //   'name': '鏂板',
+    //    'code':'add'
+    // },],
     import: false,
     export: true,
     print: true,
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainTrader/Trader.vue b/north-glass-erp/northglass-erp/src/views/mm/mainTrader/Trader.vue
index e72659b..ceb3526 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainTrader/Trader.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainTrader/Trader.vue
@@ -12,14 +12,18 @@
 
 
 const router = useRouter()
-
+let indexFlag=$ref(1)
+function changeRouter(index){
+  indexFlag=index
+}
 </script>
 
 <template>
   <div id="main">
     <div id="div-title">
       <el-breadcrumb :separator-icon="ArrowRight">
-        <el-breadcrumb-item :to="{ path: '/main/trader/SelectTrader' }">渚涘簲鍟嗗垪琛�</el-breadcrumb-item>
+        <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/trader/SelectTrader' }">渚涘簲鍟嗗垪琛�</el-breadcrumb-item>
+        <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/trader/CreateTrader' }">渚涘簲鍟嗘柊澧�</el-breadcrumb-item>
         <el-breadcrumb-item v-show="false" :to="{ path: '/main/order/orderReport' }">鎶ヨ〃</el-breadcrumb-item>
 <!--        <el-breadcrumb-item :to="{ path: '/main/trader/CreateTrader' }">鍒涘缓</el-breadcrumb-item>-->
       </el-breadcrumb>
@@ -57,4 +61,7 @@
 #select{
   margin-left:0.5rem;
 }
+:deep(.indexTag .el-breadcrumb__inner){
+  color: #5CADFE !important;
+}
 </style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Create.vue b/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Create.vue
index 7478cd3..932c4b1 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Create.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Create.vue
@@ -75,16 +75,14 @@
         <el-col :span="6"></el-col>
 
       </el-row>
-
-
     </el-form>
 
   </el-header>
 
   <el-main style="padding-top: 5px;height:100%">
-<!--    <el-button class="mt-4" style="width: 10%" @click="onAddItem"
-    >娣诲姞
-    </el-button>-->
+    <!--    <el-button class="mt-4" style="width: 10%" @click="onAddItem"
+        >娣诲姞
+        </el-button>-->
 
     <vxe-grid
 
@@ -129,6 +127,7 @@
 
 <script setup>
 import {ref, reactive} from 'vue'
+
 let router = useRouter()
 
 //缁勪欢鎺ユ敹鍙傛暟
@@ -163,52 +162,159 @@
   columns: [
     //{title: '鎿嶄綔', width: '8%', slots: {default: 'button_slot'}, fixed: "left"},
     {type: 'seq', fixed: "left", title: ' ', width: 50},
-    {type: 'checkbox',fixed:"left", title: '', width: 50 },
-    {type: 'expand', title:'璇︽儏', fixed: "left", slots: {content: 'content'}, width: 50},
-    {field: 'cgdh', width: '10%', title: '鐗╂枡缂栫爜', filters: [{data: ''}], slots: {filter: 'num1_filter'}, editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
-    {field: 'cgzt', width: '10%', title: '鐗╂枡鍚嶇О', filters: [{data: ''}], slots: {filter: 'num1_filter'},editRender: { name: 'input', attrs: { placeholder: '' } }, sortable: true},
-    {field: 'gys', width: '10%',title: '浜у湴', filters: [{data: ''}], slots: {filter: 'num1_filter'}, editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
-    {field: 'w', width: '8%',title: '瀹藉害', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/  editRender: { name: 'input', attrs: { placeholder: '' } }, sortable: true},
-    {field: 'g', width: '8%',title: '楂樺害', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/  editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
-    {field: 'h', width: '8%',title: '鍘氬害', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/  editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
-    {field: 'xh', width: '8%',title: '鍨嬪彿',/*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/  editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
-    {field: 'dw', width: '8%',title: '鍗曚綅', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
-    {field: 'sl', width: '8%',title: '鏁伴噺', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
-    {field: 'sl', width: '8%',title: '鎿嶄綔鏁伴噺', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ editRender: { name: 'input', attrs: { placeholder: '' } }},
-    {field: 'sl', width: '12%',title: '绠辨暟',    /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
-    {field: 'je', width: '8%',title: '鍗曠墖闈㈢Н', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/  editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
-    {field: 'je', width: '12%',title: '鍗曚环',   /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/   editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
-    {field: '6', width: '8%',title: '鎬绘暟閲�',   /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/  editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
-    {field: 'sl', width: '8%',title: '鎬婚潰绉�', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/   editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
-    {field: 'yl', width: '10%',title: '鎬婚噾棰�',/*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/   editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
-    {field: 'yl', width: '10%',title: '澶囨敞', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/   editRender: { name: 'input', attrs: { placeholder: '' } }, sortable: true}
+    {type: 'checkbox', fixed: "left", title: '', width: 50},
+    {type: 'expand', title: '璇︽儏', fixed: "left", slots: {content: 'content'}, width: 50},
+    {
+      field: 'cgdh',
+      width: '10%',
+      title: '鐗╂枡缂栫爜',
+      filters: [{data: ''}],
+      slots: {filter: 'num1_filter'},
+      editRender: {name: 'input', attrs: {placeholder: ''}},
+      sortable: true
+    },
+    {
+      field: 'cgzt',
+      width: '10%',
+      title: '鐗╂枡鍚嶇О',
+      filters: [{data: ''}],
+      slots: {filter: 'num1_filter'},
+      editRender: {name: 'input', attrs: {placeholder: ''}},
+      sortable: true
+    },
+    {
+      field: 'gys',
+      width: '10%',
+      title: '浜у湴',
+      filters: [{data: ''}],
+      slots: {filter: 'num1_filter'},
+      editRender: {name: 'input', attrs: {placeholder: ''}},
+      sortable: true
+    },
+    {
+      field: 'w',
+      width: '8%',
+      title: '瀹藉害', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
+      editRender: {name: 'input', attrs: {placeholder: ''}},
+      sortable: true
+    },
+    {
+      field: 'g',
+      width: '8%',
+      title: '楂樺害', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
+      editRender: {name: 'input', attrs: {placeholder: ''}},
+      sortable: true
+    },
+    {
+      field: 'h',
+      width: '8%',
+      title: '鍘氬害', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
+      editRender: {name: 'input', attrs: {placeholder: ''}},
+      sortable: true
+    },
+    {
+      field: 'xh',
+      width: '8%',
+      title: '鍨嬪彿',/*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
+      editRender: {name: 'input', attrs: {placeholder: ''}},
+      sortable: true
+    },
+    {
+      field: 'dw',
+      width: '8%',
+      title: '鍗曚綅', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
+      editRender: {name: 'input', attrs: {placeholder: ''}},
+      sortable: true
+    },
+    {
+      field: 'sl',
+      width: '8%',
+      title: '鏁伴噺', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
+      editRender: {name: 'input', attrs: {placeholder: ''}},
+      sortable: true
+    },
+    {
+      field: 'sl',
+      width: '8%',
+      title: '鎿嶄綔鏁伴噺', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
+      editRender: {name: 'input', attrs: {placeholder: ''}}
+    },
+    {
+      field: 'sl',
+      width: '12%',
+      title: '绠辨暟',    /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
+      editRender: {name: 'input', attrs: {placeholder: ''}},
+      sortable: true
+    },
+    {
+      field: 'je',
+      width: '8%',
+      title: '鍗曠墖闈㈢Н', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
+      editRender: {name: 'input', attrs: {placeholder: ''}},
+      sortable: true
+    },
+    {
+      field: 'je',
+      width: '12%',
+      title: '鍗曚环',   /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
+      editRender: {name: 'input', attrs: {placeholder: ''}},
+      sortable: true
+    },
+    {
+      field: '6',
+      width: '8%',
+      title: '鎬绘暟閲�',   /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
+      editRender: {name: 'input', attrs: {placeholder: ''}},
+      sortable: true
+    },
+    {
+      field: 'sl',
+      width: '8%',
+      title: '鎬婚潰绉�', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
+      editRender: {name: 'input', attrs: {placeholder: ''}},
+      sortable: true
+    },
+    {
+      field: 'yl',
+      width: '10%',
+      title: '鎬婚噾棰�',/*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
+      editRender: {name: 'input', attrs: {placeholder: ''}},
+      sortable: true
+    },
+    {
+      field: 'yl',
+      width: '10%',
+      title: '澶囨敞', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
+      editRender: {name: 'input', attrs: {placeholder: ''}},
+      sortable: true
+    }
   ],//琛ㄥご鍙傛暟
   toolbarConfig: {
     buttons: [
-        {type:'text'},
+      {type: 'text'},
       {
-      'name': '鏂板',
+        'name': '鏂板',
 
-      'code':'Add',
-    },
+        'code': 'Add',
+      },
       {
         'name': '绉婚櫎',
 
-        'code':'Remove'
+        'code': 'Remove'
       },
       {
         'name': '淇濆瓨璁㈠崟',
-        status:'primary',
-        'code':'Save'
-      },{
+        status: 'primary',
+        'code': 'Save'
+      }, {
         'name': '鍏ュ簱',
-        status:'primary',
-        'code':'Storage'
+        status: 'primary',
+        'code': 'Storage'
       },
       {
         'name': '閫�璐�',
-        status:'primary',
-        'code':'Return'
+        status: 'primary',
+        'code': 'Return'
       }/*,
       {
         'name': '杩斿洖鏌ヨ',
@@ -220,13 +326,11 @@
     print: true,
     zoom: true,
     custom: true,
-    tools: [
-
-    ],
+    tools: [],
 
   },//琛ㄥご鎸夐挳
   /*data: [{},{},{},{},{},{}],//table body瀹為檯鏁版嵁*/
-  data: [{},{},{}],//table body瀹為檯鏁版嵁
+  data: [{}, {}, {}],//table body瀹為檯鏁版嵁
   mergeFooterItems: [
     {row: 0, col: 0, rowspan: 1, colspan: 3}
   ],//鍚堝苟鑴�
@@ -277,23 +381,23 @@
         case 'Save': {//淇濆瓨
 
 
-          if(form.buyItem === null || form.buyItem === ''){
+          if (form.buyItem === null || form.buyItem === '') {
             openAlert({type: 'message', content: '閲囪喘缁勭粐涓嶅彲涓虹┖', status: 'warning'})
           }
 
-return
+          return
 
-          if(buyerOptions.values() <= 0){
+          if (buyerOptions.values() <= 0) {
 
           }
 
-            const type = VXETable.modal.confirm('鏄惁纭畾淇濆瓨褰撳墠璁㈠崟淇℃伅锛�');
-          openAlert({type: 'message', content: $grid.rows.number+'', status: 'warning'})
-            return
+          const type = VXETable.modal.confirm('鏄惁纭畾淇濆瓨褰撳墠璁㈠崟淇℃伅锛�');
+          openAlert({type: 'message', content: $grid.rows.number + '', status: 'warning'})
+          return
 
           break
         }
-        case 'GoSelect':{
+        case 'GoSelect': {
 
           router.push({path: '/main/purchaseOrder/SelectPurchaseOrder'})
           break
@@ -360,16 +464,13 @@
 
 
 const openAlert = (options) => {
-  if(options.type==='message'){
+  if (options.type === 'message') {
     VXETable.modal.message(options)
-  }else{
+  } else {
     VXETable.modal.alert(options)
   }
 
 }
-
-
-
 
 
 const form = reactive({
@@ -476,55 +577,6 @@
 import {VXETable} from "vxe-table";
 import {useRouter} from "vue-router";
 
-const now = new Date()
-
-const tableData = ref([
-  {
-    wlcode: '202312205101',
-    wlname: '杩欐槸涓�涓墿鏂欏悕绉�',
-    cd: '浜у湴12',
-    hd: '8',
-    gd: '2440',
-    kd: '3660',
-    xh: 'CN10P'
-  },
-  {
-    wlcode: '202312305101',
-    wlname: '杩欐槸涓�涓墿鏂欏悕绉�',
-    cd: '浜у湴1',
-    gd: '2440',
-    kd: '3660',
-    hd: '5',
-    xh: 'CN10P'
-  },
-  {
-    wlcode: '202312405101',
-    wlname: '杩欐槸涓�涓墿鏂欏悕绉�',
-    cd: '浜у湴13',
-    hd: '12',
-    gd: '2440',
-    kd: '3660',
-    xh: 'CN10P'
-  },
-])
-
-
-const onAddItem = () => {
-  now.setDate(now.getDate() + 1)
-  tableData.value.push({
-    wlcode: dayjs(now).format('YYYYMMDDss') + '01',
-    wlname: '杩欐槸涓�涓墿鏂欏悕绉�',
-    cd: '浜у湴1',
-    hd: '6',
-    xh: 'CN10P',
-    gd: '2440',
-    kd: '3660',
-  })
-}
-
-/*const deleteRow = (index: number) => {
-  tableData.value.splice(index, 1)
-}*/
 
 </script>
 
diff --git a/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/CreateHeader.vue b/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/CreateHeader.vue
new file mode 100644
index 0000000..dce1027
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/CreateHeader.vue
@@ -0,0 +1,739 @@
+<template>
+  <el-header height="auto">
+
+
+  </el-header>
+
+  <el-main style="padding-top: 5px;height:100%">
+
+    <!--    鍒涘缓琛ㄥご妯℃嫙鏍峰紡涓�-->
+    <div>鍒涘缓琛ㄥご绫讳竴</div>
+    <el-form label-width="100px" :inline="true" :model="formInline" class="demo-form-inline">
+      <div class="order-primary" style="background-color: white; border: #181818 1px solid">
+        <el-row>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>*椤圭洰鍚嶇О锛�</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-input/>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>*瀹㈡埛閫夋嫨锛�</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-select clearable placeholder=" ">
+              <el-option/>
+            </el-select>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>*璁㈠崟绫诲瀷锛�</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-select clearable placeholder=" ">
+              <el-option/>
+            </el-select>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>璁㈠崟鍒嗙被锛�</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-select clearable placeholder=" ">
+              <el-option/>
+            </el-select>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>鍟嗘爣閫夐」锛�</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-select clearable placeholder=" ">
+              <el-option/>
+            </el-select>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>鍖呰鏂瑰紡锛�</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-select clearable placeholder=" ">
+              <el-option/>
+            </el-select>
+          </el-col>
+          <!--      <el-col :span="2"><el-text  /></el-col>-->
+        </el-row>
+        <el-row>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>閿�鍞崟鍙凤細</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text/>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>浜よ揣鏃ユ湡锛�</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-date-picker
+                type="week"
+                format="[Week] ww"
+                placeholder="閫夋嫨鏃ユ湡" style="width: 100%"/>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>鎵规锛�</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-input/>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>璁$畻鏂瑰紡锛�</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-select clearable placeholder=" ">
+              <el-option/>
+            </el-select>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>*涓氬姟鍛橈細</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-select clearable placeholder=" ">
+              <el-option/>
+            </el-select>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>閾濇潯鏂瑰紡锛�</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-select clearable placeholder=" ">
+              <el-option/>
+            </el-select>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>鎬婚噾棰濓細</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text/>
+          </el-col>
+
+          <el-col class="elcolStyle" :span="2">
+            <el-text>鍚堝悓缂栧彿锛�</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-input/>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>瀹㈡埛鎵规锛�</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text/>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>鑱旂郴浜猴細</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-input/>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>鑱旂郴鐢佃瘽锛�</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-input/>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>閫佽揣鍦板潃锛�</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-input/>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>鍏朵粬閲戦锛�</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text/>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text>鍏朵粬閲戦澶囨敞锛�</el-text>
+          </el-col>
+          <el-col class="elcolStyle" :span="2">
+            <el-text/>
+          </el-col>
+
+        </el-row>
+      </div>
+    </el-form>
+
+    <br/>
+    <div>鍒涘缓琛ㄥご绫讳簩</div>
+    <!--    鍒涘缓琛ㄥご妯℃嫙鏍峰紡浜�-->
+    <!--    <el-form label-width="80px" :inline="true" :model="formInline2" class="demo-form-inline">-->
+    <div class="header2">
+      <el-row :gutter="10" style="height: 35px">
+        <el-col :span="4">
+          <el-form-item label="椤圭洰鍚嶇О" class="item-style">
+            <el-input></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label="瀹㈡埛閫夋嫨" class="item-style" prop="name">
+            <el-select v-model="cgBuMen" class="m-2" placeholder="閫夋嫨閲囪喘閮ㄩ棬" clearable>
+              <el-option
+                  v-for="item in CGBuMenOptions"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label="璁㈠崟绫诲瀷" class="item-style">
+            <el-cascader
+                placeholder="璁㈠崟绫诲瀷"
+                :options="buyerOptions"
+                filterable
+                clearable
+                empty-text="empty-text"
+                :v-model="form.supplier"
+            >
+            </el-cascader>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label="璁㈠崟鍒嗙被" class="item-style">
+            <el-select v-model="form.buyer" class="m-2" placeholder="璁㈠崟鍒嗙被" clearable>
+              <el-option
+                  v-for="item in BuyerOptions"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label="鍟嗗搧閫夐」" class="item-style">
+            <el-select v-model="form.buyer" class="m-2" placeholder="鍟嗗搧閫夐」" clearable>
+              <el-option
+                  v-for="item in BuyerOptions"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label="鍖呰鏂瑰紡" class="item-style">
+            <el-select v-model="form.buyer" class="m-2" placeholder="鍖呰鏂瑰紡" clearable>
+              <el-option
+                  v-for="item in BuyerOptions"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row :gutter="10" style="height: 35px">
+        <el-col :span="4">
+          <el-form-item label="閿�鍞崟鍙�" class="item-style">
+            <el-input></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label="浜よ揣鏃ユ湡" class="item-style">
+            <el-date-picker
+                type="week"
+                format="[Week] ww"
+                placeholder="閫夋嫨鏃ユ湡" style="width: 100%"/>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label="璁㈠崟鎵规" class="item-style">
+            <el-input></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label="璁$畻鏂瑰紡" class="item-style">
+            <el-select v-model="form.buyer" class="m-2" placeholder="璁$畻鏂瑰紡" clearable>
+              <el-option
+                  v-for="item in BuyerOptions"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label="涓氬姟鍛�" class="item-style">
+            <el-select v-model="form.buyer" class="m-2" placeholder="涓氬姟鍛�" clearable>
+              <el-option
+                  v-for="item in BuyerOptions"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label="閾濇潯鏂瑰紡" class="item-style">
+            <el-select v-model="form.buyer" class="m-2" placeholder="閾濇潯鏂瑰紡" clearable>
+              <el-option
+                  v-for="item in BuyerOptions"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row :gutter="10" style="height: 35px">
+        <el-col :span="4">
+          <el-form-item label="鎬婚噾棰�" class="item-style">
+            <el-input></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label="鍚堝悓缂栧彿" class="item-style">
+            <el-input></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label="瀹㈡埛鎵规" class="item-style">
+            <el-input></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label="鑱旂郴浜�" class="item-style">
+            <el-input></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label="鑱旂郴鐢佃瘽" class="item-style">
+            <el-input></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label="閫佽揣鍦板潃" class="item-style">
+            <el-input></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row :gutter="10" style="height: 35px">
+        <el-col :span="4">
+          <el-form-item label="鍏朵粬閲戦" class="item-style">
+            <el-input></el-input>
+          </el-form-item>
+        </el-col>
+        <!--          <el-col :span="4">
+                    <span>鍏朵粬閲戦澶囨敞</span>
+                    <el-input ></el-input>
+                  </el-col>-->
+        <el-col :span="4">
+          <el-form-item label="鍏朵粬閲戦澶囨敞" class="item-style">
+            <el-input></el-input>
+          </el-form-item>
+        </el-col>
+
+      </el-row>
+
+    </div>
+    <!--    </el-form>-->
+
+    <!--    鍒涘缓琛ㄥご妯℃嫙鏍峰紡涓�-->
+    <br/>
+    <div>鍒涘缓琛ㄥご绫讳笁</div>
+    <!--    <el-form label-width="100px" :inline="true" :model="formInline3" class="demo-form-inline">-->
+    <el-descriptions
+        class="margin-top"
+        title=""
+        :column="6"
+        :size="'small'"
+        border
+    >
+
+      <el-descriptions-item>
+        <template #label>
+          <span style="color:red">*</span>
+          椤圭洰鍚嶇О
+        </template>
+        <el-input></el-input>
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          <span style="color:red">*</span>
+          瀹㈡埛閫夋嫨
+        </template>
+        <el-select></el-select>
+
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          <span style="color:red">*</span>
+          璁㈠崟绫诲瀷
+        </template>
+        <el-select></el-select>
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          <span style="color:red">*</span>
+          璁㈠崟鍒嗙被
+        </template>
+        <el-select></el-select>
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          <span style="color:red">*</span>
+          鍟嗘爣閫夐」
+        </template>
+        <el-select></el-select>
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          <span style="color:red">*</span>
+          鍖呰鏂瑰紡
+        </template>
+        <el-select></el-select>
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          <span style="color:red">*</span>
+          閿�鍞崟鍙�
+        </template>
+        <el-input></el-input>
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          <span style="color:red">*</span>
+          浜よ揣鏃ユ湡
+        </template>
+        <el-date-picker
+            type="week"
+            format="[Week] ww"
+            placeholder="閫夋嫨鏃ユ湡" style="width: 100%"/>
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          <span style="color:red">*</span>
+          鎵规
+        </template>
+        <el-input></el-input>
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          <span style="color:red">*</span>
+          璁$畻鏂瑰紡
+        </template>
+        <el-select></el-select>
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          <span style="color:red">*</span>
+          涓氬姟鍛�
+        </template>
+        <el-select></el-select>
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          閾濇潯鏂瑰紡
+        </template>
+        <el-select></el-select>
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          鎬婚噾棰�
+        </template>
+        <el-input></el-input>
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          鍚堝悓缂栧彿
+        </template>
+        <el-input></el-input>
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          瀹㈡埛鎵规
+        </template>
+        <el-input></el-input>
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          鑱旂郴浜�
+        </template>
+        <el-input></el-input>
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          鑱旂郴鐢佃瘽
+        </template>
+        <el-input></el-input>
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          閫佽揣鍦板潃
+        </template>
+        <el-input></el-input>
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+
+          鍏朵粬閲戦
+        </template>
+        <el-input></el-input>
+      </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          鍏朵粬閲戦澶囨敞
+        </template>
+       <el-input />
+      </el-descriptions-item>
+
+      <el-descriptions-item></el-descriptions-item>
+<!--      <el-descriptions-item></el-descriptions-item>
+      <el-descriptions-item></el-descriptions-item>
+      <el-descriptions-item></el-descriptions-item>
+      <el-descriptions-item></el-descriptions-item>-->
+    </el-descriptions>
+
+    <!--    </el-form>-->
+  </el-main>
+
+</template>
+
+<script setup>
+import {ref, reactive} from 'vue'
+
+let router = useRouter()
+
+
+const openAlert = (options) => {
+  if (options.type === 'message') {
+    VXETable.modal.message(options)
+  } else {
+    VXETable.modal.alert(options)
+  }
+
+}
+
+
+const form = reactive({
+  name: '',
+  region: '',
+  date: '',
+  delivery: false,
+  type: [],
+  resource: '',
+  desc: '',
+  supplier: '',
+  buyer: '',
+  buyItem: '',
+  buyType: ''
+
+})
+
+const onSubmit = () => {
+  console.log('submit!')
+}
+
+//渚涘簲鍟�
+const buyerOptions = [
+  {value: '0', label: '渚涘簲鍟�1'},
+  {value: '1', label: '渚涘簲鍟�2'},
+  {value: '2', label: '渚涘簲鍟�3'},
+  {value: '3', label: '渚涘簲鍟�4'},
+  {value: '4', label: '渚涘簲鍟�5'},
+  {value: '5', label: '渚涘簲鍟�6'},
+]
+
+
+const value = ref('')
+const cgBuMen = ref('')
+
+//閲囪喘绫诲瀷
+const CGTypeOptions = [
+  {
+    value: '1',
+    label: '鏍囧噯绫诲瀷',
+  },
+  {
+    value: '2',
+    label: '闈炴爣鍑嗙被鍨�',
+  },
+  {
+    value: '3',
+    label: '杩藉姞閲囪喘',
+  },
+
+]
+
+//閲囪喘閮ㄩ棬
+const CGBuMenOptions = [
+  {
+    value: '0',
+    label: '閲囪喘鍗庡寳閮�',
+  },
+  {
+    value: '1',
+    label: '閲囪喘涓滃崡閮�',
+  },
+  {
+    value: '2',
+    label: '閲囪喘瑗垮寳閮�',
+  },
+  {
+    value: '3',
+    label: '閲囪喘涓師閮�',
+  },
+  {
+    value: '4',
+    label: '閲囪喘澶栧浗閮�',
+  },
+
+]
+
+//閲囪喘浜�
+const BuyerOptions = [
+  {
+    value: '0',
+    label: '閲囪喘鍛�1',
+  },
+  {
+    value: '1',
+    label: '閲囪喘鍛�2',
+  },
+  {
+    value: '2',
+    label: '閲囪喘鍛�3',
+  },
+  {
+    value: '3',
+    label: '閲囪喘鍛�4',
+  },
+  {
+    value: '4',
+    label: '閲囪喘鍛�5',
+  },
+
+]
+
+import dayjs from 'dayjs'
+import {VXETable} from "vxe-table";
+import {useRouter} from "vue-router";
+import {User} from "@element-plus/icons-vue";
+
+const now = new Date()
+
+const tableData = ref([
+  {
+    wlcode: '202312205101',
+    wlname: '杩欐槸涓�涓墿鏂欏悕绉�',
+    cd: '浜у湴12',
+    hd: '8',
+    gd: '2440',
+    kd: '3660',
+    xh: 'CN10P'
+  },
+  {
+    wlcode: '202312305101',
+    wlname: '杩欐槸涓�涓墿鏂欏悕绉�',
+    cd: '浜у湴1',
+    gd: '2440',
+    kd: '3660',
+    hd: '5',
+    xh: 'CN10P'
+  },
+  {
+    wlcode: '202312405101',
+    wlname: '杩欐槸涓�涓墿鏂欏悕绉�',
+    cd: '浜у湴13',
+    hd: '12',
+    gd: '2440',
+    kd: '3660',
+    xh: 'CN10P'
+  },
+])
+
+
+const onAddItem = () => {
+  now.setDate(now.getDate() + 1)
+  tableData.value.push({
+    wlcode: dayjs(now).format('YYYYMMDDss') + '01',
+    wlname: '杩欐槸涓�涓墿鏂欏悕绉�',
+    cd: '浜у湴1',
+    hd: '6',
+    xh: 'CN10P',
+    gd: '2440',
+    kd: '3660',
+  })
+}
+
+
+</script>
+
+
+<style scoped>
+.custom-header {
+  .el-checkbox {
+    display: flex;
+    height: unset;
+  }
+}
+
+.item-style {
+  width: 92%;
+}
+
+
+.main-div {
+  width: 100%;
+  height: 100%;
+  text-align: center;
+}
+
+/*.el-col{
+  border: #181818 1px solid;
+}*/
+
+.elcolStyle {
+  border: #181818 1px solid;
+}
+
+header2 :deep(.el-col) {
+  padding: 0;
+  margin: 0;
+//height: 35px; color: red;
+
+}
+
+order-primary :deep(.el-input__wrapper) {
+  box-shadow: 0 0 0 0 var(--el-input-border-color, var(--el-border-color)) inset;
+  cursor: default;
+  border: none !important;
+  background-color: transparent;
+}
+
+.order-primary {
+  width: 100%;
+}
+
+.order-detail {
+  width: 100%;
+  height: 80%;
+}
+
+/*.cell-item {
+  display: flex;
+  align-items: center;
+}*/
+
+:deep(.el-descriptions__label) {
+  width: 90px;
+  text-align: center;
+}
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/PurchaseOrder.vue b/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/PurchaseOrder.vue
index 470db4c..dceff81 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/PurchaseOrder.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/PurchaseOrder.vue
@@ -1,28 +1,33 @@
 <template>
   <div class="common-layout">
-   <el-container>
+    <el-container>
       <el-header style="height: 30px">
-        <el-breadcrumb :separator-icon="ArrowRight" >
-<!--          <el-breadcrumb-item>閲囪喘涓庣墿璧�</el-breadcrumb-item>
-          <el-breadcrumb-item>閲囪喘璁㈠崟
-          </el-breadcrumb-item>-->
-          <el-breadcrumb-item :to="{path:'/main/purchaseOrder/SelectPurchaseOrder'}">鏌ヨ閲囪喘璁㈠崟
+        <el-breadcrumb :separator-icon="ArrowRight">
+          <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''"
+                              :to="{path:'/main/purchaseOrder/SelectPurchaseOrder'}">鏌ヨ閲囪喘璁㈠崟
           </el-breadcrumb-item>
-          <el-breadcrumb-item :to="{path:'/main/purchaseOrder/CreatePurchaseOrder'}">鍒涘缓閲囪喘璁㈠崟
+          <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''"
+                              :to="{path:'/main/purchaseOrder/CreatePurchaseOrder'}">鍒涘缓閲囪喘璁㈠崟
           </el-breadcrumb-item>
-          <el-breadcrumb-item :to="{path:'/main/purchaseOrder/StoragePurchaseOrder'}">閲囪喘鍏ュ簱
+          <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''"
+                              :to="{path:'/main/purchaseOrder/StoragePurchaseOrder'}">閲囪喘鍏ュ簱
           </el-breadcrumb-item>
-          <el-breadcrumb-item :to="{path:'/main/purchaseOrder/ReturnPurchaseOrder'}">閲囪喘閫�璐�
+          <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''"
+                              :to="{path:'/main/purchaseOrder/ReturnPurchaseOrder'}">閲囪喘閫�璐�
           </el-breadcrumb-item>
-          <el-breadcrumb-item :to="{path:'/main/purchaseOrder/PaymentPurchaseOrder'}">搴斾粯閲囪喘璁㈠崟
+          <el-breadcrumb-item @click="changeRouter(5)" :class="indexFlag===5?'indexTag':''"
+                              :to="{path:'/main/purchaseOrder/PaymentPurchaseOrder'}">搴斾粯閲囪喘璁㈠崟
+          </el-breadcrumb-item>
+          <el-breadcrumb-item @click="changeRouter(6)" :class="indexFlag===6?'indexTag':''"
+                              :to="{path:'/main/purchaseOrder/CreateHeader'}">鍒涘缓澶存ā鎷�
           </el-breadcrumb-item>
           <el-breadcrumb-item style="display: none"></el-breadcrumb-item>
         </el-breadcrumb>
       </el-header>
       <el-main style="padding: 0">
-<router-view/>
+        <router-view/>
       </el-main>
-<!--     <el-footer>Footer</el-footer>-->
+      <!--     <el-footer>Footer</el-footer>-->
     </el-container>
 
 
@@ -34,9 +39,19 @@
 <script setup>
 import {nextTick, ref} from 'vue'
 import {ArrowRight, Search} from "@element-plus/icons-vue";
+
+let indexFlag = $ref(1)
+
+function changeRouter(index) {
+  indexFlag = index
+}
+
 </script>
 
 
 <style scoped>
-
+:deep(.indexTag .el-breadcrumb__inner) {
+  color: #5CADFE !important;
+  font-weight: 900;
+}
 </style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Return.vue b/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Return.vue
index 8e9c01e..4420a82 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Return.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Return.vue
@@ -37,6 +37,7 @@
           ref="xGrid"
           v-bind="gridOptions"
           v-on="gridEvents"
+          @cell-dblclick="cellClickEvent"
       >
 
         <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
@@ -68,24 +69,50 @@
       </vxe-grid>
 
 
-      <vxe-modal v-model="showDetails" title="鏌ョ湅璇︽儏" width="600" height="400" :mask="false" :lock-view="false" resize>
-        <template #default>
-          <vxe-table
-              border="inner"
-              auto-resize
-              show-overflow
-              height="auto"
-              :row-config="{isHover: true}"
-              :show-header="false"
-              :sync-resize="showDetails"
-              :data="detailData">
-            <vxe-column field="label" width="40%"></vxe-column>
-            <vxe-column field="value"></vxe-column>
-          </vxe-table>
-        </template>
+      <!--      璇︽儏妗� 閮ㄥ垎1-->
+      <vxe-modal v-model="showDetails" title="鏌ョ湅璇︽儏" width="600" height="80%" :mask="false" :lock-view="false" resize>
+        <el-container >
+          <el-header height="35px"
+                     style="margin: 0;padding: 0">
+
+            <el-input  v-model="showCGDH" placeholder="閲囪喘鍗曞彿" disabled >
+              <template #prepend>閲囪喘鍗曞彿锛�</template>
+            </el-input>
+          </el-header>
+          <el-main>
+            <template #default>
+              <vxe-table
+                  border="default"
+                  auto-resize
+                  show-overflow
+                  max-height="400"
+                  :row-config="{isHover: true}"
+                  :show-header="false"
+                  :sync-resize="showDetails"
+                  :data="detailData"
+
+              >
+                <vxe-column field="label" width="30%" class-name="v-column-label"></vxe-column>
+                <vxe-column field="value"></vxe-column>
+              </vxe-table>
+            </template>
+          </el-main>
+          <el-footer height="40px">
+            <el-row>
+              <el-col :offset="20" :span="4">
+                <el-button
+                    id="Sure"
+                    type="primary"
+                    @click="SureReturn"
+                >纭閫�璐�
+                </el-button>
+              </el-col>
+
+            </el-row>
+          </el-footer>
+        </el-container>
       </vxe-modal>
-
-
+      <!--      璇︽儏妗� 閮ㄥ垎1 缁撴潫-->
     </el-main>
   </el-container>
 </template>
@@ -323,14 +350,70 @@
 
 })
 
-/*const showDetails = ref(false)
-const detailData = ref([])
-const cellClickEvent = ({ row }) => {
-  detailData.value = ['閲囪喘鍗曞彿', 'wlbh', 'wlmc', 'gys', 'h', 'k', 'g'].map(field => {
-    return { label: field, value: row[field] }
+
+//璇︽儏妗� 閮ㄥ垎2
+const showCGDH =ref();
+const showDetails =ref(false);
+let detailData =[];
+const cellClickEvent = ({row}) => {
+  detailData = ['cgdh', 'thdh', 'h', 'xh', 'wlbh', 'wlmc', 'gys','w','g','dw','cgzt','rq','yl','sl','xsdh','je','6'].map(field => {
+    return { label: ModelColumnContent(field) , value: row[field] }
+
   })
-  showDetails.value = true
-}*/
+  showDetails.value = true;
+  showCGDH.value = row['cgdh'];
+}
+
+const ModelColumnContent = (text) => {
+  switch (text) {
+    case 'cgdh':
+      return "閲囪喘鍗曞彿";
+    case 'thdh':
+      return "閫�璐у崟鍙�";
+    case 'h':
+      return "鍘�";
+    case 'xh':
+      return "鍨嬪彿";
+    case 'wlbh':
+      return "鐗╂枡缂栫爜";
+    case 'wlmc':
+      return "鐗╂枡鍚嶇О";
+    case 'gys':
+      return "渚涘簲鍟�";
+    case 'w':
+      return "瀹�";
+    case 'g':
+      return "楂�";
+    case 'dw':
+      return "鍗曚綅";
+    case 'cgzt':
+      return "閲囪喘鐘舵��";
+    case 'rq':
+      return "鏃ユ湡";
+    case 'yl':
+      return "浣欓噺";
+    case 'sl':
+      return "鏁伴噺";
+    case 'xsdh':
+      return "閿�鍞崟鍙�";
+    case 'je':
+      return "閲戦";
+    case '6':
+      return "鍏朵粬";
+
+    default:
+      return text;
+
+  }
+
+}
+
+const SureReturn=()=>{
+
+  const type = VXETable.modal.confirm('鏄惁纭閫�璐э紵');
+}
+
+//璇︽儏妗� 閮ㄥ垎2 缁撴潫
 
 
 const now = new Date()
@@ -371,5 +454,8 @@
 
 
 <style scoped>
-
+:deep(.v-column-label div span){
+  font-weight: bold;
+  font-align:center;
+}
 </style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Storage.vue b/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Storage.vue
index ffe36de..2e394f9 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Storage.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Storage.vue
@@ -11,13 +11,12 @@
               start-placeholder="寮�濮嬫棩鏈�"
               end-placeholder="缁撴潫鏃ユ湡"
               :shortcuts="shortcuts"
-              :size="size"
+
               format="YYYY/MM/DD"
               value-format="YYYY-MM-DD"
           />
 
         </el-col>
-
         <el-col :span="2">
           <el-button
               id="select"
@@ -26,7 +25,12 @@
               @click="BtnSearchPurchaseOrder">鏌ヨ
           </el-button>
         </el-col>
+
       </el-row>
+
+
+
+
     </el-header>
     <el-main style="padding-top: 5px;height:100%">
       <vxe-grid
@@ -37,6 +41,8 @@
           ref="xGrid"
           v-bind="gridOptions"
           v-on="gridEvents"
+
+          @cell-click ="cellClickEvent"
       >
 
         <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
@@ -53,6 +59,7 @@
         <!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
         <template #button_slot="{ row }">
           <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">缂栬緫</el-button>
+          <el-button @click="getTableRow(row,'look')" link type="primary" size="small">鏌ョ湅</el-button>
           <!--          <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">鍒犻櫎</el-button>-->
           <!--          <el-button @click="cellClickEvent" link type="primary" size="small">璇︽儏</el-button>-->
         </template>
@@ -67,27 +74,56 @@
         </template>
       </vxe-grid>
 
+<!--      璇︽儏妗� 閮ㄥ垎1-->
+      <vxe-modal v-model="showDetails" title="鏌ョ湅璇︽儏" width="600" height="80%" :mask="false" :lock-view="false" resize>
+        <el-container >
+          <el-header height="35px"
+              style="margin: 0;padding: 0">
 
-      <vxe-modal v-model="showDetails" title="鏌ョ湅璇︽儏" width="600" height="400" :mask="false" :lock-view="false" resize>
-        <template #default>
-          <vxe-table
-              border="inner"
-              auto-resize
-              show-overflow
-              height="auto"
-              :row-config="{isHover: true}"
-              :show-header="false"
-              :sync-resize="showDetails"
-              :data="detailData">
-            <vxe-column field="label" width="40%"></vxe-column>
-            <vxe-column field="value"></vxe-column>
-          </vxe-table>
-        </template>
+            <el-input  v-model="showCGDH" placeholder="閲囪喘鍗曞彿" disabled >
+              <template #prepend>閲囪喘鍗曞彿锛�</template>
+            </el-input>
+          </el-header>
+          <el-main>
+            <template #default>
+              <vxe-table
+                  border="inner"
+                  auto-resize
+                  show-overflow
+                  max-height="420"
+                  :row-config="{isHover: true}"
+                  :show-header="false"
+                  :sync-resize="showDetails"
+                  :data="detailData">
+                <vxe-column field="label" width="30%" class-name="v-column-label"></vxe-column>
+                <vxe-column field="value"></vxe-column>
+              </vxe-table>
+            </template>
+          </el-main>
+          <el-footer height="40px">
+            <el-row>
+              <el-col :offset="20" :span="4">
+                <el-button
+                    id="Sure"
+                    type="primary"
+                    @click="SureStorage"
+                >纭鍏ュ簱
+                </el-button>
+              </el-col>
+
+            </el-row>
+          </el-footer>
+        </el-container>
       </vxe-modal>
+      <!--      璇︽儏妗� 閮ㄥ垎1 缁撴潫-->
 
 
     </el-main>
   </el-container>
+
+
+
+
 </template>
 
 
@@ -98,19 +134,26 @@
 import {Search} from "@element-plus/icons-vue";
 import dayjs from "dayjs";
 import {VXETable} from "vxe-table";
-
 let router = useRouter()
+
+
+
 const getTableRow = (row, type) => {
   switch (type) {
     case 'edit' : {
       //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
-      router.push({path: '/main/purchaseOrder/CreatePurchaseOrder', query: {id: row.id}})
+      router.push({path: '/main/purchaseOrder/CreatePurchaseOrder', query: {id: row.id}});
+
       break
     }
+    case 'look':{
+      /*this.detailData = ['name', 'nickname', 'role', 'sex', 'age', 'amount', 'address'].map(field => {
+        return { label: field, value: row[field] }
+      })*/
+      //this.showDetails = true
+break
+    }
     case 'delete': {
-
-
-
       alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅'+row.id)
       break
     }
@@ -232,6 +275,7 @@
   exportConfig: {},
   scrollY: {enabled: true},//寮�鍚櫄鎷熸粴鍔�
   showOverflow: true,
+  //showDetails: false,//寮圭獥 鏄惁鏄剧ず
   columnConfig: {
     resizable: true,
     useKey: true
@@ -318,15 +362,70 @@
 
 })
 
-/*const showDetails = ref(false)
-const detailData = ref([])
-const cellClickEvent = ({ row }) => {
-  detailData.value = ['閲囪喘鍗曞彿', 'wlbh', 'wlmc', 'gys', 'h', 'k', 'g'].map(field => {
-    return { label: field, value: row[field] }
-  })
-  showDetails.value = true
-}*/
+const showCGDH = ref();
 
+//璇︽儏妗� 閮ㄥ垎2
+const showDetails =ref(false);
+let detailData =[];
+const cellClickEvent = ({row}) => {
+ detailData = ['cgdh', 'rkdh', 'h', 'xh', 'wlbh', 'wlmc', 'gys','w','g','dw','cgzt','rq','yl','sl','xsdh','je','6'].map(field => {
+    return { label: ModelColumnContent(field) , value: row[field] }
+ })
+
+  showDetails.value = true;
+  showCGDH.value = row['cgdh'];
+}
+
+const ModelColumnContent = (text) => {
+  switch (text) {
+    case 'cgdh':
+      return "閲囪喘鍗曞彿";
+    case 'rkdh':
+      return "鍏ュ簱鍗曞彿";
+    case 'h':
+      return "鍘�";
+    case 'xh':
+      return "鍨嬪彿";
+    case 'wlbh':
+      return "鐗╂枡缂栫爜";
+    case 'wlmc':
+      return "鐗╂枡鍚嶇О";
+    case 'gys':
+      return "渚涘簲鍟�";
+    case 'w':
+      return "瀹�";
+    case 'g':
+      return "楂�";
+    case 'dw':
+      return "鍗曚綅";
+    case 'cgzt':
+      return "閲囪喘鐘舵��";
+    case 'rq':
+      return "鏃ユ湡";
+    case 'yl':
+      return "浣欓噺";
+    case 'sl':
+      return "鏁伴噺";
+      case 'xsdh':
+      return "閿�鍞崟鍙�";
+    case 'je':
+      return "閲戦";
+    case '6':
+      return "鍏朵粬";
+
+    default:
+      return text;
+
+  }
+
+}
+//璇︽儏妗� 閮ㄥ垎2 缁撴潫
+
+const SureStorage=()=>{
+
+  openAlert({type: 'alert', content: '纭鍏ュ簱鎴愬姛', status: 'success'})
+
+}
 
 const now = new Date()
 
@@ -366,5 +465,11 @@
 
 
 <style scoped>
+:deep(.v-column-label div span){
+  font-weight: bold;
+}
+
+
+
 
 </style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/mm/stockReport/StockReport.vue b/north-glass-erp/northglass-erp/src/views/mm/stockReport/StockReport.vue
index 631737d..845b896 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/stockReport/StockReport.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/stockReport/StockReport.vue
@@ -3,16 +3,17 @@
     <el-container>
       <el-header style="height: 30px">
         <el-breadcrumb :separator-icon="ArrowRight">
-<!--          <el-breadcrumb-item>閲囪喘涓庣墿璧�</el-breadcrumb-item>
-          <el-breadcrumb-item>浠撳偍鎶ヨ〃
-          </el-breadcrumb-item>-->
-          <el-breadcrumb-item :to="{path:'/main/stockReport/WarehouseReport'}">鍘熸潗鏂欐姤琛�
+          <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''"
+                              :to="{path:'/main/stockReport/WarehouseReport'}">鍘熸潗鏂欐姤琛�
           </el-breadcrumb-item>
-          <el-breadcrumb-item :to="{path:'/main/stockReport/StockWarehouseReport'}">鎴愬搧鎶ヨ〃
+          <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''"
+                              :to="{path:'/main/stockReport/StockWarehouseReport'}">鎴愬搧鎶ヨ〃
           </el-breadcrumb-item>
-          <el-breadcrumb-item :to="{path:'/main/stockReport/StockMonthReport'}">鍘熺墖鏈堢粨
+          <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''"
+                              :to="{path:'/main/stockReport/StockMonthReport'}">鍘熺墖鏈堢粨
           </el-breadcrumb-item>
-          <el-breadcrumb-item :to="{path:'/main/stockReport/SubsidiaryMonthReport'}">
+          <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''"
+                              :to="{path:'/main/stockReport/SubsidiaryMonthReport'}">
             杈呮枡鏈堢粨
           </el-breadcrumb-item>
           <el-breadcrumb-item style="display: none"></el-breadcrumb-item>
@@ -26,19 +27,23 @@
   </div>
 
 </template>
+
 <script setup>
+import {nextTick, ref} from 'vue'
+import {ArrowRight, Search} from "@element-plus/icons-vue";
 
-import {ArrowRight} from "@element-plus/icons-vue";
+let indexFlag = $ref(1)
 
-import {useRouter} from "vue-router";
+function changeRouter(index) {
+  indexFlag = index
+}
 
-const router = useRouter();
 </script>
 
 
 <style scoped>
-.ei-1 {
-  font-weight: 500;
+:deep(.indexTag .el-breadcrumb__inner) {
+  color: #5CADFE !important;
+  font-weight: 900;
 }
-
 </style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/mm/stockReport/WarehouseReport.vue b/north-glass-erp/northglass-erp/src/views/mm/stockReport/WarehouseReport.vue
index 11774ea..9db690a 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/stockReport/WarehouseReport.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/stockReport/WarehouseReport.vue
@@ -4,6 +4,7 @@
     <el-header class="m-header" style="height: auto">
 
     </el-header>
+
     <el-main style="padding-top: 5px">
       <vxe-grid
           max-height="600"
@@ -12,6 +13,7 @@
           ref="xGrid"
           v-bind="gridOptions"
           v-on="gridEvents"
+          @cell-dblclick="cellClickEvent"
       >
 
         <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
@@ -41,6 +43,51 @@
           </div>
         </template>
       </vxe-grid>
+
+      <!--      璇︽儏妗� 閮ㄥ垎1-->
+      <vxe-modal v-model="showDetails" title="鏌ョ湅璇︽儏" width="600" height="80%" :mask="false" :lock-view="false" resize>
+        <el-container >
+          <el-header height="35px"
+                     style="margin: 0;padding: 0">
+
+            <el-input  v-model="showNum" placeholder="閲囪喘鍗曞彿" disabled >
+              <template #prepend>鐗╂枡缂栫爜</template>
+            </el-input>
+          </el-header>
+          <el-main>
+            <template #default>
+              <vxe-table
+                  border="default"
+                  auto-resize
+                  show-overflow
+                  max-height="400"
+                  :row-config="{isHover: true}"
+                  :show-header="false"
+                  :sync-resize="showDetails"
+                  :data="detailData"
+              >
+                <vxe-column field="label" width="30%" class-name="v-column-label"></vxe-column>
+                <vxe-column field="value"></vxe-column>
+              </vxe-table>
+            </template>
+          </el-main>
+          <el-footer height="40px">
+<!--            <el-row>
+              <el-col :offset="20" :span="4">
+                <el-button
+                    id="Sure"
+                    type="primary"
+                    @click="SureReturn"
+                >纭閫�璐�
+                </el-button>
+              </el-col>
+
+            </el-row>-->
+          </el-footer>
+        </el-container>
+      </vxe-modal>
+      <!--      璇︽儏妗� 閮ㄥ垎1 缁撴潫-->
+
     </el-main>
   </div>
 </template>
@@ -111,10 +158,11 @@
     showStatus: true
   },
   columns: [
+
+    {type: 'expand', title:'', fixed: "left", slots: {content: 'content'}, width: 50},/* 璇︽儏 */
     /* {title: '鎿嶄綔', width: '8%', slots: {default: 'button_slot'}, fixed: "left"},*/
     {type: 'seq', fixed: "left", title: ' ', width: 50},
     /*{ type: 'checkbox',fixed:"left", title: '', width: 50 },*/
-    {type: 'expand', title:'璇︽儏', fixed: "left", slots: {content: 'content'}, width: 50},
     {field: 'kczz', width: '13%', title: '搴撳瓨缁勭粐', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
     {field: 'wlbm', width: '10%', title: '鐗╂枡缂栫爜', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
     {field: 'wlmc', width: '10%',title: '鐗╂枡鍚嶇О', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
@@ -172,6 +220,8 @@
   },
 })
 
+
+//鍒楄〃鎿嶄綔
 const getTableRow = (row, type) => {
   switch (type) {
     case 'edit' : {
@@ -218,25 +268,8 @@
             //VXETable.modal.message( '璇烽�夋嫨涓�鏉℃暟鎹紒')
             return
           } else {
-            /*            async ()=>{
-              const type = await.VXETable.modal.confirm('鎮ㄩ�夋嫨浜�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒,鏄惁纭閫�搴擄紵');
-            }*/
             const type = VXETable.modal.confirm('鎮ㄩ�夋嫨浜�' + $grid.getCheckboxRecords().length + '鏉℃暟鎹紒,鏄惁纭閫�搴擄紵');
 
-
-            /* if(VXETable.modal.confirm('鎮ㄩ�夋嫨浜�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒,鏄惁纭閫�搴擄紵' )){
-              //openAlert({type:'message', content: '鎴愬姛閫�搴�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒', status: 'success',lockView: false, mask: false })
-
-
-            }*/
-
-            /* if(type==='confirm'){
-              openAlert({type:'message', content: '鎴愬姛閫�搴�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒', status: 'success' })
-            }
-
-*/
-            //openAlert({type:'alert', content: '鎴愬姛閫�搴�'+$grid.getCheckboxRecords().length+'鏉℃暟鎹紒', status: 'success' })
-            //VXETable.modal.message( '璇烽�夋嫨涓�鏉℃暟鎹紒')
             return
           }
           break
@@ -257,6 +290,72 @@
   },
 }
 
+
+const showNum =ref();
+const showDetails =ref(false);
+let detailData =[];
+
+const cellClickEvent = ({row}) => {
+  detailData = cName.map(field => {
+    return { label: ModelColumnContent(field) , value: row[field] }
+
+  })
+
+
+  showDetails.value = true;
+  showNum.value = row['wlbm'];
+
+}
+const cName = ['kczz','wlbm','wlmc','cd','kcbh','w','g','h','zdw','aqkc','kcs','kykc','wlsl','zmj', 'dpmj','scrq','bzq','kq','kw','jykc','bz'];
+const ModelColumnContent = (text) => {
+  switch (text) {
+    case 'kczz':
+      return "搴撳瓨缁勭粐";
+    case 'wlbm':
+      return "鐗╂枡缂栫爜";
+    case 'wlmc':
+      return "鐗╂枡鍚嶇О";
+    case 'cd':
+      return "浜у湴";
+    case 'kcbh':
+      return "搴撳瓨缂栧彿";
+    case 'w':
+      return "瀹�";
+    case 'g':
+      return "楂�";
+    case 'h':
+      return "鍘�";
+    case 'zdw':
+      return "涓诲崟浣�";
+    case 'aqkc':
+      return "瀹夊叏搴撳瓨";
+    case 'kcs':
+      return "搴撳瓨鏁�";
+    case 'kykc':
+      return "鍙敤搴撳瓨";
+    case 'wlsl':
+      return "鏈鏁伴噺";
+    case 'zmj':
+      return "鎬婚潰绉�";
+    case 'dpmj':
+      return "鍗曠墖闈㈢Н";
+    case 'scrq':
+      return "鐢熶骇鏃ユ湡";
+    case 'bzq': return "淇濊川鏈�";
+    case 'kq': return "搴撳尯";
+    case 'kw': return "搴撲綅";
+    case 'jykc': return "绉帇搴撳瓨";
+    case 'bz':
+      return "澶囨敞";
+    default:
+      return text;
+
+  }
+
+}
+
+
+
 const openAlert = (options) => {
   if(options.type==='message'){
     VXETable.modal.message(options)
diff --git a/north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue b/north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue
index 46c414a..7ff59b8 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue
@@ -123,11 +123,11 @@
     >
       <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
       <!--      涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
-      <template #content="{ row}">
+      <template #content="{ row }">
         <ul class="expand-wrapper">
-          <li  v-for="(item,key,index) in row">
-            <span style="font-weight: bold">{{key+':  '}}</span>
-            <span>{{ item }}</span>
+          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
+            <span style="font-weight: bold">{{item.title+':  '}}</span>
+            <span>{{ row[item.field] }}</span>
           </li>
         </ul>
       </template>
diff --git a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
index 9c62e6f..a3bdd65 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
@@ -129,11 +129,11 @@
 
     >
       <!--      涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
-      <template #content="{ row}">
+      <template #content="{ row }">
         <ul class="expand-wrapper">
-          <li  v-for="(item,key,index) in row">
-            <span style="font-weight: bold">{{key+':  '}}</span>
-            <span>{{ item }}</span>
+          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
+            <span style="font-weight: bold">{{item.title+':  '}}</span>
+            <span>{{ row[item.field] }}</span>
           </li>
         </ul>
       </template>
diff --git a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue
index 9cf28b2..25cb3da 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue
@@ -176,11 +176,11 @@
 
     >
       <!--      涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
-      <template #content="{ row}">
+      <template #content="{ row }">
         <ul class="expand-wrapper">
-          <li  v-for="(item,key,index) in row">
-            <span style="font-weight: bold">{{key+':  '}}</span>
-            <span>{{ item }}</span>
+          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
+            <span style="font-weight: bold">{{item.title+':  '}}</span>
+            <span>{{ row[item.field] }}</span>
           </li>
         </ul>
       </template>
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue b/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
index 5581944..bb7570d 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
@@ -163,11 +163,11 @@
 
     >
       <!--      涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
-      <template #content="{ row}">
+      <template #content="{ row }">
         <ul class="expand-wrapper">
-          <li  v-for="(item,key,index) in row">
-            <span style="font-weight: bold">{{key+':  '}}</span>
-            <span>{{ item }}</span>
+          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
+            <span style="font-weight: bold">{{item.title+':  '}}</span>
+            <span>{{ row[item.field] }}</span>
           </li>
         </ul>
       </template>
diff --git a/north-glass-erp/northglass-erp/src/views/sd/product/Product.vue b/north-glass-erp/northglass-erp/src/views/sd/product/Product.vue
index 94a4787..c9d96da 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/product/Product.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/product/Product.vue
@@ -21,7 +21,7 @@
        <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/product/selectProduct' }">浜у搧棣栭〉</el-breadcrumb-item>
        <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/product/createProduct' }">鍒涘缓</el-breadcrumb-item>
 <!--       <el-breadcrumb-item :to="{ path: '/main/product/test' }">娴嬭瘯</el-breadcrumb-item>-->
-<!--       <el-breadcrumb-item :to="{ path: '/main/product/test1' }">娴嬭瘯</el-breadcrumb-item>-->
+       <el-breadcrumb-item :to="{ path: '/main/product/testSort' }">娴嬭瘯</el-breadcrumb-item>
        <el-breadcrumb-item v-show="false" :to="{ path: '/main/product/test1' }">娴嬭瘯</el-breadcrumb-item>
      </el-breadcrumb>
 
diff --git a/north-glass-erp/northglass-erp/src/views/sd/product/SelectProduct.vue b/north-glass-erp/northglass-erp/src/views/sd/product/SelectProduct.vue
index 47be59c..8e7266a 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/product/SelectProduct.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/product/SelectProduct.vue
@@ -1,17 +1,16 @@
-<script setup>
+<script lang="ts" setup>
 import request from "@/utils/request"
 import deepClone from "@/utils/deepClone"
 import {ElDatePicker, ElMessage} from "element-plus"
 import useProductGlassTypeStore from "@/stores/sd/product/productGlassType"
-import useProductStore from "@/stores/sd/product/prduct"
-import {onMounted, reactive, ref, watch} from "vue"
+import {nextTick, onMounted, onUnmounted, reactive, ref, watch} from "vue"
 import {Search} from "@element-plus/icons-vue"
 import GlassType from "@/components/sd/product/GlassType.vue"
 import {useRouter} from  'vue-router'
+import Sortable from 'sortablejs'
 import BasicTable from '@/components/basic/BasicTable.vue'
-import scrollEvnt from "@/hook";
+import {VXETable} from "vxe-table";
 let productGlassTypeStore = useProductGlassTypeStore()
-let productStore = useProductStore()
 let router=useRouter()
 //鐩戝惉鐜荤拑绫诲瀷鏀瑰彉
 watch(productGlassTypeStore,(newVal,oldVal) => {
@@ -20,54 +19,100 @@
   })
 })
 
+let scrollTop =ref(null)
+let scrollHeight =ref(null)
+let clientHeight =ref(null)
+const  scrollEvnt = (row) => {
+  // 鍐呭楂樺害
+  scrollTop.value = row.$event.target.scrollTop
+  scrollHeight.value = row.$event.target.scrollHeight
+  clientHeight.value = row.$event.target.clientHeight
+}
+
+
+let produceList = ref([])
 let pageNum=$ref(1)
-watch(productStore,(newVal,oldVal) => {
-  if(newVal.flag===true){
-    pageNum=pageNum+1
+let pageState = null
+//鐩戝惉浜у搧婊氬姩鏉$姸鎬侊紝婊氬姩鍒板簳閮ㄥ悜鍚庣璇锋眰鏁版嵁
+watch(scrollTop,(newVal,oldVal) => {
+  //鍒ゆ柇褰撳墠鐘舵�佹煡璇㈢姸鎬�
+  if(pageState!==null){
+    return;
+  }
+  //鍒ゆ柇婊氬姩鏉′笂涓嬫粴鍔ㄤ笉鏄乏鍙虫粴鍔紝褰撳乏鍙虫粴鍔ㄧ洿鎺ヨ繑鍥�
+  if((newVal === oldVal && newVal===0) || oldVal===null){
+    return;
+  }
+  //鍒ゆ柇鏄惁婊氬埌搴曢儴
+  if ((Math.round(scrollTop.value + clientHeight.value)+5 >= scrollHeight.value ) ) {
+    if(newVal>oldVal){
+      //鍒ゆ柇褰撳墠瀹瑰櫒闀垮害鏄惁涓�500锛屽苟涓斿綋鍓嶉〉灏忎簬瀹瑰櫒鎬绘暟閲�
+      if(produceList.length===500 && pageNum<(produceList.length/100)){
+        pageNum=pageNum+5
+      }else{
+        pageNum=pageNum+1
+      }
+      pageState=true
+    }
+  }else if(newVal===0 && oldVal>0 && pageNum>1  ){  //鍒ゆ柇鏄惁婊氬埌椤堕儴骞朵笖澶т簬瀹瑰櫒鏁伴噺
+    //鍒ゆ柇鍚戜笂婊氬姩褰撳墠椤垫暟鏄惁澶т簬瀹瑰櫒鏁板��
+    if(pageNum>5){
+      pageNum=pageNum-5
+    }else if((produceList.length/100)>=5) {
+      pageNum=pageNum-1
+    }else{
+      return
+    }
+    pageState =false
+  }
+  if(pageState!==null){
+    gridOptions.loading=true
+    request.get(`/product/${pageNum}/100`).then((res) => {
+      try{
+        if(res.code==200){
+          if(pageState){
+            produceList = produceList.concat(res.data)
+            if(produceList.length>500){
+              produceList=produceList.slice(100,600)
+            }
+          }else{
+            produceList = res.data.concat(produceList)
+            if(produceList.length>500){
+              produceList=produceList.slice(0,500)
+            }
+          }
+          xGrid.value.reloadData(produceList)
+          pageState=null
+        }else{
+          ElMessage.warning(res.msg)
+        }
+      }finally {
+        gridOptions.loading=false
+      }
+    })
+  }
+
+
     //鍚庣鑾峰彇鏈夊灏戦〉锛岃秴杩囧灏戦〉涓嶅啀璇锋眰
     /*if(pageNum>5){
       console.log(newVal.pageNum)
       return
     }*/
-    request.get(`/product/${pageNum}/100`).then((res) => {
-      gridOptions.loading=true
-      try{
-        if(res.code==200){
-          gridOptions.data=  gridOptions.data.concat(res.data)
-          newVal.flag=false
-          setTimeout(()=>{
-            gridOptions.loading=false
-          },1000)
-        }else{
-          ElMessage.warning(res.msg)
-        }
-      }finally {
-
-      }
-    })
-  }
 
 })
-
-let flag = $ref(false)
 request.get("/product/1/100").then((res) => {
   if(res.code==200){
-    gridOptions.data= deepClone(res.data)
-    flag = true
+    produceList = produceList.value.concat(deepClone(res.data))
+
+    xGrid.value.reloadData(produceList)
+    gridOptions.loading=false
   }else{
     ElMessage.warning(res.msg)
     router.push("/login")
   }
 })
 
-//瀛愮粍浠舵帴鏀跺弬鏁�
-let tableProp = $ref({
-  datas:null,
-  footList:[],
-  //绛涢�夋潯浠跺垪
-  filter:{
-  },
-})
+
 
 
 
@@ -91,18 +136,19 @@
 
 const xGrid = ref()
 const gridOptions = reactive({
-  loading: false,
+  loading: true,
   border:  "full",//琛ㄦ牸鍔犺竟妗�
   keepSource: true,//淇濇寔婧愭暟鎹�
   align: 'center',//鏂囧瓧灞呬腑
   stripe:true,//鏂戦┈绾�
-  rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+  rowConfig: {isCurrent: true, isHover: true,height: 60, useKey: true},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
   id: 'demo_1',
   showFooter: true,//鏄剧ず鑴�
   printConfig: {},
   importConfig: {},
   exportConfig: {},
-  scrollY:{ enabled: true ,gt:100},//寮�鍚櫄鎷熸粴鍔�
+  scrollX:{enabled: true},
+  scrollY:{ enabled: true ,gt:0},//寮�鍚櫄鎷熸粴鍔�
   showOverflow:true,
   columnConfig: {
     resizable: true,
@@ -139,7 +185,6 @@
     zoom: true,
     custom: true
   },
-  data:  null,//table body瀹為檯鏁版嵁
   footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
     return[
       columns.map((column, columnIndex) => {
@@ -154,9 +199,55 @@
 })
 
 
+let sortable2: any
 
+const columnDrop2 = () => {
+  const $grid = xGrid.value
+  sortable2 = Sortable.create($grid.$el.querySelector('.body--wrapper>.vxe-table--header .vxe-header--row'), {
+    handle: '.vxe-header--column',
+    onEnd: (sortableEvent) => {
+      const targetThElem = sortableEvent.item
+      const newIndex = sortableEvent.newIndex
+      const oldIndex = sortableEvent.oldIndex
+      const { fullColumn, tableColumn } = $grid.getTableColumn()
+      const wrapperElem = targetThElem.parentNode
+      const newColumn = fullColumn[newIndex]
+      if (newColumn.fixed) {
+        // 閿欒鐨勭Щ鍔�
+        const oldThElem = wrapperElem.children[oldIndex]
+        if (newIndex > oldIndex) {
+          wrapperElem.insertBefore(targetThElem, oldThElem)
+        } else {
+          wrapperElem.insertBefore(targetThElem, oldThElem ? oldThElem.nextElementSibling : oldThElem)
+        }
+        VXETable.modal.message({ content: '鍥哄畾鍒椾笉鍏佽鎷栧姩锛�', status: 'error' })
+        return
+      }
+      // 鑾峰彇鍒楃储寮� columnIndex > fullColumn
+      const oldColumnIndex = $grid.getColumnIndex(tableColumn[oldIndex])
+      const newColumnIndex = $grid.getColumnIndex(tableColumn[newIndex])
+      // 绉诲姩鍒扮洰鏍囧垪
+      const currRow = fullColumn.splice(oldColumnIndex, 1)[0]
+      fullColumn.splice(newColumnIndex, 0, currRow)
+      $grid.loadColumn(fullColumn)
+    }
+  })
+}
 
+let initTime: any
+nextTick(() => {
+  // 鍔犺浇瀹屾垚涔嬪悗鍦ㄧ粦瀹氭嫋鍔ㄤ簨浠�
+  initTime = setTimeout(() => {
+    columnDrop2()
+  }, 500)
+})
 
+onUnmounted(() => {
+  clearTimeout(initTime)
+  if (sortable2) {
+    sortable2.destroy()
+  }
+})
 
 
 </script>
@@ -184,9 +275,9 @@
       <!--      涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
       <template #content="{ row }">
         <ul class="expand-wrapper">
-          <li  v-for="(item,key) in row">
-            <span style="font-weight: bold">{{key+':  '}}</span>
-            <span>{{ item }}</span>
+          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
+            <span style="font-weight: bold">{{item.title+':  '}}</span>
+            <span>{{ row[item.field] }}</span>
           </li>
         </ul>
       </template>
diff --git a/north-glass-erp/northglass-erp/src/views/sd/product/Test.vue b/north-glass-erp/northglass-erp/src/views/sd/product/Test.vue
index 4877821..83a0971 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/product/Test.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/product/Test.vue
@@ -29,10 +29,9 @@
 
 let tableProp = $ref({
   title:[
-
     {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
-    { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: 80 },
-    { type: 'seq',fixed:"left", title: '鑷簭', width: 80 },
+    {type: 'checkbox',fixed:"left", title: '閫夋嫨', width: 80 },
+    {type: 'seq',fixed:"left", title: '鑷簭', width: 80 },
     {title: '鎿嶄綔', width: 110, slots: { default: 'button_slot' },fixed:"left"},
     {field: 'prodID', title: '缂栧彿', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } } },
     {field: 'product', title: '鍚嶇О', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
diff --git a/north-glass-erp/northglass-erp/src/views/sd/product/testSort.vue b/north-glass-erp/northglass-erp/src/views/sd/product/testSort.vue
new file mode 100644
index 0000000..4d635a3
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/sd/product/testSort.vue
@@ -0,0 +1,141 @@
+<script lang="ts" setup>
+import { defineComponent, reactive, ref, onUnmounted, nextTick } from 'vue'
+import { VXETable, VxeGridInstance, VxeGridProps } from 'vxe-table'
+import Sortable from 'sortablejs'
+const xGrid2 = ref({} as VxeGridInstance)
+
+const meanNum = (list: any[], field: string) => {
+  let count = 0
+  list.forEach(item => {
+    count += Number(item[field])
+  })
+  return count / list.length
+}
+
+const sumNum = (list: any[], field: string) => {
+  let count = 0
+  list.forEach(item => {
+    count += Number(item[field])
+  })
+  return count
+}
+
+const gridOptions2 = reactive({
+  border: true,
+  showFooter: true,
+  class: 'sortable-column-demo',
+  columnConfig: {
+    useKey: true
+  },
+  scrollX: {
+    enabled: false
+  },
+  toolbarConfig: {
+    custom: true
+  },
+  columns: [
+    { field: 'name', title: 'Name', fixed: 'left', width: 300 },
+    { field: 'nickname', title: 'Nickname' },
+    { field: 'role', title: 'Role' },
+    { field: 'sex', title: 'Sex' },
+    { field: 'age', title: 'Age' },
+    { field: 'date3', title: 'Date' },
+    { field: 'address', title: 'Address', width: 200, fixed: 'right', showOverflow: true }
+  ],
+  data: [
+    { id: 10001, name: 'Test1', nickname: 'T1', role: 'Develop', sex: 'Man', age: 28, address: 'Shenzhen' },
+    { id: 10002, name: 'Test2', nickname: 'T2', role: 'Test', sex: 'Women', age: 22, address: 'Guangzhou' },
+    { id: 10003, name: 'Test3', nickname: 'T3', role: 'PM', sex: 'Man', age: 32, address: 'Shanghai' },
+    { id: 10004, name: 'Test4', nickname: 'T4', role: 'Designer', sex: 'Women', age: 23, address: 'Shenzhen' },
+    { id: 10005, name: 'Test5', nickname: 'T5', role: 'Develop', sex: 'Women', age: 30, address: 'Shanghai' }
+  ],
+  footerMethod ({ columns, data }) {
+    return [
+      columns.map((column, columnIndex) => {
+        if (columnIndex === 0) {
+          return '骞冲潎'
+        }
+        if (['age', 'sex'].includes(column.property)) {
+          return meanNum(data, column.property)
+        }
+        return null
+      }),
+      columns.map((column, columnIndex) => {
+        if (columnIndex === 0) {
+          return '鍜屽��'
+        }
+        if (['age', 'sex'].includes(column.property)) {
+          return sumNum(data, column.property)
+        }
+        return null
+      })
+    ]
+  }
+} as VxeGridProps)
+
+let sortable2: any
+
+const columnDrop2 = () => {
+  const $grid = xGrid2.value
+  sortable2 = Sortable.create($grid.$el.querySelector('.body--wrapper>.vxe-table--header .vxe-header--row'), {
+    handle: '.vxe-header--column',
+    onEnd: (sortableEvent) => {
+      const targetThElem = sortableEvent.item
+      const newIndex = sortableEvent.newIndex as number
+      const oldIndex = sortableEvent.oldIndex as number
+      const { fullColumn, tableColumn } = $grid.getTableColumn()
+      const wrapperElem = targetThElem.parentNode as HTMLElement
+      const newColumn = fullColumn[newIndex]
+      if (newColumn.fixed) {
+        // 閿欒鐨勭Щ鍔�
+        const oldThElem = wrapperElem.children[oldIndex] as HTMLElement
+        if (newIndex > oldIndex) {
+          wrapperElem.insertBefore(targetThElem, oldThElem)
+        } else {
+          wrapperElem.insertBefore(targetThElem, oldThElem ? oldThElem.nextElementSibling : oldThElem)
+        }
+        VXETable.modal.message({ content: '鍥哄畾鍒椾笉鍏佽鎷栧姩锛�', status: 'error' })
+        return
+      }
+      // 鑾峰彇鍒楃储寮� columnIndex > fullColumn
+      const oldColumnIndex = $grid.getColumnIndex(tableColumn[oldIndex])
+      const newColumnIndex = $grid.getColumnIndex(tableColumn[newIndex])
+      // 绉诲姩鍒扮洰鏍囧垪
+      const currRow = fullColumn.splice(oldColumnIndex, 1)[0]
+      fullColumn.splice(newColumnIndex, 0, currRow)
+      $grid.loadColumn(fullColumn)
+    }
+  })
+}
+
+let initTime: any
+nextTick(() => {
+  // 鍔犺浇瀹屾垚涔嬪悗鍦ㄧ粦瀹氭嫋鍔ㄤ簨浠�
+  initTime = setTimeout(() => {
+    columnDrop2()
+  }, 500)
+})
+
+onUnmounted(() => {
+  clearTimeout(initTime)
+  if (sortable2) {
+    sortable2.destroy()
+  }
+})
+
+
+</script>
+
+<template>
+  <vxe-grid ref="xGrid2" v-bind="gridOptions2"></vxe-grid>
+</template>
+
+<style scoped>
+.sortable-column-demo .vxe-header--row .vxe-header--column.sortable-ghost,
+.sortable-column-demo .vxe-header--row .vxe-header--column.sortable-chosen {
+  background-color: #dfecfb;
+}
+.sortable-column-demo .vxe-header--row .vxe-header--column.col--fixed {
+  cursor: no-drop;
+}
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/sd/returns/SelectDeliveryList.vue b/north-glass-erp/northglass-erp/src/views/sd/returns/SelectDeliveryList.vue
index 615fdb4..f046fcd 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/returns/SelectDeliveryList.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/returns/SelectDeliveryList.vue
@@ -173,11 +173,11 @@
       </template>
 
       <!--      涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
-      <template #content="{ row}">
+      <template #content="{ row }">
         <ul class="expand-wrapper">
-          <li  v-for="(item,key,index) in row">
-            <span style="font-weight: bold">{{key+':  '}}</span>
-            <span>{{ item }}</span>
+          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
+            <span style="font-weight: bold">{{item.title+':  '}}</span>
+            <span>{{ row[item.field] }}</span>
           </li>
         </ul>
       </template>
diff --git a/north-glass-erp/northglass-erp/src/views/sd/returns/SelectReturns.vue b/north-glass-erp/northglass-erp/src/views/sd/returns/SelectReturns.vue
index 2344cb6..6870fce 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/returns/SelectReturns.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/returns/SelectReturns.vue
@@ -136,11 +136,11 @@
 
     >
       <!--      涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
-      <template #content="{ row}">
+      <template #content="{ row }">
         <ul class="expand-wrapper">
-          <li  v-for="(item,key,index) in row">
-            <span style="font-weight: bold">{{key+':  '}}</span>
-            <span>{{ item }}</span>
+          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
+            <span style="font-weight: bold">{{item.title+':  '}}</span>
+            <span>{{ row[item.field] }}</span>
           </li>
         </ul>
       </template>

--
Gitblit v1.8.0