From 0a162b61518f98dce270e390bc75778ccc6eb67d Mon Sep 17 00:00:00 2001
From: 王震 <10952869+daywangzhen@user.noreply.gitee.com>
Date: 星期五, 19 一月 2024 14:32:47 +0800
Subject: [PATCH] 	new file:   src/api/equipment/mould.js 	modified:   src/views/equipment/mould/index.vue 	new file:   src/views/equipment/mould/mould-from.vue 	modified:   src/views/quality/Packaging_ledger/index.vue 	modified:   vue.config.js

---
 src/views/quality/Packaging_ledger/index.vue |  492 ++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 363 insertions(+), 129 deletions(-)

diff --git a/src/views/quality/Packaging_ledger/index.vue b/src/views/quality/Packaging_ledger/index.vue
index e8f7d18..462b53e 100644
--- a/src/views/quality/Packaging_ledger/index.vue
+++ b/src/views/quality/Packaging_ledger/index.vue
@@ -8,11 +8,11 @@
             :isShowHide="true"
             :prelang="prelang"
             :ajaxFun="ajaxFun"
-            :options="options" 
-            @handleSelectionChange="handleCurrentChange"
+            :options="options"
+            @handleSelectionChange="handleSelectionChange"
             ref="processconfiguration"
             >
-        <template #toolbar></template>
+              <template #toolbar></template>
             </ttable>
             </el-col>
             <el-col :span="13" style="padding-left: 10px">
@@ -20,7 +20,7 @@
                 <div slot="header">
                 <el-row>
                     <el-col :span="8">
-                    <span>鏍囧噯鍙傛暟</span>
+                    <span>瑁呯鏄庣粏</span>
                     </el-col>
                     <el-col :span="8" :offset="4">
                     <!-- <el-button
@@ -33,6 +33,7 @@
                     </el-col>
                     <el-col :span="2">
                     <el-button
+                        v-if="!isCheck && permissions.quality_packaging_ledger_info_add"
                         style="float: right; padding: 3px 0"
                         type="text"
                         @click="addpreserve"
@@ -41,6 +42,7 @@
                     </el-col>
                     <el-col :span="2">
                     <el-button
+                        v-if="!isCheck && permissions.quality_packaging_ledger_info_add"
                         style="float: right; padding: 3px 0"
                         type="text"
                         @click="relateOperationParam()"
@@ -50,67 +52,75 @@
                 </el-row>
                 </div>
                 <el-table
-              :data="testStandardParams"
-              id="testStandardParamTable"
-              ref="testStandardParam"
-              :default-sort="{ prop: 'index' }"
-              highlight-current-row
-              height="700"
-              style="width: 100%"
-              class="l-mes-table"
-              border
-              stripe
-            >
-              <el-table-column
-                prop="index"
-                label="搴忓彿"
-                align="center"
-                width="50"
-              />
-              <el-table-column
-                label="浜у搧"
-                prop="product"
-                align="center"
-              />
-              <el-table-column
-                label="浜у搧缂栧彿"
-                prop="productNo"
-                align="center"
-              >
-              </el-table-column>
-              <el-table-column
-                label="瑙勬牸鍨嬪彿"
-                prop="specs"
-                align="center"
-              >
-              </el-table-column>
-              <el-table-column
-                label="鍗曚綅"
-                prop="unit"
-                align="center"
-              >
-              </el-table-column>
-              <el-table-column
-                label="鏁伴噺"
-                prop="parameterFormat"
-                align="center"
-                width="80"
-              >
-                <template slot-scope="scope">
-                  <el-input v-model="scope.row.parameterFormat"></el-input>
-                </template>
-              </el-table-column>
-              <el-table-column label="鍗曚綅" prop="unit" align="center" />
-              <el-table-column
-                fixed="right"
-                label="鎿嶄綔"
-                align="center"
-                width="80">
-                <template slot-scope="scope">
-                  <el-button @click="deleteadd(scope.row)"  size="small">鍒犻櫎</el-button>
-                </template>
-              </el-table-column>
-            </el-table>
+                    :data="testStandardParams"
+                    id="testStandardParamTable"
+                    ref="testStandardParam"
+
+                    highlight-current-row
+                    height="700"
+                    style="width: 100%"
+                    class="l-mes-table"
+                    border
+                    stripe
+                  >
+                    <el-table-column
+                      type ="index"
+                      label="搴忓彿"
+                      align="center"
+                      width="50"
+                    />
+                    <el-table-column
+                      label="浜у搧"
+                      prop="product"
+                      show-overflow-tooltip
+                      align="center"
+                    />
+                    <el-table-column
+                      label="浜у搧缂栧彿"
+                      prop="productNo"
+                      show-overflow-tooltip
+                      align="center"
+                    >
+                    </el-table-column>
+                    <el-table-column
+                      label="鎵规鍙�"
+                      prop="outBatchNo"
+                      show-overflow-tooltip
+                      align="center"
+                    >
+                    </el-table-column>
+                    <el-table-column
+                      label="瑙勬牸鍨嬪彿"
+                      prop="specs"
+                      show-overflow-tooltip
+                      align="center"
+                    >
+                    </el-table-column>
+                    <el-table-column
+                      label="鍗曚綅"
+                      prop="unit"
+                      show-overflow-tooltip
+                      align="center"
+                    >
+                    </el-table-column>
+                    <el-table-column
+                      label="鏁伴噺"
+                      prop="number"
+                      align="center"
+                      show-overflow-tooltip
+                      width="80"
+                    ></el-table-column>
+                    <el-table-column
+                      v-if="permissions.quality_packaging_ledger_info_operate"
+                      fixed="right"
+                      label="鎿嶄綔"
+                      align="center"
+                      width="80">
+                      <template slot-scope="scope">
+                        <el-button type="text" @click="deleteadd(scope.row)" icon="el-icon-delete"  size="small">鍒犻櫎</el-button>
+                      </template>
+                    </el-table-column>
+                  </el-table>
                 </el-card>
             </el-col>
         </el-row>
@@ -118,7 +128,7 @@
         <!-- 鏂板 -->
         <packfrom
         :currshowlist.sync="addOrUpdateVisible"
-        >
+        @refreshDataList="getData">
         </packfrom>
         <packfromadd
         :currshowlist.sync="increase"
@@ -126,19 +136,105 @@
         @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;">
+              <div style="padding: 5px;">
+                  <table border="2px" class="x1111116">
+                      <tr class="x1111113">
+                            <td class="x1111114" colspan=6>
+                              <div style="height: 75px;display: flex;margin-top: 2px;">
+                                  <div style="margin-top: 5px;">
+                                  <img width="150" height="48"  src="../../../../public/img/image001.jpg" alt="IMG_256">
+                                  </div>
+                                  <div style="margin-left: 45px;margin-top: 15px ;">
+                                    <span lang="EN-US" class="x1111111">涓ぉ娴锋磱绉戞妧鏈夐檺鍏徃</span>
+                                  </div>
+                              </div>
+                            </td>
+                      </tr>
+                      <tr class="x1111117">
+                            <td class="x1111114">
+                              <span style="font-family: 瀹嬩綋;text-align: center;">搴�&nbsp;&nbsp;鍙�:</span>
+                            </td>
+                            <td class="x1111114"  colspan=4 >{{ i + 1 }} </td>
+                            <td class="x1111114"  rowspan=3  >
+                              <div style="padding: 1px;">
+                              <vueQr :text=str+item.packageBoxId :size="110" :margin="1"></vueQr>
+                              </div>
+                            </td>
+                      </tr>
+                      <tr class="x1111117">
+                            <td class="x1111114">
+                              <span style="font-family: 瀹嬩綋;text-align: center;">鍖� 瑁� 缂栧彿锛�</span>
+                            </td>
+                            <td class="x1111114" colspan=4>{{ item.packageNo }}</td>
+                      </tr>
+                      <tr class="x1111117">
+                            <td class="x1111114">
+                              <span style="font-family: 瀹嬩綋;text-align: center;">鍚�&nbsp;鍚�&nbsp;鍙凤細</span>
+                            </td>
+                            <td class="x1111114" colspan=4>{{ item.contractNo }}</td>
+                            
+                      </tr>
+                      <tr class="x1111113">
+                        <td class="x1111114" colspan=6>
+                          <div style="height: 75px;" >
+                                  <p><span lang="EN-US" class="x1111112">鍦板潃锛氭睙鑻忕渷鍗楅�氱粡娴庢妧鏈紑鍙戝尯甯稿叴璺�96鍙�</span></p>
+                                  <p><span lang="EN-US" class="x1111112">鐢佃瘽/浼犵湡锛�0513鈥�89191125</span></p>
+                          </div>
+                        </td>
+                      </tr>
+                  </table>
+              </div>
+              <!-- <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=str+item.packageBoxId :size="110" :margin="1"></vueQr>
+                </el-col>
+              </el-row>
+              <div style="background-color: blueviolet;height: 80px;">
+                        1111
+              </div> -->
+            </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>
 
 <script>
-import { pagedata,dropById,list,saveList,deledata} from '@/api/quality/Packaging_ledger'
+import { pagedata,dropById,list,saveList,deledata,sAuditstatus} from '@/api/quality/Packaging_ledger'
 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'
+import { mapGetters } from 'vuex'
 export default {
     data(){
         return {
-          goid:'',
+          str:"https://ztms-mes.chinaztt.cn/#/pack?id=",
+          qrData:[],
+          diaPrintTab: false,
+          multipleSelection: [],
+          isCheck: false,
+          dataway:{},
+          datalist:[],
           testStandardParams: [],
           packageBoxId:{},
             prelang: 'operation',
@@ -154,6 +250,7 @@
                 lazy: false, // 鏄惁闇�瑕佹噿鍔犺浇
                 fit: true, // 鍒楃殑瀹藉害鏄惁鑷拺寮�
                 multiSelect: true, //
+                isEdit:false,
                 seqNo: true,
                 isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳
                 isRefresh: true, // 鏄惁鏄剧ず鍒锋柊鎸夐挳
@@ -227,28 +324,8 @@
                     searchInfoType: 'datetimerange',
                 },
                 ],
-                toolbar: [
-                    {
-                      text: '鏂板',
-                      type: 'primary',
-                      fun: this.addOrUpdateHandle
-                    },
-                ],
-                operator: [
-                    {
-                      text: '鍒犻櫎',
-                      icon: 'el-icon-delete',
-                      type: 'text',
-                      size: 'small',
-                      fun: this.deleteHandle
-                    },{
-                      text: 'xx',
-                      icon: 'el-icon-delete',
-                      type: 'text',
-                      size: 'small',
-                      // fun: this.deleteHandle
-                    }
-                  ],
+                toolbar: [],
+                operator: null,
                   operatorConfig: {
                     fixed: 'right',
                     label: '鎿嶄綔',
@@ -259,23 +336,120 @@
        }
     },
     components: {
-        ttable,
-        packfrom,
-        packfromadd
-        },
-        watch: {
-          // renovate() {
-          //   if (this.innerVisible = false) {
-          //     this.$nextTick(() => {
-          //       this.getData()
-          //     })
-          //   }
-          // }
-      },
+      ttable,
+      packfrom,
+      packfromadd,
+      vueQr
+    },
+    created(){
+      if(this.permissions.quality_packaging_ledger_add){
+          this.table.toolbar.push({
+            text: '鏂板',
+            type: 'primary',
+            fun: this.addOrUpdateHandle
+          })
+      }
+      if(this.permissions.quality_packaging_ledger_labelprint){
+          this.table.toolbar.push({
+            text: '鏍囩鎵撳嵃',
+            type: 'primary',
+            fun: this.printLabel
+          })
+      }
+      let arr = []
+      if(this.permissions.quality_packaging_ledger_inspect){
+        arr.push({
+              text: '妫�楠�',
+              icon: 'el-icon-position',
+              type: 'text',
+              size: 'small',
+              fun: this.check,
+              show: {
+                val: [
+                    '鑽夌',
+                    '鏈姤妫�',
+                ],
+                key: 'state'
+              }
+            })
+      }
+      if(this.permissions.quality_packaging_ledger_del){
+        arr.push({
+              text: '鍒犻櫎',
+              icon: 'el-icon-delete',
+              type: 'text',
+              size: 'small',
+              fun: this.deleteHandle
+            })
+      }
+      this.table.operator = arr.length>0 ? arr : null
+    },
+    computed:{
+      ...mapGetters(['permissions'])
+    },
+    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,
+            packageBoxId:item.id
+          }
+          this.qrData.push(obj)
+        })
+      },
        // 鑾峰彇鏁版嵁鍒楄〃
       getData() {
         this.$refs.processconfiguration.refreshData()
+      },
+      wayRenovate(){
+        this.getData()
       },
       //add
       addOrUpdateHandle(){
@@ -285,50 +459,110 @@
       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 = false
+        }else{
+          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.rightquery()
+      },
+      rightquery(){
+        list({packageBoxId:this.packageBoxId.packageBoxId}).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
-
+       this.testStandardParams = this.testStandardParams.concat(datalist);
+       console.log(this.testStandardParams,"---------start");
+       this.datalist = datalist
       },
+      //鍙宠竟淇濆瓨
       addpreserve(){
-        console.log(this.testStandardParams,"淇濆瓨鏁版嵁");
-         this.testStandardParams.forEach(el => {
-              el.packageBoxId =this.goid
+         this.datalist.forEach(el => {
+              el.packageBoxId =this.packageBoxId.packageBoxId
          });
-        console.log(this.testStandardParams,"niaho");
-        saveList(this.testStandardParams).then((res) =>{
-          console.log(res,"淇濆瓨鐨�");
-          this.$message.success('淇濆瓨鎴愬姛')
-          this.testStandardParams
+         console.log(this.datalist);
+  //       return
+        saveList(this.datalist).then((res) =>{
+          if(res.status===200){
+            this.$message.success('淇濆瓨鎴愬姛')
+            this.datalist = null
+            this.rightquery()
+          }
+        }).catch(error=>{
+          console.error(error);
         })
       },
+      //鍒犻櫎
       deleteadd(row){
-          console.log(row,"");
           deledata({id:row.id}).then((res)=>{
           this.$message.success('鍒犻櫎鎴愬姛')
-          this.testStandardParams
+          this.rightquery()
           })
-      }
+      },
+      //瀹℃牳
+      check(row){
+        let packageBox = {
+                id:row.id,
+                packageNo:row.packageNo,
+                contractNo:row.contractNo,
+                customerId:row.customerId,
+        }
+        sAuditstatus(packageBox).then((res) =>{
+          this.getData()
+          this.$message.success('妫�楠屾垚鍔�')
+        })
+      },
     },
-    computed: {
-  },
 }
-</script>
\ No newline at end of file
+</script>
+<style>
+.x1111111{
+    color: black;
+    font-size: 18pt;
+    font-family: 榛戜綋;
+    justify-content: center;
+    text-align: center;
+}
+.x1111113{
+    border: 1px solid black;
+    height: 40px;
+}
+.x1111117{
+    border: 1px solid black;
+    height: 40px;
+}
+.x1111116{
+    border: 1px solid black;
+    height: 220px;
+    width: 450px;
+}
+.x1111114{
+    border: 1px solid black;
+    width: 80px;
+}
+.x1111115{
+    border: 1px solid black;
+}
+.x1111112{
+    color: black;
+    font-size: 12pt;
+    font-family: 瀹嬩綋;
+}
+</style>

--
Gitblit v1.9.3