From c48169d93608ee7f9e7bc41f21d8d470bd5fb44d Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期三, 06 十二月 2023 18:04:50 +0800
Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before

---
 src/views/plan/manufacturingorder/index.vue              |   90 +++++++++--------
 src/views/product/workbench/batchproductout-form-new.vue |   31 +++--
 src/views/product/workbench/feed-pane.vue                |   16 +-
 src/views/product/workbench/workReportCard.vue           |   12 +-
 src/views/quality/Packaging_ledger/index.vue             |  117 ++++++++++++++++++++---
 src/views/product/workbench/productInDialog.vue          |    6 +
 6 files changed, 188 insertions(+), 84 deletions(-)

diff --git a/src/views/plan/manufacturingorder/index.vue b/src/views/plan/manufacturingorder/index.vue
index 9d42d58..b1bc910 100644
--- a/src/views/plan/manufacturingorder/index.vue
+++ b/src/views/plan/manufacturingorder/index.vue
@@ -109,7 +109,7 @@
             @click="labelPrint"
             type="primary"
             style="margin-left:10px;"
-            >鎵撳嵃鏍囩
+            >鏍囩鎵撳嵃
           </el-button>
           <!-- <el-button
             v-if="permissions.manufacturingorder_update_orderno"
@@ -195,36 +195,32 @@
           </div>
         </span>
       </el-dialog>
-      <!-- 鏍囩鎵撳嵃 -->
-      <el-dialog title="鏍囩鍒楄〃" :visible.sync="diaPrintTab" width="500px">
-        <div class="dia_body" style="height: 400px;overflow-y: auto;padding: 0 10px;">
-          <el-card class="box-card" v-for="(tem, i) in orderDatalist" :key="i" style="margin-bottom: 15px;">
-            <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;">{{ tem.customerOrderNo }}</el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="10" :offset="3">闆朵欢鍚嶇О锛�</el-col>
-              <el-col :span="10" style="font-weight: bold;">{{ tem.partName }}</el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="10" :offset="3">璁㈠崟浜岀淮鐮侊細</el-col>
-              <el-col :span="10">
-                <vueQr :text="JSON.stringify(tem)" :size="200" :margin="2"></vueQr>
-              </el-col>
-            </el-row>
-          </el-card>
-        </div>
-        <span slot="footer" class="dialog-footer">
-          <el-button @click="diaPrintTab = false">鍙� 娑�</el-button>
-          <el-button type="primary" @click="diaPrintTab = false">鎵� 鍗�</el-button>
-        </span>
-      </el-dialog>
     </basic-container>
+    <!-- 鏍囩鎵撳嵃 -->
+    <el-dialog title="鏍囩鍒楄〃" :visible.sync="diaPrintTab" width="500px">
+      <div class="dia_body" style="height: 400px;overflow-y: auto;padding: 0 10px;">
+        <el-card class="box-card" v-for="(item, i) in qrData" :key="i" style="margin-bottom: 15px;width:100%">
+              <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="80" :margin="2"></vueQr>
+                </el-col>
+              </el-row>
+          </el-card>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="diaPrintTab = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="diaPrintTab = false">鎵� 鍗�</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -257,6 +253,8 @@
 export default {
   data() {
     return {
+      checkList: [],
+      qrData: [],
       orderDatalist:[],
       diaPrintTab:false,
       showCustomerorder: false,
@@ -1044,7 +1042,6 @@
       }
     })
   },
-
   computed: {
     ...mapGetters(['permissions'])
   },
@@ -1403,26 +1400,35 @@
         }
       }
     },
+    //鍒濆鍖栦簩缁寸爜鏍囩鏁版嵁
+    initQrData(data){
+      if(data){
+        let index = Number(data.qtyRequired) + Number(data.scrapQty)
+        if(index>0){
+          for(var i=1;i<= index;i++){
+            let obj = {
+              moNo: data.moNo,
+              moNo2: null,
+            }
+            let no = (i+"").padStart(3,'0')
+            obj.moNo2 = data.moNo + no
+            this.qrData.push(obj)
+          }
+        }
+      }
+    },
     // table鑷甫浜嬩欢
     handleSelectionChange(val) {
       let orderData = []
       orderData =val.map( el =>{
          return{
             moNo:el.moNo,
-            workShop:el.workShop,
-            operationNames:el.operationNames,
-            customerOrderNo:el.customerOrderNo,
-            customerName:el.customerName,
-            mpsNo:el.mpsNo,
-            remark:el.remark,
-            partNo:el.partNo,
-            partName:el.partName,
-            unit:el.unit,
-            requiredDate:el.requiredDate,
+            qtyRequired: el.qtyRequired,
+            scrapQty: el.scrapQty
          }
       })
      this.orderDatalist = orderData
-      console.log(orderData,"澶氳閫変腑");
+     this.initQrData(orderData[0])
       // 鏍规嵁鐘舵�侊紝绂佺敤琛ㄥご鎸夐挳
       // 绛涢�夊嚭閫変腑璁板綍鐨勭姸鎬�
       var stateArr = val.map(function(value, index) {
diff --git a/src/views/product/workbench/batchproductout-form-new.vue b/src/views/product/workbench/batchproductout-form-new.vue
index d9868e6..11f7e1a 100644
--- a/src/views/product/workbench/batchproductout-form-new.vue
+++ b/src/views/product/workbench/batchproductout-form-new.vue
@@ -57,9 +57,9 @@
         ><el-col :span="2" class="batch-product-out-form-header-col"
           ><span>闆朵欢鍚嶇О</span></el-col
         >
-        <el-col :span="4" class="batch-product-out-form-header-col"
+        <!-- <el-col :span="4" class="batch-product-out-form-header-col"
           ><span>搴忓垪鍙�</span></el-col
-        >
+        > -->
         <!-- <el-col :span="2" class="batch-product-out-form-header-col"
           ><span>杞藉叿缂栧彿</span></el-col
         >
@@ -78,9 +78,9 @@
         <el-col :span="1" class="batch-product-out-form-header-col"
           ><span>鍗曚綅</span></el-col
         >
-        <el-col :span="2" class="batch-product-out-form-header-col"
+        <!-- <el-col :span="2" class="batch-product-out-form-header-col"
           ><span>WDR鍙�</span></el-col
-        >
+        > -->
         <!-- <el-col :span="1" class="batch-product-out-form-header-col"
           ><span>鍒嗘鎻忚堪</span></el-col
         > -->
@@ -133,11 +133,11 @@
               <span class="inline-el-hidden">{{ item.partName }}</span>
             </el-tooltip>
           </el-col>
-          <el-col :span="4" class="batch-product-out-form-body-col l-mes">
+          <!-- <el-col :span="4" class="batch-product-out-form-body-col l-mes"> -->
             <!-- <span>{{ item.outBatchNo }}</span> -->
-            <el-input v-model="item.outBatchNo">
+            <!-- <el-input v-model="item.outBatchNo">
             </el-input>
-          </el-col>
+          </el-col> -->
           <!-- <el-col :span="2" class="batch-product-out-form-body-col l-mes">
             <el-input v-model="item.reelNumber"></el-input>
           </el-col>
@@ -156,17 +156,22 @@
           <el-col :span="1" class="batch-product-out-form-body-col">
             <span>{{ item.unit }}</span>
           </el-col>
-          <el-col :span="2" class="batch-product-out-form-body-col l-mes">
+          <!-- <el-col :span="2" class="batch-product-out-form-body-col l-mes">
             <el-input v-model="item.wdr"></el-input>
-          </el-col>
+          </el-col> -->
           <!-- <el-col :span="1" class="batch-product-out-form-body-col l-mes">
             <el-input v-model="item.segmentDesc"></el-input>
           </el-col> -->
 					<el-col :span="2" class="batch-product-out-form-body-col l-mes">
-					  <el-input v-model="item.outNum"></el-input>
+					  <span v-text="item.outNum"></span>
 					</el-col>
           <el-col :span="2" class="batch-product-out-form-body-col l-mes">
-            <el-input v-model="item.scrapQty"></el-input>
+            <el-select v-model="item.scrapQty">
+              <el-option label="0" value="0">
+              </el-option>
+              <el-option label="1" value="1">
+              </el-option>
+            </el-select>
           </el-col>
           <!-- <el-col :span="1" class="batch-product-out-form-body-col l-mes">
             <el-input v-model="item.reelWeight"></el-input>
@@ -392,6 +397,7 @@
           this.products = this.productList
           this.products.forEach(item=>{
             item.staffName = staffName
+            item.outNum=1
           })
         }else{
           this.products = []
@@ -478,7 +484,8 @@
           newProduct.partNo = this.parentInfo.partNo
           newProduct.partName = this.parentInfo.partName
           newProduct.outBatchNo = oriOutBatchNo
-          newProduct.productQty = 0
+          newProduct.productQty = 1
+          newProduct.outNum = 1
           newProduct.unit = this.parentInfo.unit
           newProduct.productStaffs = productStaffs
           newProduct.productStaffIds = productStaffIds
diff --git a/src/views/product/workbench/feed-pane.vue b/src/views/product/workbench/feed-pane.vue
index 0b41376..78fb19e 100644
--- a/src/views/product/workbench/feed-pane.vue
+++ b/src/views/product/workbench/feed-pane.vue
@@ -250,9 +250,9 @@
               <span>{{ scope.row.partName }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="IFS鎵规鍙�" prop="ifsBatchNo" align="center">
+          <el-table-column label="鎵规鍙�" prop="ifsBatchNo" align="center">
             <template slot="header">
-              <div style="line-height: 14px;">IFS鎵规鍙�</div>
+              <div style="line-height: 14px;">鎵规鍙�</div>
               <div class="th" @click.stop>
                 <el-input
                   type="text"
@@ -268,7 +268,7 @@
               <span>{{ scope.row.ifsBatchNo }}</span>
             </template>
           </el-table-column>
-					<el-table-column label="WDR鍙�" prop="ifsWdr" align="center">
+					<!-- <el-table-column label="WDR鍙�" prop="ifsWdr" align="center">
 					  <template slot="header">
 					    <div style="line-height: 14px;">WDR鍙�</div>
 					    <div class="th" @click.stop>
@@ -285,7 +285,7 @@
 					  <template slot-scope="scope">
 					    <span>{{ scope.row.ifsWdr }}</span>
 					  </template>
-					</el-table-column>
+					</el-table-column> -->
           <!-- <el-table-column label="SN鍙�" prop="partBatchNo" align="center">
             <template slot="header">
               <div style="line-height: 14px;">SN鍙�</div>
@@ -1242,9 +1242,9 @@
           <span>{{ scope.row.partName }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="IFS鎵规鍙�" prop="ifsBatchNo" align="center">
+      <el-table-column label="鎵规鍙�" prop="ifsBatchNo" align="center">
         <template slot="header" slot-scope="scope">
-          <div style="line-height: 14px;">IFS鎵规鍙�</div>
+          <div style="line-height: 14px;">鎵规鍙�</div>
           <div class="th" @click.stop>
             <el-input
               type="text"
@@ -1260,7 +1260,7 @@
           <span>{{ scope.row.ifsBatchNo }}</span>
         </template>
       </el-table-column>
-			<el-table-column label="WDR鍙�" prop="ifsWdr" align="center">
+			<!-- <el-table-column label="WDR鍙�" prop="ifsWdr" align="center">
 			  <template slot="header" slot-scope="scope">
 			    <div style="line-height: 14px;">WDR鍙�</div>
 			    <div class="th" @click.stop>
@@ -1277,7 +1277,7 @@
 			  <template slot-scope="scope">
 			    <span>{{ scope.row.ifsWdr }}</span>
 			  </template>
-			</el-table-column>
+			</el-table-column> -->
       <!-- <el-table-column label="SN鍙�" prop="partBatchNo" align="center">
         <template slot="header" slot-scope="scope">
           <div style="line-height: 14px;">SN鍙�</div>
diff --git a/src/views/product/workbench/productInDialog.vue b/src/views/product/workbench/productInDialog.vue
index ab22650..15c4b15 100644
--- a/src/views/product/workbench/productInDialog.vue
+++ b/src/views/product/workbench/productInDialog.vue
@@ -25,7 +25,7 @@
       >
       </el-table-column>
       <el-table-column
-        label="IFS鎵规鍙�"
+        label="鎵规鍙�"
         prop="ifsBatchNo"
         align="center"
         :show-overflow-tooltip="true"
@@ -46,6 +46,10 @@
       <el-table-column label="鍗曚綅" prop="unit" align="center">
       </el-table-column>
       <el-table-column label="鏄惁宸ュ簭搴撳瓨" prop="operationStockStatus" align="center">
+        <template slot-scope="scope">
+              <span v-if="scope.row.operationStockStatus">鏄�</span>
+              <span v-else>鍚�</span>
+            </template>
       </el-table-column>
       <el-table-column label="鎵�灞炲伐搴�" prop="name" align="center">
       </el-table-column>
diff --git a/src/views/product/workbench/workReportCard.vue b/src/views/product/workbench/workReportCard.vue
index 25a2921..d6c3704 100644
--- a/src/views/product/workbench/workReportCard.vue
+++ b/src/views/product/workbench/workReportCard.vue
@@ -256,7 +256,7 @@
             }}</template>
           </template>
         </el-table-column>
-        <el-table-column label="WDR鍙�" prop="wdr" align="center" width="100">
+        <!-- <el-table-column label="WDR鍙�" prop="wdr" align="center" width="100">
           <template slot-scope="scope">
             <el-input :id="'idReport_' + +scope.$index" :ref="'reference_' + scope.$index" v-if="scope.row.isEdit"
               v-model="scope.row.wdr" placeholder="WDR鍙�"></el-input>
@@ -264,7 +264,7 @@
               scope.row.wdr
             }}</template>
           </template>
-        </el-table-column>
+        </el-table-column> -->
         <!-- <el-table-column label="鍒嗘鎻忚堪" prop="segmentDesc" align="center">
           <template slot-scope="scope">
             <el-input
@@ -288,8 +288,8 @@
             }}</template>
           </template>
         </el-table-column>
-        <el-table-column label="IFS鎵规鍙�" prop="ifsBatchNo" align="center" width="120">
-          <!-- <template slot="header" slot-scope="scope">
+        <!-- <el-table-column label="IFS鎵规鍙�" prop="ifsBatchNo" align="center" width="120">
+          <template slot="header" slot-scope="scope">
             <div style="line-height: 14px;">IFS鎵规鍙�</div>
             <div class="th" @click.stop>
               <template>
@@ -305,8 +305,8 @@
             <template v-if="!scope.row.isIfsBatchNoEdit">{{
               scope.row.ifsBatchNo
             }}</template>
-          </template> -->
-        </el-table-column>
+          </template>
+        </el-table-column> -->
         <el-table-column label="澶囨敞" prop="remark" align="center">
           <template slot-scope="scope">
             <el-input :id="'idReport_' + +scope.$index" :ref="'reference_' + scope.$index" v-if="scope.row.isEdit"
diff --git a/src/views/quality/Packaging_ledger/index.vue b/src/views/quality/Packaging_ledger/index.vue
index 45b5115..b4837ac 100644
--- a/src/views/quality/Packaging_ledger/index.vue
+++ b/src/views/quality/Packaging_ledger/index.vue
@@ -9,10 +9,10 @@
             :prelang="prelang"
             :ajaxFun="ajaxFun"
             :options="options" 
-            @currentChange="handleCurrentChange"
+            @handleSelectionChange="handleSelectionChange"
             ref="processconfiguration"
             >
-        <template #toolbar></template>
+              <template #toolbar></template>
             </ttable>
             </el-col>
             <el-col :span="13" style="padding-left: 10px">
@@ -101,7 +101,6 @@
                   <el-input v-model="scope.row.number"></el-input>
                 </template>
               </el-table-column>
-              <el-table-column label="鍗曚綅" prop="unit" align="center" />
               <el-table-column
                 fixed="right"
                 label="鎿嶄綔"
@@ -127,7 +126,31 @@
         @handleSelectionChange = "preserve"
         >
         </packfromadd>
-        </basic-container>
+      </basic-container>
+      <el-dialog title="鏍囩鍒楄〃" top="5vh" :visible.sync="diaPrintTab" width="500px">
+        <div id="qrCard" class="dia_body" style="height: 400px;overflow-y: auto;padding: 0 10px;">
+          <el-card class="box-card" v-for="(item, i) in qrData" :key="i" style="margin-bottom: 15px;">
+            <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.packageNo }}</el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="10" :offset="3">浜岀淮鐮侊細</el-col>
+              <el-col :span="10">
+                <vueQr :text="JSON.stringify(item)" :size="120" :margin="1"></vueQr>
+              </el-col>
+            </el-row>
+          </el-card>
+        </div>
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="diaPrintTab = false">鍙� 娑�</el-button>
+          <el-button type="primary" @click="printFun">鎵� 鍗�</el-button>
+        </span>
+      </el-dialog>
     </div>
 </template>
 
@@ -136,9 +159,14 @@
 import ttable from '@/views/common/ztt-table.vue'
 import packfrom from './pack-from.vue'
 import packfromadd from './pack-fromadd.vue'
+import vueQr from 'vue-qr'
+import PrintJS from 'print-js'
 export default {
     data(){
         return {
+          qrData:[],
+          diaPrintTab: false,
+          multipleSelection: [],
           isCheck: false,
           dataway:{},
           goid:'',
@@ -156,7 +184,7 @@
                 border: true, // 鏄惁鏈夌旱鍚戣竟妗�
                 lazy: false, // 鏄惁闇�瑕佹噿鍔犺浇
                 fit: true, // 鍒楃殑瀹藉害鏄惁鑷拺寮�
-                multiSelect: false, //
+                multiSelect: true, //
                 isEdit:false,
                 seqNo: true,
                 isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳
@@ -237,6 +265,11 @@
                       type: 'primary',
                       fun: this.addOrUpdateHandle
                     },
+                    {
+                      text: '鏍囩鎵撳嵃',
+                      type: 'primary',
+                      fun: this.printLabel
+                    },
                 ],
                 operator: [
                     {
@@ -263,14 +296,71 @@
        }
     },
     components: {
-        ttable,
-        packfrom,
-        packfromadd
-        },
-        watch: {
-
-      },
+      ttable,
+      packfrom,
+      packfromadd,
+      vueQr
+    },
+    watch: {
+      diaPrintTab(newVal){
+        if(!newVal){
+          this.qrData = []
+        }
+      }
+    },
     methods: {
+      //鎵撳嵃鎸夐挳
+      printFun() {
+          this.diaPrintTab = false;
+          PrintJS({
+              printable: "qrCard",
+              type: "html",
+              // header: "鍘熸潗鏂欐娴嬫姤鍛�",
+              targetStyles: ["*"],
+              style: `@page {margin: 0mm 5mm;}
+                      html {zoom:100%;}
+                      @media print {
+                        html,body{
+                          width:60mm;
+                          height:40mm;
+                        }
+                      }`,
+              ignoreElements: ["no-ignore"],
+              orientation: 'portrait'
+          });
+      },
+      handleSelectionChange(val){
+        this.multipleSelection = val
+        let lastRow = val[val.length - 1]
+        this.handleCurrentChange(lastRow)
+      },
+      printLabel(){
+        if(this.multipleSelection.length==0){
+          this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�')
+          return
+        }
+        this.diaPrintTab = true
+        console.log(this.multipleSelection);
+        this.multipleSelection.forEach(item=>{
+          let obj = {
+            packageNo: item.packageNo,
+            contractNo: item.contractNo,
+            boxInfo: []
+          }
+          list({packageBoxId:item.id}).then((res) =>{
+            res.data.data.forEach(ele=>{
+              obj.boxInfo.push({
+                product: ele.product,
+                productNo: ele.productNo,
+                specs: ele.specs,
+                unit: ele.unit,
+                number: ele.number
+              })
+            })
+          })
+          this.qrData.push(obj)
+        })
+      },
        // 鑾峰彇鏁版嵁鍒楄〃
       getData() {
         this.$refs.processconfiguration.refreshData()
@@ -315,7 +405,6 @@
       },
       preserve(datalist){
         this.testStandardParams = datalist
-
       },
       //鍙宠竟淇濆瓨
       addpreserve(){
@@ -348,7 +437,5 @@
         })
       },
     },
-    computed: {
-  },
 }
 </script>
\ No newline at end of file

--
Gitblit v1.9.3