From b01acc5451b09593762522e9baff2615120696ec Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期四, 30 十月 2025 14:04:50 +0800
Subject: [PATCH] 1.新增 订单开启、工单开启功能  2.新增顶级物料字段

---
 src/views/kanbanManager/ckgl.vue         |    2 
 src/api/WorkOrder.js                     |   19 +
 vue.config.js                            |    2 
 src/views/basicSettings/powerDivider.vue |   76 ++--
 src/styles/global.css                    |   30 +-
 src/views/workOrder/workOrderClose.vue   |  326 ++++++++++++---------
 src/views/workOrder/produceOrderList.vue |  319 +++++++++++++-------
 src/views/kanbanManager/cj.vue           |    2 
 src/views/kanbanManager/zhkb.vue         |    2 
 src/views/workOrder/workOrderList.vue    |   71 ++++
 src/views/workOrder/workOrderSend.vue    |    2 
 11 files changed, 523 insertions(+), 328 deletions(-)

diff --git a/src/api/WorkOrder.js b/src/api/WorkOrder.js
index 4cf7550..0cef4f0 100644
--- a/src/api/WorkOrder.js
+++ b/src/api/WorkOrder.js
@@ -43,6 +43,15 @@
   })
 }
 
+// ERP璁㈠崟鍙嶅叧闂�
+export function ReverseClosedErpOrder(data) {
+  return request({
+    url: 'WorkOrder/ReverseClosedErpOrder',
+    method: 'post',
+    params: data
+  })
+}
+
 // ERP璁㈠崟鍒犻櫎
 export function DeleteErpOrder(data) {
   return request({
@@ -61,6 +70,16 @@
   })
 }
 
+// MES宸ュ崟鍚姩鎻愪氦
+export function MesOrderBitchReverseClosedSeave(data) {
+  return request({
+    url: 'WorkOrder/MesOrderBitchReverseClosedSeave',
+    method: 'post',
+    data
+  })
+}
+
+
 // MES鎶ュ簾琛ュ崟宸ュ崟鏌ヨ
 export function MesBadOrderSearch(data) {
   return request({
diff --git a/src/styles/global.css b/src/styles/global.css
index 6f5c868..fff4c7b 100644
--- a/src/styles/global.css
+++ b/src/styles/global.css
@@ -179,22 +179,22 @@
 瀹氫箟婊氬姩鏉¢珮瀹藉強鑳屾櫙
 楂樺鍒嗗埆瀵瑰簲妯珫婊氬姩鏉$殑灏哄
 */
-::-webkit-scrollbar {
-  width: 7px;
-  height: 7px;
-  /*background-color: white;*/
-  background-color: #f8f8fa;
-}
+/*::-webkit-scrollbar {*/
+/*  width: 7px;*/
+/*  height: 7px;*/
+/*  !*background-color: white;*!*/
+/*  background-color: #f8f8fa;*/
+/*}*/
 
-::-webkit-scrollbar-thumb {
-  /*box-shadow: inset 0 0 0px white;*/
-  box-shadow: inset 0 0 0px #f8f8fa;
-  /*-webkit-box-shadow: inset 0 0 0px white;*/
-  -webkit-box-shadow: inset 0 0 0px #f8f8fa;
-  background-color: rgb(193, 193, 193);
-  /*婊氬姩鏉$殑鑳屾櫙棰滆壊*/
-  border-radius: 20px;
-}
+/*::-webkit-scrollbar-thumb {*/
+/*  !*box-shadow: inset 0 0 0px white;*!*/
+/*  box-shadow: inset 0 0 0px #f8f8fa;*/
+/*  !*-webkit-box-shadow: inset 0 0 0px white;*!*/
+/*  -webkit-box-shadow: inset 0 0 0px #f8f8fa;*/
+/*  background-color: rgb(193, 193, 193);*/
+/*  !*婊氬姩鏉$殑鑳屾櫙棰滆壊*!*/
+/*  border-radius: 20px;*/
+/*}*/
 
 /*瑙e喅琛ㄦ牸鍥哄畾鍒楁椂鐨勫帇鏍峰紡闂*/
 .el-table__fixed {
diff --git a/src/views/basicSettings/powerDivider.vue b/src/views/basicSettings/powerDivider.vue
index f8a0267..0806996 100644
--- a/src/views/basicSettings/powerDivider.vue
+++ b/src/views/basicSettings/powerDivider.vue
@@ -64,7 +64,7 @@
                   @mouseover="isScroll='left'"
                 >
                   <div style=" ">
-                    <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" /> 鑿滃崟鏉冮檺
+                    <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}"/> 鑿滃崟鏉冮檺
                   </div>
 
                   <el-tree
@@ -131,36 +131,36 @@
                 <!--                </div>-->
               </div>
             </el-tab-pane>
-<!--            <el-tab-pane label="APP绔�" name="APP">-->
-<!--              <div style="display: flex;">-->
-<!--                <div-->
-<!--                  ref="scrollLeft"-->
-<!--                  style="border-right: 1px solid rgba(0,0,0,0.2);width:100%;-->
-<!--                                overflow-y: auto;overflow-x:hidden;"-->
-<!--                  :style="{height:(tableHeight-40)+'px'}"-->
-<!--                  @scroll="scrollLeftScroll()"-->
-<!--                  @mouseover="isScroll='left'"-->
-<!--                >-->
-<!--                  <div style=" ">-->
-<!--                    <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" /> 鑿滃崟鏉冮檺-->
-<!--                  </div>-->
+            <!--            <el-tab-pane label="APP绔�" name="APP">-->
+            <!--              <div style="display: flex;">-->
+            <!--                <div-->
+            <!--                  ref="scrollLeft"-->
+            <!--                  style="border-right: 1px solid rgba(0,0,0,0.2);width:100%;-->
+            <!--                                overflow-y: auto;overflow-x:hidden;"-->
+            <!--                  :style="{height:(tableHeight-40)+'px'}"-->
+            <!--                  @scroll="scrollLeftScroll()"-->
+            <!--                  @mouseover="isScroll='left'"-->
+            <!--                >-->
+            <!--                  <div style=" ">-->
+            <!--                    <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" /> 鑿滃崟鏉冮檺-->
+            <!--                  </div>-->
 
-<!--                  <el-tree-->
-<!--                    ref="treeCenterAPPRef"-->
-<!--                    style="padding-top: 10px;"-->
-<!--                    :data="treeCenter"-->
-<!--                    highlight-current-->
-<!--                    :props="defaultPropsCenter"-->
-<!--                    show-checkbox-->
-<!--                    node-key="menucode"-->
-<!--                    :default-expand-all="true"-->
-<!--                    @check-change="handleTreeCenterCheckChange"-->
-<!--                    @check="handleTreeCenterCheck"-->
-<!--                    @node-click="getLeftTreeNode"-->
-<!--                  />-->
-<!--                </div>-->
-<!--              </div>-->
-<!--            </el-tab-pane>-->
+            <!--                  <el-tree-->
+            <!--                    ref="treeCenterAPPRef"-->
+            <!--                    style="padding-top: 10px;"-->
+            <!--                    :data="treeCenter"-->
+            <!--                    highlight-current-->
+            <!--                    :props="defaultPropsCenter"-->
+            <!--                    show-checkbox-->
+            <!--                    node-key="menucode"-->
+            <!--                    :default-expand-all="true"-->
+            <!--                    @check-change="handleTreeCenterCheckChange"-->
+            <!--                    @check="handleTreeCenterCheck"-->
+            <!--                    @node-click="getLeftTreeNode"-->
+            <!--                  />-->
+            <!--                </div>-->
+            <!--              </div>-->
+            <!--            </el-tab-pane>-->
             <!--            <el-tab-pane label="宸ユ帶绔�" name="宸ユ帶绔�">宸ユ帶绔�</el-tab-pane>-->
           </el-tabs>
 
@@ -185,7 +185,7 @@
 
 export default {
   name: 'PowerDivider',
-  directives: { waves },
+  directives: {waves},
   data() {
     return {
       mainHeight: 0,
@@ -234,7 +234,7 @@
 
     // 鑾峰彇瑙掕壊鏉冮檺鏌ヨ瑙掕壊
     async getRolePermissionSearchRole() {
-      const { data: res } = await RolePermissionSearchRole()
+      const {data: res} = await RolePermissionSearchRole()
       this.treeLeft = res
 
       let rolecode = ''
@@ -262,12 +262,12 @@
 
     // 鑾峰彇鑿滃崟鏉冮檺瀵瑰簲鐨勬寜閽�
     async getRolePermissionSearchRoleMenuButton(rolecode) {
-      const { data: res } = await RolePermissionSearchRoleMenuButton({ rolecode, type: this.activeName })
+      const {data: res} = await RolePermissionSearchRoleMenuButton({rolecode, type: this.activeName})
       this.allButtonData = res.length > 0 ? JSON.parse(res[0].jsondate) : []
     },
     // 鑾峰彇鑿滃崟鏉冮檺
     async getRolePermissionSearchRoleMenu(rolecode) {
-      const { data: res } = await RolePermissionSearchRoleMenu({ rolecode, type: this.activeName })
+      const {data: res} = await RolePermissionSearchRoleMenu({rolecode, type: this.activeName})
 
       // 鎷垮埌鏁扮粍list杞崲鎴愭爲褰ree
       const result = arrayToTree(res, {
@@ -277,7 +277,7 @@
       })
 
       this.treeCenter = [
-        { menucode: '-1', menuname: '鍏ㄩ儴', children: result }
+        {menucode: '-1', menuname: '鍏ㄩ儴', children: result}
       ]
 
       this.treeCenter[0].children.sort((a, b) => a.menu_seq - b.menu_seq)
@@ -429,7 +429,7 @@
       this.$forceUpdate()
     },
     // 澶勭悊涓棿鏍戝舰鍕鹃��
-    handleTreeCenterCheck(obj, { checkedNodes, checkedKeys, halfCheckedNodes, halfCheckedKeys }) {
+    handleTreeCenterCheck(obj, {checkedNodes, checkedKeys, halfCheckedNodes, halfCheckedKeys}) {
       // console.log(obj, checkedNodes, checkedKeys, halfCheckedNodes, halfCheckedKeys, '鍔犲瀹�')
 
       if (checkedKeys.length === 0) { // 鏍戝舰鑿滃崟鍏ㄤ笉閫夌殑鎯呭喌涓�
@@ -513,6 +513,10 @@
         this.$notify.success(rolename + '鐨勮鑹叉潈闄愭彁浜ゆ垚鍔燂紒')
         await this.getRolePermissionSearchRoleMenuButton(rolecode)
         this.$store.state.app.buttonIsDisabled = false
+
+        setTimeout(() => {
+          location.reload()
+        }, 2000)
       }
     },
     // 鑾峰彇椤甸潰楂樺害
diff --git a/src/views/kanbanManager/cj.vue b/src/views/kanbanManager/cj.vue
index 9127e56..43abef2 100644
--- a/src/views/kanbanManager/cj.vue
+++ b/src/views/kanbanManager/cj.vue
@@ -6,7 +6,7 @@
 
       <div class="kb_header">
         <div class="kb_headTime" style="top: 35px;left:  20px">
-          <span>娴欐睙瀵呭瘏绉戞妧鏈夐檺鍏徃</span>
+          <span>娴欐睙闃块瞾鍏嬪仴韬櫒鏉愭湁闄愬叕鍙�</span>
         </div>
 
         <div class="kb_headTime kb_header_text" style="top: 35px;left:  828px">
diff --git a/src/views/kanbanManager/ckgl.vue b/src/views/kanbanManager/ckgl.vue
index 01439a3..d2143e6 100644
--- a/src/views/kanbanManager/ckgl.vue
+++ b/src/views/kanbanManager/ckgl.vue
@@ -5,7 +5,7 @@
       <div class="kb_backgroundCustom" />
       <div class="kb_header">
         <div class="kb_headTime" style="top: 35px;left:  20px">
-          <span>娴欐睙瀵呭瘏绉戞妧鏈夐檺鍏徃</span>
+          <span>娴欐睙闃块瞾鍏嬪仴韬櫒鏉愭湁闄愬叕鍙�</span>
         </div>
 
         <div class="kb_headTime kb_header_text" style="top: 35px;left:  800px">
diff --git a/src/views/kanbanManager/zhkb.vue b/src/views/kanbanManager/zhkb.vue
index 3187bb3..41f9fa9 100644
--- a/src/views/kanbanManager/zhkb.vue
+++ b/src/views/kanbanManager/zhkb.vue
@@ -6,7 +6,7 @@
 
       <div class="kb_header">
         <div class="kb_headTime" style="top: 35px;left:  20px">
-          <span>娴欐睙瀵呭瘏绉戞妧鏈夐檺鍏徃</span>
+          <span>娴欐睙闃块瞾鍏嬪仴韬櫒鏉愭湁闄愬叕鍙�</span>
         </div>
 
         <div class="kb_headTime kb_header_text" style="top: 35px;left:  800px">
diff --git a/src/views/workOrder/produceOrderList.vue b/src/views/workOrder/produceOrderList.vue
index 978206d..82a6d56 100644
--- a/src/views/workOrder/produceOrderList.vue
+++ b/src/views/workOrder/produceOrderList.vue
@@ -7,10 +7,17 @@
       >
         <div style="font-weight: bolder;">璁㈠崟鐘舵��</div>
         <div class="statusItem" :class="{statusItemLight:form.erporderstus===''}" @click="statusChange('')">鍏ㄩ儴</div>
-        <div class="statusItem" :class="{statusItemLight:form.erporderstus==='NEW'}" @click="statusChange('NEW')">鏂拌鍗�</div>
-        <div class="statusItem" :class="{statusItemLight:form.erporderstus==='CREATING'}" @click="statusChange('CREATING')">閮ㄥ垎涓嬭揪</div>
-        <div class="statusItem" :class="{statusItemLight:form.erporderstus==='CREATED'}" @click="statusChange('CREATED')">鍏ㄩ儴涓嬭揪</div>
-        <div class="statusItem" :class="{statusItemLight:form.erporderstus==='CLOSED'}" @click="statusChange('CLOSED')">宸插叧闂�</div>
+        <div class="statusItem" :class="{statusItemLight:form.erporderstus==='NEW'}" @click="statusChange('NEW')">鏂拌鍗�
+        </div>
+        <div class="statusItem" :class="{statusItemLight:form.erporderstus==='CREATING'}"
+             @click="statusChange('CREATING')">閮ㄥ垎涓嬭揪
+        </div>
+        <div class="statusItem" :class="{statusItemLight:form.erporderstus==='CREATED'}"
+             @click="statusChange('CREATED')">鍏ㄩ儴涓嬭揪
+        </div>
+        <div class="statusItem" :class="{statusItemLight:form.erporderstus==='CLOSED'}" @click="statusChange('CLOSED')">
+          宸插叧闂�
+        </div>
       </div>
 
       <div class="bodyTopButtonGroup" style="justify-content: space-between;margin-top: 5px;">
@@ -74,22 +81,22 @@
               </el-select>
             </el-form-item>
             <el-form-item label="璁㈠崟缂栧彿" style=" display: flex;">
-              <el-input v-model="form.erpordercode" placeholder="璇疯緭鍏�" style="width: 200px" />
+              <el-input v-model="form.erpordercode" placeholder="璇疯緭鍏�" style="width: 200px"/>
             </el-form-item>
 
             <el-form-item label="閿�鍞鍗�" style=" display: flex;">
-              <el-input v-model="form.saleordercode" style="width: 200px" placeholder="璇疯緭鍏�" />
+              <el-input v-model="form.saleordercode" style="width: 200px" placeholder="璇疯緭鍏�"/>
             </el-form-item>
 
             <el-form-item v-show="isExpandForm" label="浜у搧缂栫爜" style=" display: flex;">
-              <el-input v-model="form.partcode" style="width: 200px" placeholder="璇疯緭鍏�" />
+              <el-input v-model="form.partcode" style="width: 200px" placeholder="璇疯緭鍏�"/>
             </el-form-item>
 
             <el-form-item v-show="isExpandForm" label="浜у搧鍚嶇О" style=" display: flex;">
-              <el-input v-model="form.partname" style="width: 200px" placeholder="璇疯緭鍏�" />
+              <el-input v-model="form.partname" style="width: 200px" placeholder="璇疯緭鍏�"/>
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="浜у搧瑙勬牸" style=" display: flex;">
-              <el-input v-model="form.partspec" style="width: 200px" placeholder="璇疯緭鍏�" />
+              <el-input v-model="form.partspec" style="width: 200px" placeholder="璇疯緭鍏�"/>
             </el-form-item>
 
             <DateType
@@ -237,7 +244,7 @@
           <el-table-column
             show-tooltip-when-overflow
             prop="saleOrderCode"
-            label="閿�鍞鍗�"
+            label="閿�鍞鍗�/棰勬祴鍗�"
             sortable="custom"
             width="150"
           >
@@ -273,6 +280,30 @@
             </template>
           </el-table-column>
           <el-table-column
+            prop="TopInventoryCode"
+            label="椤剁骇鐗╂枡缂栫爜"
+            sortable="custom"
+            show-tooltip-when-overflow
+            min-width="130"
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.TopInventoryCode">{{ row.TopInventoryCode }}</div>
+              <div v-else>/</div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="TopInventoryName"
+            label="椤剁骇鐗╂枡鍚嶇О"
+            sortable="custom"
+            show-tooltip-when-overflow
+            min-width="130"
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.TopInventoryName">{{ row.TopInventoryName }}</div>
+              <div v-else>/</div>
+            </template>
+          </el-table-column>
+          <el-table-column
             prop="qty"
             label="璁㈠崟鏁伴噺"
             width="150"
@@ -286,66 +317,66 @@
             width="150"
             sortable="custom"
           />
-<!--          <el-table-column-->
-<!--            prop="priuserdefnvc1"-->
-<!--            label="瀹㈡埛鍚嶇О"-->
-<!--            width="110"-->
-<!--            sortable="custom"-->
-<!--          >-->
-<!--            <template slot-scope="{row}">-->
-<!--              {{ row.priuserdefnvc1 ? row.priuserdefnvc1 : '/' }}-->
-<!--            </template>-->
-<!--          </el-table-column>-->
-<!--          <el-table-column-->
-<!--            prop="priuserdefnvc6"-->
-<!--            label="瀹㈡埛缂栫爜"-->
-<!--            width="110"-->
-<!--            sortable="custom"-->
-<!--          >-->
-<!--            <template slot-scope="{row}">-->
-<!--              {{ row.priuserdefnvc6 ? row.priuserdefnvc6 : '/' }}-->
-<!--            </template>-->
-<!--          </el-table-column>-->
-<!--          <el-table-column-->
-<!--            prop="priuserdefnvc2"-->
-<!--            label="瀵瑰唴鍚嶇О"-->
-<!--            width="110"-->
-<!--            sortable="custom"-->
-<!--          >-->
-<!--            <template slot-scope="{row}">-->
-<!--              {{ row.priuserdefnvc2 ? row.priuserdefnvc2 : '/' }}-->
-<!--            </template>-->
-<!--          </el-table-column>-->
-<!--          <el-table-column-->
-<!--            prop="priuserdefnvc3"-->
-<!--            label="CTP鏃ユ湡"-->
-<!--            width="110"-->
-<!--            sortable="custom"-->
-<!--          >-->
-<!--            <template slot-scope="{row}">-->
-<!--              {{ row.priuserdefnvc3 ? row.priuserdefnvc3 : '/' }}-->
-<!--            </template>-->
-<!--          </el-table-column>-->
-<!--          <el-table-column-->
-<!--            prop="priuserdefnvc4"-->
-<!--            label="閽㈠垁缂栧彿"-->
-<!--            width="110"-->
-<!--            sortable="custom"-->
-<!--          >-->
-<!--            <template slot-scope="{row}">-->
-<!--              {{ row.priuserdefnvc4 ? row.priuserdefnvc4 : '/' }}-->
-<!--            </template>-->
-<!--          </el-table-column>-->
-<!--          <el-table-column-->
-<!--            prop="priuserdefnvc5"-->
-<!--            label="鐩掑瀷"-->
-<!--            width="110"-->
-<!--            sortable="custom"-->
-<!--          >-->
-<!--            <template slot-scope="{row}">-->
-<!--              {{ row.priuserdefnvc5 ? row.priuserdefnvc5 : '/' }}-->
-<!--            </template>-->
-<!--          </el-table-column>-->
+          <!--          <el-table-column-->
+          <!--            prop="priuserdefnvc1"-->
+          <!--            label="瀹㈡埛鍚嶇О"-->
+          <!--            width="110"-->
+          <!--            sortable="custom"-->
+          <!--          >-->
+          <!--            <template slot-scope="{row}">-->
+          <!--              {{ row.priuserdefnvc1 ? row.priuserdefnvc1 : '/' }}-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
+          <!--          <el-table-column-->
+          <!--            prop="priuserdefnvc6"-->
+          <!--            label="瀹㈡埛缂栫爜"-->
+          <!--            width="110"-->
+          <!--            sortable="custom"-->
+          <!--          >-->
+          <!--            <template slot-scope="{row}">-->
+          <!--              {{ row.priuserdefnvc6 ? row.priuserdefnvc6 : '/' }}-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
+          <!--          <el-table-column-->
+          <!--            prop="priuserdefnvc2"-->
+          <!--            label="瀵瑰唴鍚嶇О"-->
+          <!--            width="110"-->
+          <!--            sortable="custom"-->
+          <!--          >-->
+          <!--            <template slot-scope="{row}">-->
+          <!--              {{ row.priuserdefnvc2 ? row.priuserdefnvc2 : '/' }}-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
+          <!--          <el-table-column-->
+          <!--            prop="priuserdefnvc3"-->
+          <!--            label="CTP鏃ユ湡"-->
+          <!--            width="110"-->
+          <!--            sortable="custom"-->
+          <!--          >-->
+          <!--            <template slot-scope="{row}">-->
+          <!--              {{ row.priuserdefnvc3 ? row.priuserdefnvc3 : '/' }}-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
+          <!--          <el-table-column-->
+          <!--            prop="priuserdefnvc4"-->
+          <!--            label="閽㈠垁缂栧彿"-->
+          <!--            width="110"-->
+          <!--            sortable="custom"-->
+          <!--          >-->
+          <!--            <template slot-scope="{row}">-->
+          <!--              {{ row.priuserdefnvc4 ? row.priuserdefnvc4 : '/' }}-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
+          <!--          <el-table-column-->
+          <!--            prop="priuserdefnvc5"-->
+          <!--            label="鐩掑瀷"-->
+          <!--            width="110"-->
+          <!--            sortable="custom"-->
+          <!--          >-->
+          <!--            <template slot-scope="{row}">-->
+          <!--              {{ row.priuserdefnvc5 ? row.priuserdefnvc5 : '/' }}-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
           <el-table-column
             prop="clerkuser"
             label="閿�鍞笟鍔″憳"
@@ -473,12 +504,21 @@
                     @click="edit('edit',row)"
                   />
                 </el-tooltip>
-                <el-tooltip v-del-tab-index class="item" effect="dark" content="璁㈠崟鍏抽棴" placement="top">
+                <el-tooltip v-del-tab-index class="item" effect="dark" :content="row.status!=='CLOSED'?'璁㈠崟鍏抽棴':'璁㈠崟鍚姩'" placement="top">
                   <i
+                    v-if="row.status!=='CLOSED'"
                     class="el-icon-switch-button"
+                    :style="{color:'red'}"
+                    style="cursor: pointer;margin-left: 15px"
+                    @click="orderClose(row)"
+                  />
+
+                  <i
+                    v-if="row.status==='CLOSED'"
+                    class="el-icon-thumb"
                     :style="{color:$store.state.settings.theme}"
                     style="cursor: pointer;margin-left: 15px"
-                    @click="orderClose(row.id)"
+                    @click="orderOpen(row)"
                   />
                 </el-tooltip>
 
@@ -519,26 +559,35 @@
     >
       <el-form ref="dialogForm" inline :rules="dialogFormRules" :model="dialogForm" label-width="106px">
         <el-form-item label="璁㈠崟缂栧彿" prop="erpordercode">
-          <el-input v-model="dialogForm.erpordercode" disabled style="width: 200px" />
+          <el-input v-model="dialogForm.erpordercode" disabled style="width: 200px"/>
         </el-form-item>
         <el-form-item label="浜у搧缂栫爜" prop="partcode">
-          <el-input v-model="dialogForm.partcode" disabled style="width: 200px" />
+          <el-input v-model="dialogForm.partcode" disabled style="width: 200px"/>
         </el-form-item>
         <el-form-item label="浜у搧鍚嶇О" prop="partname">
-          <el-input v-model="dialogForm.partname" disabled style="width: 200px" />
+          <el-input v-model="dialogForm.partname" disabled style="width: 200px"/>
         </el-form-item>
 
         <el-form-item label="浜у搧瑙勬牸" prop="partspec">
-          <el-input v-model="dialogForm.partspec" disabled style="width: 200px" />
+          <el-input v-model="dialogForm.partspec" disabled style="width: 200px"/>
         </el-form-item>
+
+        <el-form-item label="椤剁骇鐗╂枡缂栫爜" prop="TopInventoryCode">
+          <el-input v-model="dialogForm.TopInventoryCode" disabled style="width: 200px"/>
+        </el-form-item>
+
+        <el-form-item label="椤剁骇鐗╂枡鍚嶇О" prop="TopInventoryName">
+          <el-input v-model="dialogForm.TopInventoryName" disabled style="width: 200px"/>
+        </el-form-item>
+
         <el-form-item label="鐢熶骇杞﹂棿" prop="wkshopname">
-          <el-input v-model="dialogForm.wkshopname" disabled style="width: 200px" />
+          <el-input v-model="dialogForm.wkshopname" disabled style="width: 200px"/>
         </el-form-item>
         <el-form-item label="鎵�灞炰粨搴�" prop="warehousename">
-          <el-input v-model="dialogForm.warehousename" disabled style="width: 200px" />
+          <el-input v-model="dialogForm.warehousename" disabled style="width: 200px"/>
         </el-form-item>
         <el-form-item label="璁㈠崟鏁伴噺" prop="erpqty">
-          <el-input v-model="dialogForm.erpqty" disabled style="width: 200px" />
+          <el-input v-model="dialogForm.erpqty" disabled style="width: 200px"/>
         </el-form-item>
         <el-form-item label="宸蹭笅鍗曟暟" prop="relse_qty">
           <el-input
@@ -636,7 +685,7 @@
 
 <script>
 import Pagination from '@/components/Pagination'
-import { handleDatetime } from '@/utils/global'
+import {handleDatetime} from '@/utils/global'
 import elDragDialog from '@/directive/el-drag-dialog'
 import waves from '@/directive/waves'
 import {
@@ -644,10 +693,10 @@
   DeleteErpOrder,
   ErpOrderSearch,
   MarkBatchSaveErpOrder,
-  MarkSaveErpOrder
+  MarkSaveErpOrder, ReverseClosedErpOrder
 } from '@/api/WorkOrder'
-import { SeaveSearchErpOrder } from '@/api/ErpSyncMes'
-import { PrentOrganizationNoCompany } from '@/api/GeneralBasicData'
+import {SeaveSearchErpOrder} from '@/api/ErpSyncMes'
+import {PrentOrganizationNoCompany} from '@/api/GeneralBasicData'
 import DateType from '@/components/DateType'
 
 const SER_HZ = /^[\u4e00-\u9fa5]+$/
@@ -656,7 +705,7 @@
   components: {
     Pagination, DateType
   },
-  directives: { elDragDialog, waves },
+  directives: {elDragDialog, waves},
   data() {
     const validateName = (rule, value, callback) => {
       if (!value) {
@@ -698,10 +747,10 @@
       },
 
       erporderstusArr: [
-        { code: 'NEW', name: '鏂拌鍗�' },
-        { code: 'CREATING', name: '閮ㄥ垎涓嬭揪' },
-        { code: 'CREATED', name: '鍏ㄩ儴涓嬭揪' },
-        { code: 'CLOSED', name: '宸插叧闂�' }
+        {code: 'NEW', name: '鏂拌鍗�'},
+        {code: 'CREATING', name: '閮ㄥ垎涓嬭揪'},
+        {code: 'CREATED', name: '鍏ㄩ儴涓嬭揪'},
+        {code: 'CLOSED', name: '宸插叧闂�'}
       ],
       wkshopcodeArr: [],
       total: 10,
@@ -729,6 +778,10 @@
         ordernum: '', // 涓嬪崟鍗曟暟
         relse_qty: '', // 宸蹭笅鍗曟暟閲�
 
+        idTopInventory: '', // 椤剁骇鐗╂枡id
+        TopInventoryCode: '', // 椤剁骇鐗╂枡缂栫爜
+        TopInventoryName: '', // 椤剁骇鐗╂枡鍚嶇О
+
         clerkuser: '', // 閿�鍞笟鍔″憳
 
         saleOrderDeliveryDate: '', // 棰勮浜や粯鏃ユ湡
@@ -745,13 +798,13 @@
         //   { required: true, validator: validateName, trigger: ['blur', 'change'] }
         // ],
         markqty: [
-          { required: true, message: '璇疯緭鍏ヤ笅鍗曟暟閲�', trigger: ['blur', 'change'] }
+          {required: true, message: '璇疯緭鍏ヤ笅鍗曟暟閲�', trigger: ['blur', 'change']}
         ],
         ordernum: [
-          { required: true, message: '璇疯緭鍏ヤ笅鍗曞崟鏁�', trigger: ['blur', 'change'] }
+          {required: true, message: '璇疯緭鍏ヤ笅鍗曞崟鏁�', trigger: ['blur', 'change']}
         ],
         saleOrderDeliveryDate: [
-          { required: true, message: '璇烽�夋嫨棰勮浜や粯鏃ユ湡', trigger: ['blur', 'change'] }
+          {required: true, message: '璇烽�夋嫨棰勮浜や粯鏃ユ湡', trigger: ['blur', 'change']}
         ]
 
       },
@@ -804,7 +857,7 @@
     },
 
     async getPrentOrganizationNoCompany() {
-      const { data: res } = await PrentOrganizationNoCompany()
+      const {data: res} = await PrentOrganizationNoCompany()
       this.wkshopcodeArr = res
     },
     async getErpOrderSearch() {
@@ -853,7 +906,7 @@
       this.total = res.count
     },
     // 鎺掑簭鏀瑰彉鏃�
-    sortChange({ column, prop, order }) {
+    sortChange({column, prop, order}) {
       if (order === 'descending') {
         order = 'desc'
       } else if (order === 'ascending') {
@@ -939,7 +992,7 @@
               cancelButtonText: '鍙栨秷',
               type: 'warning'
             }).then(() => {
-              DeleteErpOrder({ erpordercode: item.wo, erporderid: id }).then(res => {
+              DeleteErpOrder({erpordercode: item.wo, erporderid: id}).then(res => {
                 if (res.code === '200') {
                   this.$message.success('璁㈠崟鍒犻櫎鎴愬姛!')
                   this.getErpOrderSearch()
@@ -953,28 +1006,41 @@
       })
     },
     // 璁㈠崟鍏抽棴
-    async orderClose(id) {
-      this.tableData.forEach(item => {
-        if (item.id === id) {
-          if (item.status !== 'NEW') {
-            return this.$message.info('姝よ鍗曢潪鏂拌鍗曪紝鏃犳硶鍏抽棴锛�')
-          } else {
-            this.$confirm('鏄惁纭鍏抽棴璁㈠崟?', '鎻愮ず', {
-              confirmButtonText: '纭畾',
-              cancelButtonText: '鍙栨秷',
-              type: 'warning'
-            }).then(() => {
-              ClosedErpOrder({ erpordercode: item.wo, erporderid: id }).then(res => {
-                if (res.code === '200') {
-                  this.$message.success('璁㈠崟鍏抽棴鎴愬姛!')
-                  this.getErpOrderSearch()
-                }
-              })
-            }).catch(() => {
-              this.$message.info('宸插彇娑堝叧闂紒')
-            })
+    async orderClose(row) {
+      if (row.status !== 'NEW') {
+        return this.$message.info('姝よ鍗曢潪鏂拌鍗曪紝鏃犳硶鍏抽棴锛�')
+      } else {
+        this.$confirm('鏄惁纭鍏抽棴璁㈠崟?', '鎻愮ず', {
+          confirmButtonText: '纭畾',
+          cancelButtonText: '鍙栨秷',
+          type: 'warning'
+        }).then(() => {
+          ClosedErpOrder({erpordercode: row.wo, erporderid: row.id}).then(res => {
+            if (res.code === '200') {
+              this.$message.success('璁㈠崟鍏抽棴鎴愬姛!')
+              this.getErpOrderSearch()
+            }
+          })
+        }).catch(() => {
+          this.$message.info('宸插彇娑堝叧闂紒')
+        })
+      }
+    },
+    // 璁㈠崟寮�鍚�
+    async orderOpen(row) {
+      this.$confirm('鏄惁纭鍚姩璁㈠崟锛岃璁㈠崟涓嬬殑鎵�鏈夊伐鍗曞皢浼氬紑鍚紒', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        ReverseClosedErpOrder({erpordercode: row.wo, erporderid: row.id}).then(res => {
+          if (res.code === '200') {
+            this.$message.success('璁㈠崟鍚姩鎴愬姛!')
+            this.getErpOrderSearch()
           }
-        }
+        })
+      }).catch(() => {
+        this.$message.info('宸插彇娑堝叧闂紒')
       })
     },
     batchHandle() {
@@ -1065,6 +1131,11 @@
         this.dialogForm.markqty = parseFloat(row.qty) - parseFloat(row.relse_qty)
         this.dialogForm.ordernum = 1
         this.dialogForm.relse_qty = row.relse_qty
+
+        this.dialogForm.idTopInventory = row.idTopInventory
+        this.dialogForm.TopInventoryCode = row.TopInventoryCode
+        this.dialogForm.TopInventoryName = row.TopInventoryName
+
         this.dialogForm.clerkuser = row.clerkuser
 
         this.dialogForm.paystartdate = row.planstartdate
@@ -1093,6 +1164,10 @@
         markqty: '', // 涓嬪崟鏁伴噺
         ordernum: '', // 涓嬪崟鍗曟暟
         relse_qty: '', // 宸蹭笅鍗曟暟閲�
+
+        idTopInventory: '', // 椤剁骇鐗╂枡id
+        TopInventoryCode: '', // 椤剁骇鐗╂枡缂栫爜
+        TopInventoryName: '', // 椤剁骇鐗╂枡鍚嶇О
 
         payenddate: '', // 棰勮瀹屽伐鏃ユ湡
         paystartdate: '', // 棰勮寮�宸ユ棩鏈�
@@ -1130,6 +1205,11 @@
             'partcode': this.dialogForm.partcode,
             'wkshopcode': this.dialogForm.wkshopcode,
             'warehousecode': this.dialogForm.warehousecode,
+
+            'idTopInventory': this.dialogForm.idTopInventory,
+            'TopInventoryCode': this.dialogForm.TopInventoryCode,
+            'TopInventoryName': this.dialogForm.TopInventoryName,
+
             'clerkuser': this.dialogForm.clerkuser,
             'erpqty': this.dialogForm.erpqty,
             'markqty': this.dialogForm.markqty,
@@ -1162,11 +1242,11 @@
         this.$refs.tableDataRef.doLayout()
       })
     },
-    tableRowClassName({ row, rowIndex }) {
+    tableRowClassName({row, rowIndex}) {
       return 'custom-row'
     },
     getSummaries(param) {
-      const { columns, data } = param
+      const {columns, data} = param
       const sums = []
       const i = 7
       columns.forEach((column, index) => {
@@ -1363,12 +1443,13 @@
   padding: 10px 10px 0 10px;
 }
 
-.statusItem{
+.statusItem {
   margin-left: 20px;
   cursor: pointer;
   color: #a7a7a7;
 }
-.statusItemLight{
+
+.statusItemLight {
   font-weight: bolder;
   color: #42b983;
 }
diff --git a/src/views/workOrder/workOrderClose.vue b/src/views/workOrder/workOrderClose.vue
index 1231d45..860b9ce 100644
--- a/src/views/workOrder/workOrderClose.vue
+++ b/src/views/workOrder/workOrderClose.vue
@@ -3,7 +3,8 @@
     <div class="body" :style="{height:mainHeight+'px'}">
 
       <div class="bodyTopButtonGroup">
-        <el-button v-waves icon="el-icon-switch-button" type="success" @click="orderClose()">宸ュ崟鍏抽棴</el-button>
+        <el-button v-waves icon="el-icon-switch-button" type="danger" @click="orderClose()">宸ュ崟鍏抽棴</el-button>
+        <el-button v-waves icon="el-icon-thumb" type="success" @click="orderOpen()">宸ュ崟鍚姩</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -49,13 +50,13 @@
               </el-select>
             </el-form-item>
             <el-form-item label="宸ュ崟缂栧彿" style=" display: flex;">
-              <el-input v-model="form.mesordercode" placeholder="璇疯緭鍏�" style="width: 200px" />
+              <el-input v-model="form.mesordercode" placeholder="璇疯緭鍏�" style="width: 200px"/>
             </el-form-item>
             <el-form-item label="婧愬崟鍗曞彿" style="display: flex;">
-              <el-input v-model="form.sourceorder" style="width: 200px" placeholder="璇疯緭鍏�" />
+              <el-input v-model="form.sourceorder" style="width: 200px" placeholder="璇疯緭鍏�"/>
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="閿�鍞鍗�" style="display: flex;">
-              <el-input v-model="form.saleordercode" style="width: 200px" placeholder="璇疯緭鍏�" />
+              <el-input v-model="form.saleordercode" style="width: 200px" placeholder="璇疯緭鍏�"/>
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="鍗曟嵁绫诲瀷" style=" display: flex;">
               <el-select
@@ -74,16 +75,16 @@
               </el-select>
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="浜у搧缂栫爜" style=" display: flex;">
-              <el-input v-model="form.partcode" style="width: 200px" placeholder="璇疯緭鍏�" />
+              <el-input v-model="form.partcode" style="width: 200px" placeholder="璇疯緭鍏�"/>
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="浜у搧鍚嶇О" style=" display: flex;">
-              <el-input v-model="form.partname" style="width: 200px" placeholder="璇疯緭鍏�" />
+              <el-input v-model="form.partname" style="width: 200px" placeholder="璇疯緭鍏�"/>
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="浜у搧瑙勬牸" style=" display: flex;">
-              <el-input v-model="form.partspec" style="width: 200px" placeholder="璇疯緭鍏�" />
+              <el-input v-model="form.partspec" style="width: 200px" placeholder="璇疯緭鍏�"/>
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="鍒涘缓浜哄憳" style=" display: flex;">
-              <el-input v-model="form.creatuser" style="width: 200px" placeholder="璇疯緭鍏�" />
+              <el-input v-model="form.creatuser" style="width: 200px" placeholder="璇疯緭鍏�"/>
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="鍒涘缓鏃堕棿" style=" display: flex;">
               <!--              <el-date-picker-->
@@ -154,8 +155,8 @@
           <el-table-column
             type="selection"
             width="50"
-            :selectable="selected"
           />
+<!--          :selectable="selected"-->
           <el-table-column
             prop="rowNum"
             width="50"
@@ -202,7 +203,7 @@
           </el-table-column>
           <el-table-column
             prop="saleOrderCode"
-            label="閿�鍞鍗�"
+            label="閿�鍞鍗�/棰勬祴鍗�"
             sortable="custom"
             show-tooltip-when-overflow
             min-width="160"
@@ -258,66 +259,66 @@
             show-tooltip-when-overflow
             width="100"
           />
-<!--          <el-table-column-->
-<!--            prop="priuserdefnvc1"-->
-<!--            label="瀹㈡埛鍚嶇О"-->
-<!--            width="110"-->
-<!--            sortable="custom"-->
-<!--          >-->
-<!--            <template slot-scope="{row}">-->
-<!--              {{ row.priuserdefnvc1 ? row.priuserdefnvc1 : '/' }}-->
-<!--            </template>-->
-<!--          </el-table-column>-->
-<!--          <el-table-column-->
-<!--            prop="priuserdefnvc6"-->
-<!--            label="瀹㈡埛缂栫爜"-->
-<!--            width="110"-->
-<!--            sortable="custom"-->
-<!--          >-->
-<!--            <template slot-scope="{row}">-->
-<!--              {{ row.priuserdefnvc6 ? row.priuserdefnvc6 : '/' }}-->
-<!--            </template>-->
-<!--          </el-table-column>-->
-<!--          <el-table-column-->
-<!--            prop="priuserdefnvc2"-->
-<!--            label="瀵瑰唴鍚嶇О"-->
-<!--            width="110"-->
-<!--            sortable="custom"-->
-<!--          >-->
-<!--            <template slot-scope="{row}">-->
-<!--              {{ row.priuserdefnvc2 ? row.priuserdefnvc2 : '/' }}-->
-<!--            </template>-->
-<!--          </el-table-column>-->
-<!--          <el-table-column-->
-<!--            prop="priuserdefnvc3"-->
-<!--            label="CTP鏃ユ湡"-->
-<!--            width="110"-->
-<!--            sortable="custom"-->
-<!--          >-->
-<!--            <template slot-scope="{row}">-->
-<!--              {{ row.priuserdefnvc3 ? row.priuserdefnvc3 : '/' }}-->
-<!--            </template>-->
-<!--          </el-table-column>-->
-<!--          <el-table-column-->
-<!--            prop="priuserdefnvc4"-->
-<!--            label="閽㈠垁缂栧彿"-->
-<!--            width="110"-->
-<!--            sortable="custom"-->
-<!--          >-->
-<!--            <template slot-scope="{row}">-->
-<!--              {{ row.priuserdefnvc4 ? row.priuserdefnvc4 : '/' }}-->
-<!--            </template>-->
-<!--          </el-table-column>-->
-<!--          <el-table-column-->
-<!--            prop="priuserdefnvc5"-->
-<!--            label="鐩掑瀷"-->
-<!--            width="110"-->
-<!--            sortable="custom"-->
-<!--          >-->
-<!--            <template slot-scope="{row}">-->
-<!--              {{ row.priuserdefnvc5 ? row.priuserdefnvc5 : '/' }}-->
-<!--            </template>-->
-<!--          </el-table-column>-->
+          <!--          <el-table-column-->
+          <!--            prop="priuserdefnvc1"-->
+          <!--            label="瀹㈡埛鍚嶇О"-->
+          <!--            width="110"-->
+          <!--            sortable="custom"-->
+          <!--          >-->
+          <!--            <template slot-scope="{row}">-->
+          <!--              {{ row.priuserdefnvc1 ? row.priuserdefnvc1 : '/' }}-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
+          <!--          <el-table-column-->
+          <!--            prop="priuserdefnvc6"-->
+          <!--            label="瀹㈡埛缂栫爜"-->
+          <!--            width="110"-->
+          <!--            sortable="custom"-->
+          <!--          >-->
+          <!--            <template slot-scope="{row}">-->
+          <!--              {{ row.priuserdefnvc6 ? row.priuserdefnvc6 : '/' }}-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
+          <!--          <el-table-column-->
+          <!--            prop="priuserdefnvc2"-->
+          <!--            label="瀵瑰唴鍚嶇О"-->
+          <!--            width="110"-->
+          <!--            sortable="custom"-->
+          <!--          >-->
+          <!--            <template slot-scope="{row}">-->
+          <!--              {{ row.priuserdefnvc2 ? row.priuserdefnvc2 : '/' }}-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
+          <!--          <el-table-column-->
+          <!--            prop="priuserdefnvc3"-->
+          <!--            label="CTP鏃ユ湡"-->
+          <!--            width="110"-->
+          <!--            sortable="custom"-->
+          <!--          >-->
+          <!--            <template slot-scope="{row}">-->
+          <!--              {{ row.priuserdefnvc3 ? row.priuserdefnvc3 : '/' }}-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
+          <!--          <el-table-column-->
+          <!--            prop="priuserdefnvc4"-->
+          <!--            label="閽㈠垁缂栧彿"-->
+          <!--            width="110"-->
+          <!--            sortable="custom"-->
+          <!--          >-->
+          <!--            <template slot-scope="{row}">-->
+          <!--              {{ row.priuserdefnvc4 ? row.priuserdefnvc4 : '/' }}-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
+          <!--          <el-table-column-->
+          <!--            prop="priuserdefnvc5"-->
+          <!--            label="鐩掑瀷"-->
+          <!--            width="110"-->
+          <!--            sortable="custom"-->
+          <!--          >-->
+          <!--            <template slot-scope="{row}">-->
+          <!--              {{ row.priuserdefnvc5 ? row.priuserdefnvc5 : '/' }}-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
           <el-table-column
             prop="wkshp_name"
             label="鐢熶骇杞﹂棿"
@@ -405,12 +406,20 @@
                   />
                 </el-tooltip>
 
-                <el-tooltip class="item" effect="dark" content="宸ュ崟鍏抽棴" placement="top">
+                <el-tooltip class="item" effect="dark" :content="row.status!=='CLOSED'?'宸ュ崟鍏抽棴':'宸ュ崟鍚姩'" placement="top">
                   <i
+                    v-if="row.status!=='CLOSED'"
                     class="el-icon-switch-button"
                     style="cursor: pointer;margin-left: 15px"
-                    :style="{color:$store.state.settings.theme}"
+                    :style="{color:'red'}"
                     @click.stop="orderClose(row)"
+                  />
+                  <i
+                    v-if="row.status==='CLOSED'"
+                    class="el-icon-thumb"
+                    style="cursor: pointer;margin-left: 15px"
+                    :style="{color:$store.state.settings.theme}"
+                    @click.stop="orderOpen(row)"
                   />
                 </el-tooltip>
 
@@ -589,7 +598,7 @@
 
         <el-form-item label="宸ュ崟缂栧彿" prop="mesordercode">
           <!--          <el-input v-model="dialogForm.mesordercode" :disabled="operation!=='add'" style="width: 200px" />-->
-          <el-input v-model="dialogForm.mesordercode" disabled style="width: 200px" />
+          <el-input v-model="dialogForm.mesordercode" disabled style="width: 200px"/>
         </el-form-item>
         <!--        <div style="display: flex">-->
         <el-form-item label="宸ュ崟绫诲瀷" prop="mesorderstus">
@@ -670,7 +679,7 @@
         <!--          <el-input v-model="dialogForm.partcode" disabled style="width: 200px" />-->
         <!--        </el-form-item>-->
         <el-form-item label="浜у搧瑙勬牸" prop="partspec">
-          <el-input v-model="dialogForm.partspec" disabled style="width: 200px" />
+          <el-input v-model="dialogForm.partspec" disabled style="width: 200px"/>
         </el-form-item>
         <!--        :disabled="dialogForm.partcode===''"-->
         <el-form-item label="鎵�灞炶溅闂�" prop="wkshopcode">
@@ -1011,20 +1020,20 @@
               </el-select>
             </el-form-item>
             <el-form-item label="宸ュ崟缂栧彿" style=" display: flex;">
-              <el-input v-model="sourceForm.sourceorder" placeholder="璇疯緭鍏�" style="width: 200px" />
+              <el-input v-model="sourceForm.sourceorder" placeholder="璇疯緭鍏�" style="width: 200px"/>
             </el-form-item>
             <el-form-item label="浜у搧缂栫爜" style=" display: flex;">
-              <el-input v-model="sourceForm.partcode" style="width: 200px" placeholder="璇疯緭鍏�" />
+              <el-input v-model="sourceForm.partcode" style="width: 200px" placeholder="璇疯緭鍏�"/>
             </el-form-item>
 
             <el-form-item v-show="isExpandDialog" label="浜у搧鍚嶇О" style=" display: flex;">
-              <el-input v-model="sourceForm.partname" style="width: 200px" placeholder="璇疯緭鍏�" />
+              <el-input v-model="sourceForm.partname" style="width: 200px" placeholder="璇疯緭鍏�"/>
             </el-form-item>
             <el-form-item v-show="isExpandDialog" label="浜у搧瑙勬牸" style=" display: flex;">
-              <el-input v-model="sourceForm.partspec" style="width: 200px" placeholder="璇疯緭鍏�" />
+              <el-input v-model="sourceForm.partspec" style="width: 200px" placeholder="璇疯緭鍏�"/>
             </el-form-item>
             <el-form-item v-show="isExpandDialog" label="鍒涘缓浜哄憳" style=" display: flex;">
-              <el-input v-model="sourceForm.creatuser" style="width: 200px" placeholder="璇疯緭鍏�" />
+              <el-input v-model="sourceForm.creatuser" style="width: 200px" placeholder="璇疯緭鍏�"/>
             </el-form-item>
 
             <el-form-item
@@ -1348,9 +1357,9 @@
             justify-content: center;
             position: relative;"
           >
-            <div id="qrCode0" ref="qrCodeDiv0" />
+            <div id="qrCode0" ref="qrCodeDiv0"/>
           </div>
-          <div style="background-color: #fff;width: 20px;height:120px; position: absolute;right: 0" />
+          <div style="background-color: #fff;width: 20px;height:120px; position: absolute;right: 0"/>
           <div
             style="z-index: 10;background-color:transparent;width: 120px;height:120px; position: absolute;right: 21px"
           />
@@ -1381,7 +1390,7 @@
             align="center"
           >
             <template slot-scope="{row}">
-              <div :id="'qrCode'+row.seq" :ref="'qrCodeDiv'+row.seq" class="tableColumn" />
+              <div :id="'qrCode'+row.seq" :ref="'qrCodeDiv'+row.seq" class="tableColumn"/>
             </template>
           </el-table-column>
           <el-table-column
@@ -1915,11 +1924,11 @@
       @close="handleCloseRoute"
     >
       <div>
-        <i class="el-icon-s-comment" style="color:#42b983;" /> 浜у搧鍚嶇О锛歿{ dialogFormRoute.projectName }}
+        <i class="el-icon-s-comment" style="color:#42b983;"/> 浜у搧鍚嶇О锛歿{ dialogFormRoute.projectName }}
       </div>
-      <el-divider />
+      <el-divider/>
       <div style="margin-bottom: 10px">
-        <i class="el-icon-s-operation" style="color:#42b983;" /> 宸ヨ壓璺嚎闆嗗悎
+        <i class="el-icon-s-operation" style="color:#42b983;"/> 宸ヨ壓璺嚎闆嗗悎
       </div>
 
       <div class="myCheckboxGroup">
@@ -1943,9 +1952,9 @@
         </div>
       </div>
 
-      <el-divider />
+      <el-divider/>
       <div>
-        <i class="el-icon-s-operation" style="color:#42b983;" /> 榛樿宸ヨ壓璺嚎
+        <i class="el-icon-s-operation" style="color:#42b983;"/> 榛樿宸ヨ壓璺嚎
       </div>
       <div style="margin-top: 20px">
         <el-select
@@ -1963,9 +1972,9 @@
           />
         </el-select>
       </div>
-      <el-divider />
+      <el-divider/>
       <div style="margin-bottom: 10px">
-        <i class="el-icon-s-operation" style="color:#42b983;" /> 宸ュ簭鍒楄〃
+        <i class="el-icon-s-operation" style="color:#42b983;"/> 宸ュ簭鍒楄〃
       </div>
       <div style="overflow-y: scroll">
         <el-table
@@ -2001,11 +2010,11 @@
           >
             <template slot-scope="{row}">
               <div v-if="row.enable==='Y'">
-                <svg-icon icon-class="circleYes" style="margin-right: 2px" />
+                <svg-icon icon-class="circleYes" style="margin-right: 2px"/>
                 鏄�
               </div>
               <div v-if="row.enable==='N'">
-                <svg-icon icon-class="circleNo" style="margin-right: 2px" />
+                <svg-icon icon-class="circleNo" style="margin-right: 2px"/>
                 鍚�
               </div>
             </template>
@@ -2025,8 +2034,8 @@
 
 <script>
 import Pagination from '@/components/Pagination'
-import { handleDatetime, handleDatetime2, validateCode } from '@/utils/global'
-import { getCookie } from '@/utils/auth'
+import {handleDatetime, handleDatetime2, validateCode} from '@/utils/global'
+import {getCookie} from '@/utils/auth'
 import QRCode from 'qrcodejs2'
 import $ from 'jquery'
 import elDragDialog from '@/directive/el-drag-dialog'
@@ -2036,20 +2045,20 @@
   AddUpdateMesOrder, DeleteMesOrder,
   MesBadOrderSearch, MesOrderDistribution,
   MesOrderClosedSearch,
-  UpdateMesOrderStepSearch, MesOrderBitchClosedSeave
+  UpdateMesOrderStepSearch, MesOrderBitchClosedSeave, MesOrderBitchReverseClosedSeave
 } from '@/api/WorkOrder'
-import { PartSelect } from '@/api/ProductModel'
-import { PrentOrganization, PrentOrganizationNoCompany, StepData } from '@/api/GeneralBasicData'
+import {PartSelect} from '@/api/ProductModel'
+import {PrentOrganization, PrentOrganizationNoCompany, StepData} from '@/api/GeneralBasicData'
 import Sortable from 'sortablejs'
 import ElDragSelect from '@/components/DragSelect'
-import { MesOrderPrintSearch } from '@/api/GridReport' // base on element-ui
+import {MesOrderPrintSearch} from '@/api/GridReport' // base on element-ui
 
 export default {
   name: 'WorkOrderClose',
   components: {
     Pagination, ElDragSelect
   },
-  directives: { elDragDialog, waves },
+  directives: {elDragDialog, waves},
   data() {
     return {
       mouseHoverType: 'mouseout',
@@ -2082,8 +2091,8 @@
         // { code: 'CREATED', name: '宸插叧闂�' }
         // { code: 'ALLO', name: '宸叉淳鍙�' }
         // 宸插叧闂細CLOSED  鏈叧闂細NOCLOSED
-        { code: 'NOCLOSED', name: '鏈叧闂�' },
-        { code: 'CLOSED', name: '宸插叧闂�' }
+        {code: 'NOCLOSED', name: '鏈叧闂�'},
+        {code: 'CLOSED', name: '宸插叧闂�'}
         // { code: 'NOSCHED', name: '寰呮帓绋�' },
         // { code: 'SCHED', name: '宸叉帓绋�' }
       ],
@@ -2112,51 +2121,51 @@
         mesmaxqty: 0// 宸ュ崟鐨勬渶澶у��
       },
       ordertypeArr: [// 宸ュ崟绫诲瀷
-        { code: 'PO', name: '鏍囧噯宸ュ崟' },
-        { code: 'FO', name: '鎶ュ簾琛ュ崟' }
+        {code: 'PO', name: '鏍囧噯宸ュ崟'},
+        {code: 'FO', name: '鎶ュ簾琛ュ崟'}
       ],
       partArr: [], // 浜у搧淇℃伅
       wkshopArr: [], // 鐢熶骇杞﹂棿鏁扮粍
       routeArr: [], // 宸ヨ壓璺嚎鏁扮粍
       orderlevArr: [
-        { code: 1, name: '鐗圭骇' },
-        { code: 2, name: '绱ф��' },
-        { code: 3, name: '姝e父' }
+        {code: 1, name: '鐗圭骇'},
+        {code: 2, name: '绱ф��'},
+        {code: 3, name: '姝e父'}
       ], // 宸ュ崟绛夌骇鏁扮粍
       operation: '',
       dialogFormRules: {
         mesorderstus: [
-          { required: true, message: '璇烽�夋嫨璁㈠崟鐘舵��', trigger: ['blur', 'change'] }
+          {required: true, message: '璇烽�夋嫨璁㈠崟鐘舵��', trigger: ['blur', 'change']}
         ],
         partcode: [
-          { required: true, message: '璇烽�夋嫨浜у搧淇℃伅', trigger: ['blur', 'change'] }
+          {required: true, message: '璇烽�夋嫨浜у搧淇℃伅', trigger: ['blur', 'change']}
         ],
         mesordercode: [
-          { required: true, validator: validateCode, trigger: ['blur', 'change'] }
+          {required: true, validator: validateCode, trigger: ['blur', 'change']}
         ],
         mesqty: [
-          { required: true, message: '璇疯緭鍏ュ伐鍗曟暟閲�', trigger: ['blur', 'change'] }
+          {required: true, message: '璇疯緭鍏ュ伐鍗曟暟閲�', trigger: ['blur', 'change']}
         ],
         wkshopcode: [
-          { required: true, message: '璇烽�夋嫨鐢熶骇杞﹂棿', trigger: ['blur', 'change'] }
+          {required: true, message: '璇烽�夋嫨鐢熶骇杞﹂棿', trigger: ['blur', 'change']}
         ],
         deliverydate: [
-          { required: true, message: '璇烽�夋嫨棰勮浜や粯鏃ユ湡', trigger: ['blur', 'change'] }
+          {required: true, message: '璇烽�夋嫨棰勮浜や粯鏃ユ湡', trigger: ['blur', 'change']}
         ],
         planstartdate: [
-          { required: true, message: '璇烽�夋嫨寮�濮嬫椂闂�', trigger: ['blur', 'change'] }
+          {required: true, message: '璇烽�夋嫨寮�濮嬫椂闂�', trigger: ['blur', 'change']}
         ],
         planenddate: [
-          { required: true, message: '璇烽�夋嫨缁撴潫鏃堕棿', trigger: ['blur', 'change'] }
+          {required: true, message: '璇烽�夋嫨缁撴潫鏃堕棿', trigger: ['blur', 'change']}
         ],
         orderlev: [
-          { required: true, message: '璇烽�夋嫨宸ュ崟绛夌骇', trigger: ['blur', 'change'] }
+          {required: true, message: '璇烽�夋嫨宸ュ崟绛夌骇', trigger: ['blur', 'change']}
         ],
         isAps: [
-          { required: true, message: '璇烽�夋嫨鏄惁鎺掔▼', trigger: ['blur', 'change'] }
+          {required: true, message: '璇烽�夋嫨鏄惁鎺掔▼', trigger: ['blur', 'change']}
         ],
         bomId: [
-          { required: true, message: '璇烽�夋嫨鐗╂枡娓呭崟', trigger: ['blur', 'change'] }
+          {required: true, message: '璇烽�夋嫨鐗╂枡娓呭崟', trigger: ['blur', 'change']}
         ]
 
       },
@@ -2266,9 +2275,9 @@
       tableDataDetail: [], // 鐐瑰嚮宸ュ崟琛ㄧ殑琛� 鏄剧ず璇︾粏淇℃伅
       printSize: 0,
       printSizeSelectArr: [// 瀹�*楂�
-        { code: 0, name: '80*50' },
-        { code: 1, name: '78*60' },
-        { code: 2, name: '60*40' }
+        {code: 0, name: '80*50'},
+        {code: 1, name: '78*60'},
+        {code: 2, name: '60*40'}
         // { code: 2, name: '50*60' },
         // { code: 3, name: '50*40' },
         // { code: 4, name: '50*80' },
@@ -2299,7 +2308,7 @@
   watch: {
     'stepSelectedValue': {
       // deep: true,
-      handler: function(val) {
+      handler: function (val) {
         // do something with the new and old value of stepSelectedValue
         console.log(val, 1)
         const arr = JSON.parse(JSON.stringify(this.stepTableData))
@@ -2338,7 +2347,7 @@
       const el = this.$refs.stepTableDataRef.$el.querySelectorAll('.el-table__body-wrapper > table > tbody')[0]
       this.sortable = Sortable.create(el, {
         ghostClass: 'sortable-ghost', // Class name for the drop placeholder,
-        setData: function(dataTransfer) {
+        setData: function (dataTransfer) {
           // to avoid Firefox bug
           // Detail see : https://github.com/RubaXa/Sortable/issues/1012
           dataTransfer.setData('Text', '')
@@ -2354,7 +2363,7 @@
         }
       })
     },
-    tableRowClassName({ row, rowIndex }) {
+    tableRowClassName({row, rowIndex}) {
       return 'custom-row'
     },
     handleRequest() {
@@ -2366,7 +2375,7 @@
       })
     },
     async getPrentOrganizationNoCompany() {
-      const { data: res } = await PrentOrganizationNoCompany()
+      const {data: res} = await PrentOrganizationNoCompany()
       this.wkshopcodeArr = res
     },
     async getMesOrderClosedSearch() {
@@ -2397,19 +2406,19 @@
       this.total = res.count
 
       // this.form.createdate = tempDate
-      return { code: res.code }
+      return {code: res.code}
     },
     async getSelect() {
       // 鑾峰彇浜у搧淇℃伅
-      const { data: res1 } = await PartSelect()
+      const {data: res1} = await PartSelect()
       this.partArr = res1
 
       // 鑾峰彇缁勭粐
-      const { data: res2 } = await PrentOrganization()
+      const {data: res2} = await PrentOrganization()
       this.wkshopArr = res2
 
       // 鑾峰彇宸ュ簭
-      const { data: res3 } = await StepData()
+      const {data: res3} = await StepData()
       this.stepSelectArr = res3
     },
     // 璁㈠崟鐘舵�佹敼鍙樻椂
@@ -2417,7 +2426,7 @@
       this.form.mesorderstus = val
     },
     // 鎺掑簭鏀瑰彉鏃�
-    sortChange({ column, prop, order }) {
+    sortChange({column, prop, order}) {
       if (order === 'descending') {
         order = 'desc'
       } else if (order === 'ascending') {
@@ -2429,7 +2438,7 @@
       this.form.prop = prop
       this.getMesOrderClosedSearch()
     },
-    sourceSortChange({ column, prop, order }) {
+    sourceSortChange({column, prop, order}) {
       if (order === 'descending') {
         order = 'desc'
       } else if (order === 'ascending') {
@@ -2463,7 +2472,7 @@
     },
     // 鏂板鎸夐挳
     async add(operation) {
-      const { data: res } = await AddMesOrderCodeSearch()
+      const {data: res} = await AddMesOrderCodeSearch()
       this.dialogForm.mesordercode = res
       this.operation = operation
       this.dialogVisible = true
@@ -2488,7 +2497,8 @@
       this.dialogVisibleTask = false
     },
     handleSelectionChange(val) {
-      this.multipleSelection = val.map(i => i.wo_code)
+      // this.multipleSelection = val.map(i => i.wo_code)
+      this.multipleSelection = val
     },
 
     selected(row, index) {
@@ -2567,7 +2577,7 @@
         wocode: this.dialogForm.mesordercode,
         data_sources: this.dialogForm.data_sources
       }
-      const { data: res } = await UpdateMesOrderStepSearch(data)
+      const {data: res} = await UpdateMesOrderStepSearch(data)
       this.dialogForm.mesmaxqty = res.canupdate_qty
       this.stepTableData = res.stepdata
       // res.stepdata.forEach(i => {
@@ -2585,17 +2595,47 @@
     },
     // 宸ュ崟鍏抽棴浜嬩欢
     async orderClose(row) {
-      this.$confirm('鏄惁纭鍒犻櫎?', '鎻愮ず', {
+      this.$confirm('鏄惁纭鍏抽棴?', '鎻愮ず', {
         confirmButtonText: '纭畾',
         cancelButtonText: '鍙栨秷',
         type: 'warning'
       }).then(() => {
-        if (row) { // 琛屽叧闂伐鍗�
-          this.multipleSelection = [row.wo_code]
+        let data = null
+        if (row) { // 琛屽惎鍔ㄥ伐鍗�
+          data = [row.wo_code]
+        } else {
+          data = this.multipleSelection.filter(i => i.status === 'CLOSED').map(i => i.wo_code)
         }
-        MesOrderBitchClosedSeave(this.multipleSelection).then(res => {
+        MesOrderBitchClosedSeave(data).then(res => {
           if (res.code === '200') {
             this.$notify.success('鍏抽棴鎴愬姛!')
+            // if (this.form.page > 1 && this.tableData.length === 1) {
+            //   this.form.page--
+            // }
+            this.getMesOrderClosedSearch()
+          }
+        })
+      }).catch(() => {
+        this.$notify.info('宸插彇娑堝垹闄わ紒')
+      })
+    },
+    // 宸ュ崟鍚姩浜嬩欢
+    async orderOpen(row) {
+      this.$confirm('鏄惁纭鍚姩?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        let data = null
+        if (row) { // 琛屽惎鍔ㄥ伐鍗�
+          data = [row.wo_code]
+        } else {
+          data = this.multipleSelection.filter(i => i.status === 'CLOSED').map(i => i.wo_code)
+        }
+
+        MesOrderBitchReverseClosedSeave(data).then(res => {
+          if (res.code === '200') {
+            this.$notify.success('鍚姩鎴愬姛!')
             // if (this.form.page > 1 && this.tableData.length === 1) {
             //   this.form.page--
             // }
@@ -2735,7 +2775,7 @@
         return this.$message.info('璇峰厛閫夋嫨宸ヨ壓璺嚎锛�')
       }
       this.dialogVisibleSearch = true
-      const { data: res } = await SelectRouteStep({ routecode: this.dialogForm.routecode })
+      const {data: res} = await SelectRouteStep({routecode: this.dialogForm.routecode})
       this.searchTableData = res
     },
     dialogVisibleSearchBack() {
@@ -2890,7 +2930,7 @@
     },
     // 琛ユ墦鐢熶骇鍏ュ簱鏉$爜
     async getProductInHouseLabCode(ordercode) {
-      const res = await ProductInHouseLabCode({ ordercode })
+      const res = await ProductInHouseLabCode({ordercode})
       console.log(res)
       this.isLastPrint = true
 
@@ -3051,7 +3091,7 @@
       this.dialogFormRoute.projectCode = row.partcode
       this.dialogFormRoute.projectName = row.partname
       this.dialogVisibleRoute = true
-      const { data: res } = await InventoryFileAssociationRoute({ partcode: this.dialogFormRoute.projectCode })
+      const {data: res} = await InventoryFileAssociationRoute({partcode: this.dialogFormRoute.projectCode})
       this.dialogFormRoute.routeOperationArr = res
 
       this.dialogFormRoute.routeOperationArr.forEach((item, index) => {
@@ -3093,7 +3133,7 @@
       const data = []
       this.dialogFormRoute.routeOperationArr.forEach(item => {
         if (item.isSelected2) {
-          data.push({ code: item.code, name: item.name })
+          data.push({code: item.code, name: item.name})
         }
       })
 
@@ -3136,7 +3176,7 @@
         wocode: row.wo_code,
         data_sources: row.data_sources
       }
-      const { data: res } = await UpdateMesOrderStepSearch(data)
+      const {data: res} = await UpdateMesOrderStepSearch(data)
       this.tableDataDetail = res.stepdata
     },
     // 宸ュ簭鍒犻櫎
@@ -3157,10 +3197,10 @@
     },
     printMe2StylePadding(val) {
       if (val === 0) {
-        return { paddingLeft: '10px', paddingTop: '5px' }
+        return {paddingLeft: '10px', paddingTop: '5px'}
       }
       if (val === 5) {
-        return { paddingLeft: '15px', paddingTop: '7px' }
+        return {paddingLeft: '15px', paddingTop: '7px'}
       }
     },
 
diff --git a/src/views/workOrder/workOrderList.vue b/src/views/workOrder/workOrderList.vue
index b1a0f01..ac63cd4 100644
--- a/src/views/workOrder/workOrderList.vue
+++ b/src/views/workOrder/workOrderList.vue
@@ -225,7 +225,7 @@
           </el-table-column>
           <el-table-column
             prop="saleOrderCode"
-            label="閿�鍞鍗�"
+            label="閿�鍞鍗�/棰勬祴鍗�"
             sortable="custom"
             show-tooltip-when-overflow
             min-width="160"
@@ -288,7 +288,30 @@
               <div v-else>/</div>
             </template>
           </el-table-column>
-
+          <el-table-column
+            prop="TopInventoryCode"
+            label="椤剁骇鐗╂枡缂栫爜"
+            sortable="custom"
+            show-tooltip-when-overflow
+            min-width="130"
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.TopInventoryCode">{{ row.TopInventoryCode }}</div>
+              <div v-else>/</div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="TopInventoryName"
+            label="椤剁骇鐗╂枡鍚嶇О"
+            sortable="custom"
+            show-tooltip-when-overflow
+            min-width="130"
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.TopInventoryName">{{ row.TopInventoryName }}</div>
+              <div v-else>/</div>
+            </template>
+          </el-table-column>
           <el-table-column
             prop="plan_qty"
             label="宸ュ崟鏁�"
@@ -782,6 +805,14 @@
         <!--        </el-form-item>-->
         <el-form-item label="浜у搧瑙勬牸" prop="partspec">
           <el-input v-model="dialogForm.partspec" disabled style="width: 200px" />
+        </el-form-item>
+
+        <el-form-item v-if="operation!=='add'" label="椤剁骇鐗╂枡缂栫爜" prop="TopInventoryCode">
+          <el-input v-model="dialogForm.TopInventoryCode" disabled style="width: 200px" />
+        </el-form-item>
+
+        <el-form-item v-if="operation!=='add'" label="椤剁骇鐗╂枡鍚嶇О" prop="TopInventoryName">
+          <el-input v-model="dialogForm.TopInventoryName" disabled style="width: 200px" />
         </el-form-item>
         <!--        :disabled="dialogForm.partcode===''"-->
 
@@ -1502,6 +1533,9 @@
                   <el-form-item label="浜у搧瑙勬牸:" class="formContent">
                     {{ formApprove.partspec }}
                   </el-form-item>
+                  <el-form-item label="椤剁骇鐗╂枡:" class="formContent">
+                    {{ formApprove.TopInventoryName }}
+                  </el-form-item>
                   <el-form-item label="宸ュ崟鏁伴噺:" class="formContent">
                     {{ formApprove.plan_qty }}
                   </el-form-item>
@@ -1599,22 +1633,29 @@
             <el-table-column
               id="column4"
               prop="good_qty"
-              width="100"
+              width="60"
               align="center"
-              label="鍚堟牸鏁伴噺"
+              label="鍚堟牸"
             />
             <el-table-column
               id="column5"
-              width="100"
+              width="60"
               prop="ng_qty"
               align="center"
-              label="涓嶈壇鏁伴噺"
+              label="涓嶈壇"
             />
             <el-table-column
               id="column6"
               prop="desc"
               align="center"
-              width="120"
+              width="100"
+              label="妫�楠屽憳"
+            />
+            <el-table-column
+              id="column6"
+              prop="desc"
+              align="center"
+              width="100"
               label="澶囨敞"
             />
           </el-table>
@@ -2770,7 +2811,9 @@
 
         deliverydate: '', // 浜や粯鏃堕棿
         data_sources: '', // 鏁版嵁鏉ユ簮
-
+        idTopInventory: '', // 椤剁骇鐗╂枡id
+        TopInventoryCode: '', // 椤剁骇鐗╂枡缂栫爜
+        TopInventoryName: '', // 椤剁骇鐗╂枡鍚嶇О
         routecode: '', // 宸ヨ壓璺嚎
 
         mesmaxqty: 0, // 宸ュ崟鐨勬渶澶у��
@@ -2863,6 +2906,7 @@
         partname: '',
         partspec: '',
         plan_qty: '',
+        TopInventoryName: '',
         routename: '',
         lm_date: '',
         priuserdefnvc1: '',
@@ -3660,6 +3704,9 @@
       this.dialogForm.routecode = row.route_code
       this.dialogForm.deliverydate = row.saleOrderDeliveryDate.substring(0, 11)
       this.dialogForm.mesqty = row.plan_qty
+      this.dialogForm.TopInventoryCode = row.TopInventoryCode
+      this.dialogForm.TopInventoryName = row.TopInventoryName
+      this.dialogForm.idTopInventory = row.idTopInventory
 
       this.dialogForm.mesqtyinit = row.plan_qty
 
@@ -3872,7 +3919,9 @@
         mesqty: '', // 宸ュ崟鏁伴噺
         wkshopcode: '', // 鐢熶骇杞﹂棿缂栫爜
         wkshopname: '', // 鐢熶骇杞﹂棿鍚嶇О
-
+        idTopInventory: '', // 椤剁骇鐗╂枡id
+        TopInventoryCode: '', // 椤剁骇鐗╂枡缂栫爜
+        TopInventoryName: '', // 椤剁骇鐗╂枡鍚嶇О
         deliverydate: '', // 浜や粯鏃堕棿
         data_sources: '' // 鏁版嵁鏉ユ簮
       }
@@ -4028,6 +4077,8 @@
       this.formApprove.priuserdefnvc5 = row.priuserdefnvc5 ? row.priuserdefnvc5 : '/'
       this.formApprove.priuserdefnvc6 = row.priuserdefnvc6 ? row.priuserdefnvc6 : '/'
 
+      this.formApprove.TopInventoryName = row.TopInventoryName || '/'
+
       this.formApprove.saleOrderCode = this.formApprove.saleOrderCode !== '' ? this.formApprove.saleOrderCode : saleOrderCode
       const data2 = {
         mesordercode: wo_code || this.dialogForm.mesordercode
@@ -4138,7 +4189,7 @@
       this.formApprove.plan_qty = ''
       this.formApprove.routename = ''
       this.formApprove.lm_date = ''
-
+      this.formApprove.TopInventoryName = ''
       this.formApprove.priuserdefnvc1 = ''
       this.formApprove.priuserdefnvc2 = ''
       this.formApprove.priuserdefnvc3 = ''
diff --git a/src/views/workOrder/workOrderSend.vue b/src/views/workOrder/workOrderSend.vue
index 66b444f..15f28f9 100644
--- a/src/views/workOrder/workOrderSend.vue
+++ b/src/views/workOrder/workOrderSend.vue
@@ -209,7 +209,7 @@
           </el-table-column>
           <el-table-column
             prop="saleOrderCode"
-            label="閿�鍞鍗�"
+            label="閿�鍞鍗�/棰勬祴鍗�"
             sortable="custom"
             show-tooltip-when-overflow
             min-width="160"
diff --git a/vue.config.js b/vue.config.js
index 097cd04..bb357bb 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -52,7 +52,7 @@
     },
     proxy: {
       [process.env.VUE_APP_BASE_API]: {
-        target: 'http://121.196.36.24:8042', // 鏈湴
+        target: 'http://121.196.36.24:8048', // 鏈湴
         // target: 'http://192.168.1.21:9000', // 闃块瞾鍏嬶紙鏂帮級
         changeOrigin: true, // 璇锋眰璺ㄥ煙鏃讹紝闇� 閰嶇疆姝ら」
         pathRewrite: { // 璺緞閲嶅啓,鏇挎崲target涓殑璇锋眰鍦板潃

--
Gitblit v1.9.3