From 68eaf315b64145e487d10e66183d542ee7f94d10 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期二, 05 七月 2022 17:35:33 +0800
Subject: [PATCH] 1.生产管理完成部分功能2.自定义页面打印、二维码图形、水印显示实现了一个demo

---
 src/views/sbgl/sbqd.vue |   98 ++++++++++++++++++++++++++++++++----------------
 1 files changed, 65 insertions(+), 33 deletions(-)

diff --git a/src/views/sbgl/sbqd.vue b/src/views/sbgl/sbqd.vue
index 346addf..d9a8aa7 100644
--- a/src/views/sbgl/sbqd.vue
+++ b/src/views/sbgl/sbqd.vue
@@ -17,7 +17,7 @@
               <el-input v-model="form.DeviceName" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
             <el-form-item label="浣跨敤鐘舵��" style=" display: flex;">
-              <el-select v-model="form.Status" filterable style="width: 200px" placeholder="璇烽�夋嫨">
+              <el-select v-model="form.Status" :popper-append-to-body="false" filterable style="width: 200px" placeholder="璇烽�夋嫨">
                 <el-option
                   v-for="item in StatusArr"
                   :key="item.value"
@@ -27,7 +27,7 @@
               </el-select>
             </el-form-item>
             <el-form-item label="鎵�灞炶溅闂�" style=" display: flex;">
-              <el-select v-model="form.WorkShop" filterable style="width: 200px" placeholder="璇烽�夋嫨">
+              <el-select v-model="form.WorkShop" :popper-append-to-body="false" filterable style="width: 200px" placeholder="璇烽�夋嫨">
                 <el-option
                   v-for="item in WorkShopArr"
                   :key="item.code"
@@ -37,7 +37,7 @@
               </el-select>
             </el-form-item>
             <el-form-item filterable label="璁惧绫诲瀷" style="display: flex;">
-              <el-select v-model="form.DeviceType" style="width: 200px" placeholder="璇烽�夋嫨" @change="deviceTypeChange">
+              <el-select v-model="form.DeviceType" :popper-append-to-body="false" style="width: 200px" placeholder="璇烽�夋嫨" @change="deviceTypeChange">
                 <el-option
                   v-for="item in DeviceTypeArr"
                   :key="item.code"
@@ -49,6 +49,7 @@
             <el-form-item label="璁惧缁�" style=" display: flex;">
               <el-select
                 v-model="form.DeviceGroup"
+                :popper-append-to-body="false"
                 :disabled="form.DeviceType===''"
                 style="width: 200px"
                 placeholder="璇烽�夋嫨"
@@ -175,7 +176,7 @@
           >
             <template slot-scope="{row}">
               <div class="operationClass">
-                <el-button type="text" @click="edit('edit',row)">淇敼</el-button>
+                <el-button type="text" @click="edit('edit',row)">缂栬緫</el-button>
                 <el-button type="text" @click="del(row)">鍒犻櫎</el-button>
               </div>
             </template>
@@ -196,22 +197,23 @@
     </div>
     <!--璁惧娓呭崟鏂板缂栬緫-->
     <el-dialog
-      :title="operation==='add'?'鏂板':'淇敼'"
+      :close-on-click-modal="false"
+      :title="operation==='add'?'鏂板':'缂栬緫'"
       :visible.sync="dialogVisible"
-      width="50%"
+      width="65%"
       top="15vh"
       @closed="handleClose"
       @close="handleClose"
     >
       <el-form ref="dialogForm" inline :rules="dialogFormRules" :model="dialogForm" label-width="80px">
         <el-form-item label="璁惧缂栫爜" prop="devicecode">
-          <el-input v-model="dialogForm.devicecode" :disabled="operation!=='add'" style="width: 220px" />
+          <el-input v-model="dialogForm.devicecode" :disabled="operation!=='add'" style="width: 200px" />
         </el-form-item>
         <el-form-item label="璁惧鍚嶇О" prop="devicename">
-          <el-input v-model="dialogForm.devicename" style="width: 220px" />
+          <el-input v-model="dialogForm.devicename" style="width: 200px" />
         </el-form-item>
         <el-form-item label="璁惧绫诲瀷" prop="devicetypecode">
-          <el-select v-model="dialogForm.devicetypecode" style="width: 220px" placeholder="璇烽�夋嫨" @change="devicetypecodeChange">
+          <el-select v-model="dialogForm.devicetypecode" :popper-append-to-body="false" style="width: 200px" placeholder="璇烽�夋嫨" @change="devicetypecodeChange">
             <el-option
               v-for="item in DeviceTypeArr"
               :key="item.code"
@@ -221,9 +223,9 @@
           </el-select>
         </el-form-item>
         <el-form-item label="璁惧缁�" prop="devicegroupcode">
-          <el-select v-model="dialogForm.devicegroupcode" :disabled="dialogForm.devicetypecode===''" style="width: 220px" placeholder="璇烽�夋嫨">
+          <el-select v-model="dialogForm.devicegroupcode" :popper-append-to-body="false" :disabled="dialogForm.devicetypecode===''" style="width: 200px" placeholder="璇烽�夋嫨">
             <el-option
-              v-for="item in DeviceGroupArr"
+              v-for="item in DeviceGroupDialogArr"
               :key="item.code"
               :label="item.name"
               :value="item.code"
@@ -233,13 +235,14 @@
         <el-form-item label="鎶曞叆鏃ユ湡" prop="importdate">
           <el-date-picker
             v-model="dialogForm.importdate"
-            style="width: 220px"
+            style="width: 200px"
             type="date"
             placeholder="閫夋嫨鏃ユ湡"
+            popper-class="dateStyle"
           />
         </el-form-item>
         <el-form-item label="鎵�灞炶溅闂�" prop="workshopcode">
-          <el-select v-model="dialogForm.workshopcode" style="width: 220px" placeholder="璇烽�夋嫨" @change="workshopcodeChange">
+          <el-select v-model="dialogForm.workshopcode" :popper-append-to-body="false" style="width: 200px" placeholder="璇烽�夋嫨" @change="workshopcodeChange">
             <el-option
               v-for="item in WorkShopArr"
               :key="item.code"
@@ -249,7 +252,7 @@
           </el-select>
         </el-form-item>
         <el-form-item label="鎵�灞炰骇绾�" prop="linecode">
-          <el-select v-model="dialogForm.linecode" :disabled="dialogForm.workshopcode===''" style="width: 220px" placeholder="璇烽�夋嫨">
+          <el-select v-model="dialogForm.linecode" :popper-append-to-body="false" :disabled="dialogForm.workshopcode===''" style="width: 200px" placeholder="璇烽�夋嫨">
             <el-option
               v-for="item in WorkLineArr"
               :key="item.linecode"
@@ -259,7 +262,7 @@
           </el-select>
         </el-form-item>
         <el-form-item label="浣跨敤鐘舵��" prop="status">
-          <el-select v-model="dialogForm.status" style="width: 220px" placeholder="璇烽�夋嫨">
+          <el-select v-model="dialogForm.status" :popper-append-to-body="false" style="width: 200px" placeholder="璇烽�夋嫨">
             <el-option
               v-for="item in StatusArr"
               :key="item.value"
@@ -285,8 +288,9 @@
     <el-dialog
       title="璁惧绫诲瀷"
       :visible.sync="DeviceTypeDialogVisible"
-      width="50%"
+      width="65%"
       top="15vh"
+      :close-on-click-modal="false"
       class="DeviceTypeDialogVisible"
       @close="handleCloseDeviceType"
     >
@@ -297,8 +301,8 @@
       <el-table
         :data="DeviceTypeArray"
         border
+        height="300"
         highlight-current-row
-        :style="{width: 100+'%',height:tableHeight-300+'px'}"
         :header-cell-style="this.$headerCellStyle"
         :cell-style="this.$cellStyle"
         @sort-change="sortChangeOfDeviceType"
@@ -372,6 +376,7 @@
       title="璁惧缁�"
       :visible.sync="DeviceGroupDialogVisible"
       width="70%"
+      :close-on-click-modal="false"
       top="15vh"
       class="DeviceTypeDialogVisible"
       @close="handleCloseDeviceGroup"
@@ -383,7 +388,7 @@
         :data="DeviceGroupArray"
         border
         highlight-current-row
-        :style="{width: 100+'%',height:tableHeight-300+'px'}"
+        height="300"
         :header-cell-style="this.$headerCellStyle"
         :cell-style="this.$cellStyle"
         @sort-change="sortChangeOfDeviceGroup"
@@ -419,7 +424,7 @@
           sortable="custom"
         >
           <template slot-scope="{row}">
-            <el-select v-if="row.isVisible===1" v-model="row.eqptype_code" placeholder="璇烽�夋嫨">
+            <el-select v-if="row.isVisible===1" v-model="row.eqptype_code" :popper-append-to-body="false" placeholder="璇烽�夋嫨">
               <el-option
                 v-for="item in DeviceTypeArr"
                 :key="item.code"
@@ -433,7 +438,6 @@
         <el-table-column
           prop="remark"
           label="鍒嗙粍鎻忚堪"
-          show-overflow-tooltip
           sortable="custom"
         >
           <template slot-scope="{row}">
@@ -545,6 +549,7 @@
         status: '',
         ratio: ''
       },
+      DeviceGroupDialogArr: [], // 璁惧缁勬暟缁�
       WorkLineArr: [], // 鎵�灞炰骇绾挎暟缁�
       operation: '',
       dialogFormRules: {
@@ -624,7 +629,7 @@
     },
     // 璁惧绫诲瀷鏀瑰彉鏃�
     async deviceTypeChange(val) {
-      this.form.DeviceType = val
+      this.form.DeviceGroup = ''
       const { data: res } = await DeviceTypeSelectGroup({ eqptypecode: val })
       this.DeviceGroupArr = res
     },
@@ -668,10 +673,11 @@
       this.dialogVisible = true
     },
     // 淇敼鎸夐挳
-    edit(operation, row) {
+    async edit(operation, row) {
       this.operation = operation
       this.dialogVisible = true
-      // console.log(row)
+      await this.devicetypecodeChange(row.eqptype_code)
+      await this.workshopcodeChange(row.wksp_code)
       this.$nextTick(() => {
         this.dialogForm.id = row.id
         this.dialogForm.devicecode = row.code
@@ -725,7 +731,7 @@
     // 瀵硅瘽妗嗚澶囩被鍨嬩笅鎷夐�夋嫨鏀瑰彉鏃�
     async devicetypecodeChange(val) {
       const { data: res } = await DeviceTypeSelectGroup({ eqptypecode: val })
-      this.DeviceGroupArr = res
+      this.DeviceGroupDialogArr = res
       this.dialogForm.devicegroupcode = ''
     },
     // 瀵硅瘽妗嗗彇娑�
@@ -766,6 +772,9 @@
       this.$nextTick(() => {
         this.mainHeight = window.innerHeight - 250
         this.tableHeight = this.mainHeight - 100
+        if (window.innerHeight < 800) {
+          this.tableHeight = this.tableHeight - 50
+        }
       })
     },
 
@@ -807,7 +816,8 @@
     },
     // 鏂板鎸夐挳
     addDeviceType() {
-      this.DeviceTypeArray.unshift({ code: '', name: '', group: '', remark: '', isVisible: 1 })
+      const number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
+      this.DeviceTypeArray.unshift({ code: '', name: '', group: '', remark: '', isVisible: 1, number: number })
     },
     // 鍒犻櫎
     DeviceTypeDel(row) {
@@ -852,7 +862,7 @@
     // 鍙栨秷
     DeviceTypeCancel(row) {
       this.DeviceTypeArray.forEach((item, index) => {
-        if (item.isVisible === 1 && item.code === row.code) {
+        if (item.isVisible === 1 && item.number === row.number) {
           this.DeviceTypeArray.splice(index, 1)
         }
       })
@@ -882,7 +892,8 @@
     },
     // 鏂板
     addDeviceGroup() {
-      this.DeviceGroupArray.unshift({ code: '', name: '', eqptype_code: '', eqptype_name: '', remark: '', isVisible: 1 })
+      const number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
+      this.DeviceGroupArray.unshift({ code: '', name: '', eqptype_code: '', eqptype_name: '', remark: '', isVisible: 1, number: number })
     },
     // 鎺掑簭
     sortChangeOfDeviceGroup({ column, prop, order }) {
@@ -956,7 +967,7 @@
     // 鍙栨秷鎸夐挳
     DeviceGroupCancel(row) {
       this.DeviceGroupArray.forEach((item, index) => {
-        if (item.isVisible === 1 && item.code === row.code) {
+        if (item.isVisible === 1 && item.number === row.number) {
           this.DeviceGroupArray.splice(index, 1)
         }
       })
@@ -972,10 +983,13 @@
   height: 30px;
   display: flex;
   align-items: center;
-  border: 1px solid $main_color;
+  //border: 1px solid $main_color;
+  border: none;
   padding: 0 20px;
 }
-
+::v-deep .el-button--primary:hover {
+  border: none;
+}
 ::v-deep .el-button--info {
   //background-color: $main_color !important;
   height: 30px;
@@ -1010,9 +1024,9 @@
   color: #606266;
 }
 
-::v-deep .el-dialog__body {
-  padding: 20px 100px !important;
-}
+//::v-deep .el-dialog__body {
+//  padding: 20px 100px !important;
+//}
 
 .DeviceTypeDialogVisible {
   ::v-deep .el-dialog__body {
@@ -1112,4 +1126,22 @@
 .body ::v-deep .el-form-item{
   margin-bottom: 0;
 }
+::v-deep .el-input__inner:focus {
+  border-color: $main_color;
+}
+
+::v-deep .el-select .el-input__inner:focus{
+  border-color: $main_color;
+}
+
+::v-deep .el-select-dropdown__item.selected{
+  color: $main_color;
+}
+</style>
+<style lang="scss">
+.dateStyle{
+  .el-date-table td.today span{
+    color: #42b983;
+  }
+}
 </style>

--
Gitblit v1.9.3