From c49d413fe39ee6cb9062f6fa915a3d203933a73a Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 17 一月 2024 16:40:19 +0800
Subject: [PATCH] 设备样式修改

---
 src/views/equipment/metering/index.vue |  140 +++++++++++++++++++++++++++++++++++++---------
 1 files changed, 112 insertions(+), 28 deletions(-)

diff --git a/src/views/equipment/metering/index.vue b/src/views/equipment/metering/index.vue
index 31f4ff7..ecdc081 100644
--- a/src/views/equipment/metering/index.vue
+++ b/src/views/equipment/metering/index.vue
@@ -19,6 +19,36 @@
           @refreshDataList="getData"
         ></table-form>
       </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="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+'id@'+tem.id" :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="printFun">鎵� 鍗�</el-button>
+        </span>
+      </el-dialog>
     </div>
   </template>
   
@@ -29,6 +59,8 @@
   import { mapGetters } from 'vuex'
   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 {
@@ -36,8 +68,8 @@
         multipleSelection: [],
         uploadInfo: {
           // 鏄惁灞曠ず涓婁紶EXCEL浠ュ強瀵瑰簲鐨剈rl
-          Download:false,
-         isShow: true,
+          download:false,
+          isShow: true,
           url: '/mes/equipmentDevice/upload'
         },
         prelang: 'workstation',
@@ -53,7 +85,7 @@
           isRefresh: true, // 鏄惁鏄剧ず鍒锋柊鎸夐挳
           isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳
           isSearch: false, // 楂樼骇鏌ヨ鎸夐挳
-          defaultOrderBy: { column: 'manufactureDate', direction: 'desc' }
+          defaultOrderBy: { column: 'id', direction: 'desc' }
         },
         table: {
           total: 0,
@@ -65,6 +97,7 @@
             // 璁惧缂栧彿
             {
               minWidth: '30',
+              width: '100',
               prop: 'code',
               label: '璁惧缂栧彿',
               sort: true,
@@ -78,6 +111,7 @@
             // 璁惧鍚嶇О
             {
               minWidth: '30',
+              width: '100',
               prop: 'name',
               label: '璁惧鍚嶇О',
               sort: true,
@@ -113,7 +147,7 @@
  // 鍒堕�犳棩鏈�
  {
               minWidth: '150',
-              width: '250',
+              width: '150',
               prop: 'createTime',
               label: '鏍″噯鏃堕棿',
               sort: true,
@@ -125,7 +159,7 @@
            
             {
               minWidth: '150',
-              width: '250',
+              width: '150',
               prop: 'updateTime',
               label: '鏍″噯鍒版湡鏃堕棿',
               sort: true,
@@ -229,11 +263,6 @@
             },
           ],
           toolbar: [
-            {
-              text: '鏂板',
-              type: 'primary',
-              fun: this.addOrUpdateHandle
-            },
             // {
             //   text: '鍚屾',
             //   type: 'primary',
@@ -241,22 +270,7 @@
             //   fun: this.pullEquipFun
             // }
           ],
-          operator: [
-            {
-              text: '淇敼',
-              icon: 'el-icon-edit',
-              type: 'text',
-              size: 'small',
-              fun: this.addOrUpdateHandle
-            },
-            {
-              text: '鍒犻櫎',
-              icon: 'el-icon-delete',
-              type: 'text',
-              size: 'small',
-              fun: this.deleteHandle
-            }
-          ],
+          operator: null,
           operatorConfig: {
             fixed: 'right',
             label: '鎿嶄綔',
@@ -265,17 +279,54 @@
           }
         },
         addOrUpdateVisible: false,
-        workshopList: []
+        workshopList: [],
+        diaPrintTab: false
       }
     },
     components: {
       ttable,
-      TableForm
+      TableForm,
+      vueQr
     },
     computed: {
       ...mapGetters(['permissions'])
     },
     created() {
+      this.uploadInfo.isShow = this.permissions.equipment_metering_upload
+      if(this.permissions.equipment_metering_add){
+        this.table.toolbar.push({
+              text: '鏂板',
+              type: 'primary',
+              fun: this.addOrUpdateHandle
+            })
+      }
+      if(this.permissions.equipment_metering_labelprint){
+        this.table.toolbar.push({
+                text: '鏍囩鎵撳嵃',
+                type: 'primary',
+                fun: this.labelPrint
+              })
+      }
+      let arr = []
+      if(this.permissions.equipment_metering_edit){
+        arr.push({
+              text: '淇敼',
+              icon: 'el-icon-edit',
+              type: 'text',
+              size: 'small',
+              fun: this.addOrUpdateHandle
+            })
+      }
+      if(this.permissions.equipment_metering_del){
+        arr.push({
+              text: '鍒犻櫎',
+              icon: 'el-icon-delete',
+              type: 'text',
+              size: 'small',
+              fun: this.deleteHandle
+            })
+      }
+      this.table.operator = arr.length>0 ? arr : null
       remote('work_shop').then((response) => {
         if (response.data.code === 0) {
           this.workshopList = response.data.data
@@ -285,6 +336,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=>{
@@ -337,6 +414,13 @@
             this.$message.success('鍒犻櫎鎴愬姛')
             this.getData()
           })
+      },
+      labelPrint(){
+        if(this.multipleSelection.length==0){
+          this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�')
+          return
+        }
+        this.diaPrintTab = true
       }
     }
   }

--
Gitblit v1.9.3