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/quality/Packaging_ledger/index.vue |  195 ++++++++++++++++++++++++++++++++++++------------
 1 files changed, 146 insertions(+), 49 deletions(-)

diff --git a/src/views/quality/Packaging_ledger/index.vue b/src/views/quality/Packaging_ledger/index.vue
index 9a665e4..542ea79 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" 
-            @handleSelectionChange="handleCurrentChange"
+            @handleSelectionChange="handleSelectionChange"
             ref="processconfiguration"
             >
-        <template #toolbar></template>
+              <template #toolbar></template>
             </ttable>
             </el-col>
             <el-col :span="13" style="padding-left: 10px">
@@ -41,6 +41,7 @@
                     </el-col>
                     <el-col :span="2">
                     <el-button
+                        v-if="!isCheck"
                         style="float: right; padding: 3px 0"
                         type="text"
                         @click="relateOperationParam()"
@@ -53,7 +54,7 @@
               :data="testStandardParams"
               id="testStandardParamTable"
               ref="testStandardParam"
-              :default-sort="{ prop: 'index' }"
+            
               highlight-current-row
               height="700"
               style="width: 100%"
@@ -62,7 +63,7 @@
               stripe
             >
               <el-table-column
-                prop="index"
+                type ="index"
                 label="搴忓彿"
                 align="center"
                 width="50"
@@ -92,15 +93,14 @@
               </el-table-column>
               <el-table-column
                 label="鏁伴噺"
-                prop="parameterFormat"
+                prop="number"
                 align="center"
                 width="80"
               >
                 <template slot-scope="scope">
-                  <el-input v-model="scope.row.parameterFormat"></el-input>
+                  <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="鎿嶄綔"
@@ -118,7 +118,7 @@
         <!-- 鏂板 -->
         <packfrom
         :currshowlist.sync="addOrUpdateVisible"
-        >
+        @refreshDataList="getData">
         </packfrom>
         <packfromadd
         :currshowlist.sync="increase"
@@ -126,7 +126,33 @@
         @handleSelectionChange = "preserve"
         >
         </packfromadd>
-        </basic-container>
+      </basic-container>
+      <el-dialog title="鏍囩鍒楄〃" top="5vh" :visible.sync="diaPrintTab" width="500px">
+        <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>
+          <el-button type="primary" @click="printFun">鎵� 鍗�</el-button>
+        </span>
+      </el-dialog>
     </div>
 </template>
 
@@ -135,9 +161,16 @@
 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:'',
           testStandardParams: [],
           packageBoxId:{},
@@ -153,7 +186,7 @@
                 border: true, // 鏄惁鏈夌旱鍚戣竟妗�
                 lazy: false, // 鏄惁闇�瑕佹噿鍔犺浇
                 fit: true, // 鍒楃殑瀹藉害鏄惁鑷拺寮�
-                multiSelect: false, //
+                multiSelect: true, //
                 isEdit:false,
                 seqNo: true,
                 isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳
@@ -234,20 +267,25 @@
                       type: 'primary',
                       fun: this.addOrUpdateHandle
                     },
+                    {
+                      text: '鏍囩鎵撳嵃',
+                      type: 'primary',
+                      fun: this.printLabel
+                    },
                 ],
                 operator: [
                     {
+                      text: '妫�楠�',
+                      icon: 'el-icon-position',
+                      type: 'text',
+                      size: 'small',
+                      fun: this.check
+                    },{
                       text: '鍒犻櫎',
                       icon: 'el-icon-delete',
                       type: 'text',
                       size: 'small',
                       fun: this.deleteHandle
-                    },{
-                      text: '妫�楠�',
-                      icon: 'el-icon-delete',
-                      type: 'text',
-                      size: 'small',
-                      fun: this.check
                     }
                   ],
                   operatorConfig: {
@@ -260,23 +298,83 @@
        }
     },
     components: {
-        ttable,
-        packfrom,
-        packfromadd
-        },
-        watch: {
-          // renovate() {
-          //   if (this.innerVisible = false) {
-          //     this.$nextTick(() => {
-          //       this.getData()
-          //     })
-          //   }
-          // }
-      },
+      ttable,
+      packfrom,
+      packfromadd,
+      vueQr
+    },
+    watch: {
+      diaPrintTab(newVal){
+        if(!newVal){
+          this.qrData = []
+        }
+      }
+    },
     methods: {
+      //鎵撳嵃鎸夐挳
+      printFun() {
+          this.diaPrintTab = false;
+          PrintJS({
+              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){
+        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
+        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()
+      },
+      wayRenovate(){
+        this.getData()
       },
       //add
       addOrUpdateHandle(){
@@ -286,54 +384,55 @@
       deleteHandle(row){
         dropById({id:row.id}).then((res) =>{
           this.getData()
-          this.$message.error('鍒犻櫎鎴愬姛')
+          this.$message.success('鍒犻櫎鎴愬姛')
         })
       },
       handleCurrentChange(row){
-        console.log(row,"id");
-        this.packageBoxId = {
-          packageBoxId:row[0].id
+        if(row.state=='宸叉姤妫�'){
+          this.isCheck = true
         }
-        this.goid = row[0].id
-        list({packageBoxId:row[0].id}).then((res) =>{
-          console.log(res,"nihaoa");
+        this.dataway = row
+        this.packageBoxId = {
+          packageBoxId:row.id
+        }
+        this.goid = row.id
+        this.rightquery()
+      },
+      rightquery(){
+        list({packageBoxId:this.goid}).then((res) =>{
           this.testStandardParams = res.data.data
         })
       },
       //璇︽儏娣诲姞
       relateOperationParam(){
-
-        this.increase = true
-        
+        if (this.dataway.state == "鏈姤妫�") {
+            this.increase = true
+        }else{
+          this.$message.error('璇峰厛閫夋嫨鍖呰椤圭洰')
+        }
       },
       preserve(datalist){
-        console.log(datalist);
         this.testStandardParams = datalist
-
       },
       //鍙宠竟淇濆瓨
       addpreserve(){
-        console.log(this.testStandardParams,"淇濆瓨鏁版嵁");
          this.testStandardParams.forEach(el => {
               el.packageBoxId =this.goid
          });
-        console.log(this.testStandardParams,"niaho");
         saveList(this.testStandardParams).then((res) =>{
           this.$message.success('淇濆瓨鎴愬姛')
-          this.testStandardParams
+          this.rightquery()
         })
       },
       //鍒犻櫎
       deleteadd(row){
-          console.log(row,"");
           deledata({id:row.id}).then((res)=>{
           this.$message.success('鍒犻櫎鎴愬姛')
-          this.testStandardParams
+          this.rightquery()
           })
       },
       //瀹℃牳
       check(row){
-        console.log(row,"瀹℃牳");
         let packageBox = {
                 id:row.id,
                 packageNo:row.packageNo,
@@ -346,7 +445,5 @@
         })
       },
     },
-    computed: {
-  },
 }
 </script>
\ No newline at end of file

--
Gitblit v1.9.3