From 901d81f1c56281bab87044d2ff562d8ed8601efa Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期一, 11 三月 2024 09:25:17 +0800
Subject: [PATCH] 完成包装核对功能

---
 src/views/plan/manufacturingorder/index.vue |  236 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 129 insertions(+), 107 deletions(-)

diff --git a/src/views/plan/manufacturingorder/index.vue b/src/views/plan/manufacturingorder/index.vue
index f1276ae..71a087f 100644
--- a/src/views/plan/manufacturingorder/index.vue
+++ b/src/views/plan/manufacturingorder/index.vue
@@ -101,6 +101,7 @@
           </el-button> -->
 
           <el-button
+          v-if="permissions.manufacturingorder_export"
             @click="exportExcel"
             type="primary"
             style="margin-left:10px;"
@@ -108,6 +109,7 @@
             >瀵煎嚭
           </el-button>
           <el-button
+          v-if="permissions.manufacturingorder_label_print"
             @click="labelPrint"
             type="primary"
             style="margin-left:10px;"
@@ -199,31 +201,62 @@
       </el-dialog>
     </basic-container>
     <!-- 鏍囩鎵撳嵃 -->
-    <el-dialog title="鏍囩鍒楄〃" :visible.sync="diaPrintTab" width="500px" top="5vh">
+    <el-dialog title="鏍囩鍒楄〃" :visible.sync="diaPrintTab" width="28%" top="5vh">
       <div style="width:100%;height: 400px;overflow-y: auto;">
         <div class="dia_body">
-          <el-checkbox 
+          <el-checkbox
           style="margin: 10px 5px;"
-          :indeterminate="isIndeterminate" 
-          v-model="checkAll" 
+          :indeterminate="isIndeterminate"
+          v-model="checkAll"
           @change="handleCheckAllChange">鍏ㄩ��</el-checkbox>
           <el-checkbox-group @change="changePrintCode()" v-model="checkIndexList">
             <el-card class="box-card" v-for="(item, i) in qrData" :key="i" style="margin-bottom: 15px; font-size: 16px !important;">
                   <el-checkbox :label="i" :key="i" style="position: relative;top:-20px;left:5px"><br></el-checkbox>
-                  <el-row>
-                    <el-col :span="10" :offset="3">搴忓彿锛�</el-col>
-                    <el-col :span="10" style="font-weight: bold;">{{ i + 1 }}</el-col>
+                  <!-- <el-row>
+                    <el-col :span="10" :offset="3">鎵规鍙�</el-col>
+                    <el-col :span="10" style="font-weight: bold;">{{ item.code.moNo2 }}</el-col>
                   </el-row>
                   <el-row>
-                    <el-col :span="10" :offset="3">杞﹂棿璁㈠崟鍙凤細</el-col>
-                    <el-col :span="10" style="font-weight: bold;">{{ item.moNo2 }}</el-col>
+                    <el-col :span="10" :offset="3">璁㈠崟鍙凤細</el-col>
+                    <el-col :span="10" style="font-weight: bold;">{{ item.orderNo }}</el-col>
                   </el-row>
                   <el-row>
-                    <el-col :span="10" :offset="3">璁㈠崟浜岀淮鐮侊細</el-col>
+                    <el-col :span="10" :offset="3">瀹㈡埛鍚嶇О锛�</el-col>
+                    <el-col :span="10" style="font-weight: bold;">{{ item.cName }}</el-col>
+                  </el-row>
+                  <el-row>
+                    <el-col :span="10" :offset="3">闆朵欢鍚嶇О锛�</el-col>
+                    <el-col :span="10" style="font-weight: bold;">{{ item.pName }}</el-col>
+                  </el-row>
+                  <el-row>
+                    <el-col :span="10" :offset="3">杞﹂棿璁㈠崟浜岀淮鐮侊細</el-col>
                     <el-col :span="10">
-                      <vueQr :text="JSON.stringify(item)" :size="80" :margin="2"></vueQr>
+                      <vueQr :text="JSON.stringify(item.code)" :size="80" :margin="2"></vueQr>
                     </el-col>
-                  </el-row>
+                  </el-row> -->
+                   <div>
+                    <el-row style="font-size: 14px;padding-left: 20px;">
+                          <el-col  style="font-weight: bold;">{{ item.pName }}</el-col>
+                    </el-row>
+                    <div style="display: flex;">
+                      <div>
+                        <el-col :span="8" :offset="4">
+                          <vueQr :text="JSON.stringify(item.code)" :size="120" :margin="2"></vueQr>
+                        </el-col>
+                      </div>
+                      <div style="margin-left: 50px;width: 100%;">
+                        <el-row style="margin-top: 10px;">
+                          <el-col  style="font-weight: bold;font-size: 14px;"><span>鎵�&nbsp; 娆�&nbsp;鍙�:&nbsp; </span>{{ item.code.moNo2 }}</el-col>
+                        </el-row>
+                        <el-row style="margin-top: 9px;font-size: 14px;">
+                          <el-col  style="font-weight: bold;"><span>璁�&nbsp; 鍗�&nbsp;鍙�:&nbsp; </span>{{ item.orderNo }}</el-col>
+                        </el-row>
+                        <el-row style="margin-top: 9px;font-size: 14px;">
+                          <el-col  style="font-weight: bold;"><span>瀹㈡埛鍚嶇О:&nbsp; </span>{{ item.cName }}</el-col>
+                        </el-row>
+                      </div>
+                  </div>
+                  </div>
             </el-card>
           </el-checkbox-group>
         </div>
@@ -233,23 +266,52 @@
         <el-button type="primary" @click="printFun">鎵� 鍗�</el-button>
       </span>
     </el-dialog>
-    <div class="el-dialog__body" style="width:448.8px;overflow-y: auto;position: absolute;top:9999px;padding: 0;">
+    <div class="el-dialog__body" style="width:448.8px;overflow-y: auto;position: absolute;top:9999px;margin-top: 0;">
         <div id="printMOrder">
-          <el-card class="box-card" v-for="(item, i) in checkDataList" :key="i" style="margin-bottom:10px;font-size: 16px !important;">
-              <el-row>
-                <el-col :span="10" :offset="3">搴忓彿锛�</el-col>
-                <el-col :span="10" style="font-weight: bold;">{{ i + 1 }}</el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="10" :offset="3">杞﹂棿璁㈠崟鍙凤細</el-col>
-                <el-col :span="10" style="font-weight: bold;">{{ item.moNo2 }}</el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="10" :offset="3">璁㈠崟浜岀淮鐮侊細</el-col>
-                <el-col :span="10">
-                  <vueQr :text="JSON.stringify(item)" :size="110" :margin="2"></vueQr>
-                </el-col>
-              </el-row>
+          <el-card class="box-card" v-for="(item, i) in checkDataList" :key="i" style="margin-top-top:0px;margin-bottom:10px;font-size: 16px !important;">
+            <!-- <el-row style="font-size:12px;">
+              <el-col :span="10" :offset="3">鎵规鍙�</el-col>
+              <el-col :span="10" style="font-weight: bold;">{{ item.code.moNo2 }}</el-col>
+            </el-row>
+            <el-row style="font-size:12px;">
+              <el-col :span="10" :offset="3">璁㈠崟鍙凤細</el-col>
+              <el-col :span="10" style="font-weight: bold;">{{ item.orderNo }}</el-col>
+            </el-row>
+            <el-row style="font-size:12px;">
+              <el-col :span="10" :offset="3">瀹㈡埛鍚嶇О锛�</el-col>
+              <el-col :span="10" style="font-weight: bold;">{{ item.cName }}</el-col>
+            </el-row>
+            <el-row style="font-size:12px;">
+              <el-col :span="10" :offset="3">闆朵欢鍚嶇О锛�</el-col>
+              <el-col :span="10" style="font-weight: bold;">{{ item.pName }}</el-col>
+            </el-row>
+            <el-row style="font-size:12px;">
+              <el-col :span="10" :offset="3">璁㈠崟浜岀淮鐮侊細</el-col>
+              <el-col :span="10">
+                <vueQr :text="JSON.stringify(item.code)" :size="80" :margin="2"></vueQr>
+              </el-col>
+            </el-row> -->
+            <el-row style="font-size: 14px;padding-left: 20px;">
+                          <el-col  style="font-weight: bold;">{{ item.pName }}</el-col>
+                    </el-row>
+                    <div style="display: flex;">
+                      <div>
+                        <el-col :span="8" :offset="4">
+                          <vueQr :text="JSON.stringify(item.code)" :size="120" :margin="2"></vueQr>
+                        </el-col>
+                      </div>
+                      <div style="margin-left: 50px;width: 100%;">
+                        <el-row style="margin-top: 10px;">
+                          <el-col  style="font-weight: bold;font-size: 14px;"><span>鎵�&nbsp; 娆�&nbsp;鍙�:&nbsp; </span>{{ item.code.moNo2 }}</el-col>
+                        </el-row>
+                        <el-row style="margin-top: 9px;font-size: 14px;">
+                          <el-col  style="font-weight: bold;"><span>璁�&nbsp; 鍗�&nbsp;鍙�:&nbsp; </span>{{ item.orderNo }}</el-col>
+                        </el-row>
+                        <el-row style="margin-top: 9px;font-size: 14px;">
+                          <el-col  style="font-weight: bold;"><span>瀹㈡埛鍚嶇О:&nbsp; </span>{{ item.cName }}</el-col>
+                        </el-row>
+                      </div>
+                    </div>
           </el-card>
         </div>
       </div>
@@ -389,6 +451,16 @@
         // 鏍囬
         column: [
           {
+            minWidth: '120',
+            prop: 'moNo',
+            label: '杞﹂棿璁㈠崟鍙�',
+            sort: true,
+            isTrue: true,
+            isSearch: true,
+            searchInfoType: 'text',
+            render: { fun: this.addOrUpdateHandle }
+          },
+          {
             minWidth: '140',
             prop: 'state',
             label: '鐘舵��',
@@ -479,7 +551,7 @@
             isSearch: true,
             searchInfoType: 'text'
           },
-          {
+          /* {
             minWidth: '120',
             prop: 'printRequirement',
             label: '鍗板瓧瑕佹眰',
@@ -496,7 +568,7 @@
             isTrue: true,
             isSearch: true,
             searchInfoType: 'text'
-          },
+          }, */
            {
             minWidth: '120',
             prop: 'scrapQty',
@@ -529,16 +601,7 @@
               return this.bomTypeDbOptions
             }
           },
-          {
-            minWidth: '120',
-            prop: 'moNo',
-            label: '杞﹂棿璁㈠崟鍙�',
-            sort: true,
-            isTrue: true,
-            isSearch: true,
-            searchInfoType: 'text',
-            render: { fun: this.addOrUpdateHandle }
-          },
+
           {
             minWidth: '120',
             prop: 'manufactureAttr',
@@ -571,7 +634,7 @@
             searchInfoType: 'text'
           },
 
-          {
+          /* {
             minWidth: '120',
             prop: 'outerColor',
             label: '澶栨姢棰滆壊',
@@ -589,7 +652,7 @@
             isTrue: true,
             isSearch: true,
             searchInfoType: 'text'
-          },
+          }, */
 
           {
             minWidth: '120',
@@ -638,7 +701,7 @@
             searchInfoType: 'datetimerange',
             formatter: this.formatDutyDate
           },
-          {
+          /* {
             minWidth: '120',
             prop: 'bomConfirmStatus',
             label: 'BOM鐘舵��',
@@ -700,7 +763,7 @@
               }
               return formatVal
             }
-          },
+          }, */
           {
             minWidth: '200',
             prop: 'remark',
@@ -710,7 +773,7 @@
             isSearch: true,
             searchInfoType: 'text'
           },
-          {
+          /* {
             minWidth: '100',
             prop: 'oriIfsOrderNo',
             label: '鍘烮FS璁㈠崟鍙�',
@@ -745,8 +808,8 @@
             isTrue: true,
             isSearch: true,
             searchInfoType: 'text'
-          },
-          {
+          }, */
+         /*  {
             minWidth: '100',
             prop: 'qtyApply',
             label: '鐢宠鏁伴噺',
@@ -754,7 +817,7 @@
             isTrue: true,
             isSearch: true,
             searchInfoType: 'text'
-          },
+          }, */
           {
             minWidth: '140',
             width: '120',
@@ -777,7 +840,7 @@
             searchInfoType: 'datetimerange',
             formatter: this.formatDutyDate
           },
-          {
+          /* {
             minWidth: '120',
             prop: 'ifsSync',
             label: '璁㈠崟鍚屾ERP',
@@ -851,7 +914,7 @@
               }
               return formatVal
             }
-          },
+          }, */
           {
             minWidth: '100',
             prop: 'factoryName',
@@ -980,21 +1043,6 @@
   },
   created() {
     this.getManufactureAttrs()
-    /**
- * {
-            text: '鏂板',
-            type: 'primary',
-            fun: this.addOrUpdateHandle
-          },
-          {
-            text: '鎸夊鎴疯鍗曟煡璇�',
-            fun: this.getOperationTaskByCustomer
-          },
-          {
-            text: '璁㈠崟鍚堝苟',
-            fun: this.openOrderMerge
-          }
- */
     if (this.permissions.plan_manufacturingorder_add) {
       this.table.toolbar.push({
         text: '鏂板',
@@ -1008,28 +1056,6 @@
         fun: this.getOperationTaskByCustomer
       })
     }
-    // if (this.permissions.manufacturingorder_order_merge) {
-    //   this.table.toolbar.push({
-    //     text: '璁㈠崟鍚堝苟',
-    //     fun: this.openOrderMerge
-    //   })
-    // }
-
-    /**
-     * {
-          label: '鎵嬪姩鏂板',
-          command: 'MANUAL',
-          disabled: false,
-          permitArr: ['01planned', '02issued']
-        },
-        {
-          label: '鑷姩鏂板',
-          command: 'AUTO',
-          disabled: false,
-          permitArr: ['01planned', '02issued']
-        }
-     */
-
     if (this.permissions.manufacturingorder_create_task_manual) {
       this.taskTypeArr.push({
         label: '鎵嬪姩鏂板',
@@ -1046,21 +1072,7 @@
         permitArr: ['01planned', '02issued']
       })
     }
-    // 鍒濆鍖杚ueryParam
-    // this.initSearchCondition()
-    // if (!this.options.cancelRunCreated) {
-    //   this.getDataList()
-    // }
-    // const queryParam = []
-    //       queryParam.push(
-    //         Object.assign({
-    //           prop: 'state',
-    //           searchInfoType: 'select',
-    //           propVal: '01planned'
-    //         })
-    //       )
-    //   this.$refs.manufacturingOrderTable.setQueryParam(queryParam)
-    //   this.getData()
+
     this.getBomTypeDbOptions()
 
     // 杞﹂棿璁㈠崟鏄惁鍚屾IFS
@@ -1130,7 +1142,7 @@
             printable: 'printMOrder',//椤甸潰
             type: "html",//鏂囨。绫诲瀷
               maxWidth:450,
-              targetStyles:['*'],                 
+              targetStyles:['*'],
               style: `@page {
                 margin:0;
                 size: 360px 175px;
@@ -1152,15 +1164,21 @@
     initQrData(data){
       this.qrData = []
       if(data){
+        console.log(data);
         let index = Number(data.qtyRequired) + Number(data.scrapQty)
         if(index>0){
-          for(var i=1;i<= index;i++){
+          for(var i=index;i>= 1;i--){
             let obj = {
-              moNo: data.moNo,
-              moNo2: null,
+              orderNo: data.customerOrderNo,
+              cName: data.customerName,
+              pName: data.partName,
+              code: {
+                moNo: data.moNo,
+                moNo2: null,
+              }
             }
             let no = (i+"").padStart(3,'0')
-            obj.moNo2 = data.moNo + no
+            obj.code.moNo2 = data.moNo + no
             this.qrData.push(obj)
           }
         }
@@ -1258,6 +1276,10 @@
     },
     // 鏂板 / 淇敼
     addOrUpdateHandle(row) {
+      if(!this.permissions.plan_manufacturingorder_edit && row.id!=null){
+        this.$message.error("璇ヨ鑹叉病鏈夋搷浣滄潈闄�")
+        return
+      }
       this.$router.push({
         name: 'productorderForm',
         query: { id: row == null ? null : row.id }

--
Gitblit v1.9.3