From 95cafbee8f05dc6fbc6256c5cd84bcfe3621107f Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 07 十二月 2023 17:30:38 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/equipment/equipment/index.vue                    |   27 ++-
 src/views/plan/manufacturingorder/index.vue                |  187 +++++++++++++++++++-------
 src/views/equipment/metering/index.vue                     |   75 +++++++---
 src/views/plan/customerorder/sample-customerorder-form.vue |    2 
 src/views/quality/Packaging_ledger/index.vue               |   72 +++++----
 src/page/index/logo.vue                                    |    4 
 6 files changed, 248 insertions(+), 119 deletions(-)

diff --git a/src/page/index/logo.vue b/src/page/index/logo.vue
index c9c78f0..8e02347 100644
--- a/src/page/index/logo.vue
+++ b/src/page/index/logo.vue
@@ -120,7 +120,7 @@
   width: 220px;
   height: 64px;
   line-height: 64px;
-  background-color: #006eff;
+  background-color: #875a7b;
   font-size: 20px;
   overflow: hidden;
   box-sizing: border-box;
@@ -151,7 +151,7 @@
     width: 220px;
     height: 64px;
     line-height: 64px;
-    background-color: #006eff;
+    background-color: #875a7b;
     font-size: 20px;
     overflow: hidden;
     box-sizing: border-box;
diff --git a/src/views/equipment/equipment/index.vue b/src/views/equipment/equipment/index.vue
index c5911e0..f19e542 100644
--- a/src/views/equipment/equipment/index.vue
+++ b/src/views/equipment/equipment/index.vue
@@ -18,9 +18,11 @@
         ref="addOrUpdate"
         @refreshDataList="getData"
       ></table-form>
-      <el-dialog title="鏍囩鍒楄〃" :visible.sync="diaPrintTab" width="500px">
+    </basic-container>
+    <el-dialog title="鏍囩鍒楄〃" :visible.sync="diaPrintTab" width="500px" top="5vh">
+      <div style="width:100%;height:400px;overflow-y: auto;">
         <div class="dia_body" id="printRaw">
-          <el-card class="box-card" v-for="(tem, i) in multipleSelection" :key="i" style="margin-bottom: 30px; font-size: 16px !important;">
+          <el-card class="box-card" v-for="(tem, i) in multipleSelection" :key="i" style="margin-bottom: 10px; font-size: 16px !important;">
             <el-row>
               <el-col :span="8" :offset="1">搴忓彿锛�</el-col>
               <el-col :span="7" style="font-weight: bold;">{{ tem.id }}</el-col>
@@ -41,12 +43,12 @@
             </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>
-    </basic-container>
+      </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>
 
@@ -296,15 +298,17 @@
                   targetStyles:['*'],                 
                   style: `@page {
                     margin:0;
-                    size: 360px 175px;
+                    padding: 0;
+                    size: 360px 170px;
                   }
-                  hrml{
+                  html{
                     zoom:100%;
                   }
                   @media print{
                     width: 360px;
-                    height: 175px;
+                    height: 170px;
                     margin:0;
+                    padding: 0;
                   }`,
                   onPrintDialogClose: this.erexcel=false,
                   targetStyles: ["*"], // 浣跨敤dom鐨勬墍鏈夋牱寮忥紝寰堥噸瑕�
@@ -339,7 +343,6 @@
     },
     handleSelectionChange(val) {
       this.multipleSelection = val
-      console.log(this.multipleSelection);
     },
     // 鏂板 / 淇敼
     addOrUpdateHandle(row) {
diff --git a/src/views/equipment/metering/index.vue b/src/views/equipment/metering/index.vue
index ea43bd6..022b8cd 100644
--- a/src/views/equipment/metering/index.vue
+++ b/src/views/equipment/metering/index.vue
@@ -19,32 +19,34 @@
           @refreshDataList="getData"
         ></table-form>
       </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="(tem, i) in multipleSelection" :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.code }}</el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="10" :offset="3">璁惧鍚嶇О锛�</el-col>
-              <el-col :span="10" style="font-weight: bold;">{{ tem.name }}</el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="10" :offset="3">璁惧浜岀淮鐮侊細</el-col>
-              <el-col :span="10">
-                <vueQr :text="tem.code" :size="80" :margin="2"></vueQr>
-              </el-col>
-            </el-row>
-          </el-card>
+      <el-dialog title="鏍囩鍒楄〃" :visible.sync="diaPrintTab" width="500px" top="5vh">
+        <div style="width:100%;height:400px;overflow-y: auto;">
+          <div class="dia_body" id="printMetering">
+            <el-card class="box-card" v-for="(tem, i) in multipleSelection" :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;">{{ tem.code }}</el-col>
+              </el-row>
+              <el-row>
+                <el-col :span="10" :offset="3">璁惧鍚嶇О锛�</el-col>
+                <el-col :span="10" style="font-weight: bold;">{{ tem.name }}</el-col>
+              </el-row>
+              <el-row>
+                <el-col :span="10" :offset="3">璁惧浜岀淮鐮侊細</el-col>
+                <el-col :span="10">
+                  <vueQr :text="tem.code" :size="80" :margin="2"></vueQr>
+                </el-col>
+              </el-row>
+            </el-card>
+          </div>
         </div>
         <span slot="footer" class="dialog-footer">
           <el-button @click="diaPrintTab = false">鍙� 娑�</el-button>
-          <el-button type="primary" @click="diaPrintTab = false">鎵� 鍗�</el-button>
+          <el-button type="primary" @click="printFun">鎵� 鍗�</el-button>
         </span>
       </el-dialog>
     </div>
@@ -58,6 +60,7 @@
   import * as fecha from 'element-ui/lib/utils/date'
   import { remote } from '../../../api/admin/dict'
   import vueQr from 'vue-qr'
+  import PrintJS from 'print-js'
   export default {
     data() {
       return {
@@ -321,6 +324,32 @@
       })
     },
     methods: {
+      printFun() {
+          this.diaPrintTab = false;
+          PrintJS({
+              printable: 'printMetering',//椤甸潰
+              type: "html",//鏂囨。绫诲瀷
+                maxWidth:450,
+                targetStyles:['*'],                 
+                style: `@page {
+                  margin:0;
+                  padding: 0;
+                  size: 360px 170px;
+                }
+                html{
+                  zoom:100%;
+                }
+                @media print{
+                  width: 360px;
+                  height: 170px;
+                  margin:0;
+                  padding: 0;
+                }`,
+                onPrintDialogClose: this.erexcel=false,
+                targetStyles: ["*"], // 浣跨敤dom鐨勬墍鏈夋牱寮忥紝寰堥噸瑕�
+                font_size: '',
+          });
+      },
       pullEquipFun(){
         this.table.toolbar.find((e) => e.text === '鍚屾').loading = true
         pullEquip().then(res=>{
diff --git a/src/views/plan/customerorder/sample-customerorder-form.vue b/src/views/plan/customerorder/sample-customerorder-form.vue
index b1d326d..8a89e4c 100644
--- a/src/views/plan/customerorder/sample-customerorder-form.vue
+++ b/src/views/plan/customerorder/sample-customerorder-form.vue
@@ -68,7 +68,7 @@
         <el-row>
           <el-col :span="6">
             <el-form-item label="涓氬姟鍛�" prop="salesMan">
-              <el-select @change="selsctionSales" filterable v-model="salesSelectData" style="width:100%">
+              <el-select @change="selsctionSales" clearable filterable v-model="salesSelectData" style="width:100%">
                 <el-option v-for="(item,index) in staffOptions" :key="index" :value="item.staffNo+','+item.staffName" :label="item.staffName"/>
               </el-select>
             </el-form-item>
diff --git a/src/views/plan/manufacturingorder/index.vue b/src/views/plan/manufacturingorder/index.vue
index 09b4935..f1276ae 100644
--- a/src/views/plan/manufacturingorder/index.vue
+++ b/src/views/plan/manufacturingorder/index.vue
@@ -22,8 +22,9 @@
             </el-button>
             <el-dropdown-menu slot="dropdown">
               <el-dropdown-item
+                :key="index"
                 :command="item.command"
-                v-for="item in taskTypeArr"
+                v-for="(item,index) in taskTypeArr"
                 :disabled="canCreateTask"
                 >{{ item.label }}</el-dropdown-item
               >
@@ -40,8 +41,9 @@
             </el-button>
             <el-dropdown-menu slot="dropdown">
               <el-dropdown-item
+                :key="i"
                 :command="item.command"
-                v-for="item in stateTagArr"
+                v-for="(item,i) in stateTagArr"
                 :disabled="item.disabled"
                 >{{ item.label }}</el-dropdown-item
               >
@@ -197,9 +199,43 @@
       </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-dialog title="鏍囩鍒楄〃" :visible.sync="diaPrintTab" width="500px" top="5vh">
+      <div style="width:100%;height: 400px;overflow-y: auto;">
+        <div class="dia_body">
+          <el-checkbox 
+          style="margin: 10px 5px;"
+          :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-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>
+          </el-checkbox-group>
+        </div>
+      </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 class="el-dialog__body" style="width:448.8px;overflow-y: auto;position: absolute;top:9999px;padding: 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>
@@ -211,16 +247,12 @@
               <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)" :size="110" :margin="2"></vueQr>
                 </el-col>
               </el-row>
           </el-card>
+        </div>
       </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>
 
@@ -250,12 +282,15 @@
 import { getStore } from '@/util/store.js'
 import { getObj as getSysParam } from '@/api/admin/sys-public-param'
 import vueQr from 'vue-qr'
+import PrintJS from 'print-js'
 export default {
   data() {
     return {
-      checkList: [],
+      checkAll: false,
+      isIndeterminate: true,
+      checkDataList: [],
+      checkIndexList: [],
       qrData: [],
-      orderDatalist:[],
       diaPrintTab:false,
       showCustomerorder: false,
       paramObj: { customerList: null },
@@ -1051,7 +1086,97 @@
   mounted() {
     // this.initQueryParams()
   },
+  watch:{
+    diaPrintTab(newVal){
+      if(!newVal){
+        this.qrData = []
+        this.checkIndexList = []
+        this.checkDataList = []
+        this.isIndeterminate = true;
+      }
+    }
+  },
   methods: {
+    //鍏ㄩ��
+    handleCheckAllChange(val) {
+      if(val){
+        for(var i=0;i<this.qrData.length;i++){
+          this.checkIndexList.push(i)
+        }
+        this.checkDataList = this.qrData
+      }else{
+        this.checkIndexList = []
+        this.checkDataList = []
+      }
+      this.isIndeterminate = false;
+    },
+    //閫夋嫨瑕佹墦鍗扮殑浜岀淮鐮�
+    changePrintCode(){
+      let indexList = this.checkIndexList
+      let arr = []
+      indexList.forEach(i=>{
+        arr.push(this.qrData[i])
+      })
+      this.checkDataList = arr
+    },
+    //鎵撳嵃鏂规硶
+    printFun() {
+        if(this.checkDataList.length < 1){
+          this.$message.warning("璇烽�夋嫨瑕佹墦鍗扮殑浜岀淮鐮�")
+          return
+        }
+        this.diaPrintTab = false;
+        PrintJS({
+            printable: 'printMOrder',//椤甸潰
+            type: "html",//鏂囨。绫诲瀷
+              maxWidth:450,
+              targetStyles:['*'],                 
+              style: `@page {
+                margin:0;
+                size: 360px 175px;
+              }
+              html{
+                zoom:100%;
+              }
+              @media print{
+                width: 360px;
+                height: 175px;
+                margin:0;
+              }`,
+              onPrintDialogClose: this.erexcel=false,
+              targetStyles: ["*"], // 浣跨敤dom鐨勬墍鏈夋牱寮忥紝寰堥噸瑕�
+              font_size: '',
+        });
+    },
+    //鍒濆鍖栦簩缁寸爜鏍囩鏁版嵁
+    initQrData(data){
+      this.qrData = []
+      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)
+          }
+        }
+      }
+    },
+    //鏍囩鎵撳嵃鎸夐挳
+    labelPrint(){
+      if(this.multipleSelection.length==0){
+          this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�')
+          return
+      }
+      let selection = this.multipleSelection
+      let lastRow = selection[ selection.length - 1 ]
+      this.initQrData(lastRow)
+      this.diaPrintTab = true
+    },
     getManufactureAttr(row, column, cellValue) {
       this.manufactureAttrs.forEach((obj) => {
         if (obj.value === cellValue) {
@@ -1168,7 +1293,6 @@
                 getByMoIds([this.orderPlan.id]).then((repsonse) => {
                   const resData = repsonse.data.data
                   const resCode = repsonse.data.code
-                  console.log("resData-----",repsonse);
                   if (resCode === 0) {
                     const _that = this
                     for (const key in resData) {
@@ -1400,36 +1524,8 @@
         }
       }
     },
-    //鍒濆鍖栦簩缁寸爜鏍囩鏁版嵁
-    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) {
-      console.log(val,"涓�琛�");
-      let orderData = []
-      orderData =val.map( el =>{
-         return{
-            moNo:el.moNo,
-            qtyRequired: el.qtyRequired,
-            scrapQty: el.scrapQty
-         }
-      })
-     this.orderDatalist = orderData
-     this.initQrData(orderData[0])
       // 鏍规嵁鐘舵�侊紝绂佺敤琛ㄥご鎸夐挳
       // 绛涢�夊嚭閫変腑璁板綍鐨勭姸鎬�
       var stateArr = val.map(function(value, index) {
@@ -1722,13 +1818,6 @@
         this.$message.error('涓婁紶澶辫触')
       }
     },
-    labelPrint(){
-      if(this.multipleSelection.length==0){
-          this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�')
-          return
-        }
-      this.diaPrintTab = true
-    }
   }
 }
 </script>
diff --git a/src/views/quality/Packaging_ledger/index.vue b/src/views/quality/Packaging_ledger/index.vue
index b4837ac..542ea79 100644
--- a/src/views/quality/Packaging_ledger/index.vue
+++ b/src/views/quality/Packaging_ledger/index.vue
@@ -128,23 +128,25 @@
         </packfromadd>
       </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 style="width:100%;height: 400px;overflow-y: auto;">
+          <div id="qrCard" class="dia_body">
+            <el-card class="box-card" v-for="(item, i) in qrData" :key="i" style="margin-bottom: 10px;">
+              <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="110" :margin="1"></vueQr>
+                </el-col>
+              </el-row>
+            </el-card>
+          </div>
         </div>
         <span slot="footer" class="dialog-footer">
           <el-button @click="diaPrintTab = false">鍙� 娑�</el-button>
@@ -313,20 +315,27 @@
       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'
+              printable: 'qrCard',//椤甸潰
+              type: "html",//鏂囨。绫诲瀷
+                maxWidth:450,
+                targetStyles:['*'],                 
+                style: `@page {
+                  margin:0;
+                  padding: 0;
+                  size: 360px 170px;
+                }
+                html{
+                  zoom:100%;
+                }
+                @media print{
+                  width: 360px;
+                  height: 170px;
+                  margin:0;
+                  padding: 0;
+                }`,
+                onPrintDialogClose: this.erexcel=false,
+                targetStyles: ["*"], // 浣跨敤dom鐨勬墍鏈夋牱寮忥紝寰堥噸瑕�
+                font_size: '',
           });
       },
       handleSelectionChange(val){
@@ -340,7 +349,6 @@
           return
         }
         this.diaPrintTab = true
-        console.log(this.multipleSelection);
         this.multipleSelection.forEach(item=>{
           let obj = {
             packageNo: item.packageNo,

--
Gitblit v1.9.3