From 6ad65ff10ec1d2004119b75e1f4c539e2a86659e Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期四, 02 二月 2023 11:15:55 +0800
Subject: [PATCH] 1.按钮点击 新增水波纹效果

---
 src/views/jcsz/zzjg.vue               |   12 
 src/views/zzmx/chda.vue               |   36 +
 src/views/sbgl/djjl.vue               |   19 
 src/views/scgl/scdd.vue               |   14 
 src/views/zlgl/gxjy.vue               |   18 
 src/views/jcsz/wldw.vue               |   15 
 src/views/scgl/gd.vue                 |   53 +-
 src/views/zlgl/gxjyjl.vue             |   27 
 src/views/zzmx/wlqd.vue               |   25 
 src/views/scgl/sckbg.vue              |   52 +-
 src/views/bbgl/adbb.vue               |   12 
 src/views/bbgl/blmx.vue               |   15 
 src/directive/waves/waves.js          |   72 ++++
 src/views/sbgl/djbz.vue               |   27 
 src/views/bbgl/wwgx.vue               |   13 
 src/views/zlgl/gxjyxm.vue             |   14 
 src/views/sbgl/bybw.vue               |   14 
 src/views/sbgl/bybz.vue               |   27 
 src/views/scgl/cngh.vue               |   27 
 src/views/scgl/gdplgb.vue             |   13 
 src/views/zzmx/jpgj.vue               |   25 
 src/views/zlgl/qxdy.vue               |   14 
 src/components/ImportPicker/index.vue |   10 
 src/views/xtsz/bmgz.vue               |   19 
 src/views/jcsz/adsz.vue               |   23 
 src/views/wlgl/kwdy.vue               |   14 
 src/views/sbgl/djbw.vue               |   14 
 src/views/zzmx/gylx.vue               |   17 
 src/views/bbgl/bzgz.vue               |   15 
 src/directive/waves/index.js          |   13 
 src/views/sbgl/sbqd.vue               |   53 +-
 src/views/sbgl/byjl.vue               |   19 
 src/views/template.vue                |   16 
 src/views/bbgl/wxmx.vue               |   15 
 src/views/xtsz/cjgg.vue               |   14 
 src/views/sbgl/wxjl.vue               |   15 
 src/views/scgl/zdpc.vue               |   10 
 src/directive/waves/waves.css         |   26 +
 src/views/jcsz/yhqd.vue               |   33 +
 src/views/jcsz/jsqd.vue               |   42 +
 src/views/wlgl/ckdy.vue               |   15 
 src/views/zzmx/gxdy.vue               |   20 
 src/views/zlgl/gxjybz.vue             |   26 
 src/views/bbgl/rygz.vue               |   15 
 44 files changed, 611 insertions(+), 377 deletions(-)

diff --git a/src/components/ImportPicker/index.vue b/src/components/ImportPicker/index.vue
index 67e73bf..b25ef50 100644
--- a/src/components/ImportPicker/index.vue
+++ b/src/components/ImportPicker/index.vue
@@ -46,10 +46,10 @@
           :before-upload="beforeUpload"
           :data="{FileCode:code}"
         >
-          <el-button class="but_style" icon="el-icon-upload2" size="small" :style="{color:$store.state.settings.theme}">{{ button_name }}</el-button>
+          <el-button v-waves class="but_style" icon="el-icon-upload2" size="small" :style="{color:$store.state.settings.theme}">{{ button_name }}</el-button>
         </el-upload>
         璇风偣鍑�
-        <el-button type="text" style="font-size: 14px;cursor: pointer" icon="el-icon-download" @click="clickDown(code)">涓嬭浇鏁版嵁妯$増</el-button>
+        <el-button v-waves type="text" style="font-size: 14px;cursor: pointer" icon="el-icon-download" @click="clickDown(code)">涓嬭浇鏁版嵁妯$増</el-button>
         , 骞舵寜鐓фā鐗堢紪杈戝鍏ユ暟鎹�
       </div>
       <p v-if="div1" style="margin:0 85px 5px">{{ file_name }}</p>
@@ -117,8 +117,9 @@
       </div>
     </div>
     <span slot="footer" class="dialog-footer" style="display: flex;">
-      <el-button v-if="button_text !=&quot;瀹屾垚&quot;" @click="colos()">鍙� 娑�</el-button>
+      <el-button v-if="button_text !=&quot;瀹屾垚&quot;" v-waves @click="colos()">鍙� 娑�</el-button>
       <el-button
+        v-waves
         type="primary"
         class="button_style"
         :disabled="disState"
@@ -131,9 +132,10 @@
 
 import { DownLoadExcel, ExcelCheckData, ExcelImportSubmit, ExcelModelCheck } from '@/api/Excel'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   props: {
     code: {
       type: String,
diff --git a/src/directive/waves/index.js b/src/directive/waves/index.js
new file mode 100644
index 0000000..65f9b30
--- /dev/null
+++ b/src/directive/waves/index.js
@@ -0,0 +1,13 @@
+import waves from './waves'
+
+const install = function(Vue) {
+  Vue.directive('waves', waves)
+}
+
+if (window.Vue) {
+  window.waves = waves
+  Vue.use(install); // eslint-disable-line
+}
+
+waves.install = install
+export default waves
diff --git a/src/directive/waves/waves.css b/src/directive/waves/waves.css
new file mode 100644
index 0000000..af7a7ef
--- /dev/null
+++ b/src/directive/waves/waves.css
@@ -0,0 +1,26 @@
+.waves-ripple {
+    position: absolute;
+    border-radius: 100%;
+    background-color: rgba(0, 0, 0, 0.15);
+    background-clip: padding-box;
+    pointer-events: none;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+    -webkit-transform: scale(0);
+    -ms-transform: scale(0);
+    transform: scale(0);
+    opacity: 1;
+}
+
+.waves-ripple.z-active {
+    opacity: 0;
+    -webkit-transform: scale(2);
+    -ms-transform: scale(2);
+    transform: scale(2);
+    -webkit-transition: opacity 1.2s ease-out, -webkit-transform 0.6s ease-out;
+    transition: opacity 1.2s ease-out, -webkit-transform 0.6s ease-out;
+    transition: opacity 1.2s ease-out, transform 0.6s ease-out;
+    transition: opacity 1.2s ease-out, transform 0.6s ease-out, -webkit-transform 0.6s ease-out;
+}
\ No newline at end of file
diff --git a/src/directive/waves/waves.js b/src/directive/waves/waves.js
new file mode 100644
index 0000000..ec2ff43
--- /dev/null
+++ b/src/directive/waves/waves.js
@@ -0,0 +1,72 @@
+import './waves.css'
+
+const context = '@@wavesContext'
+
+function handleClick(el, binding) {
+  function handle(e) {
+    const customOpts = Object.assign({}, binding.value)
+    const opts = Object.assign({
+      ele: el, // 娉㈢汗浣滅敤鍏冪礌
+      type: 'hit', // hit 鐐瑰嚮浣嶇疆鎵╂暎 center涓績鐐规墿灞�
+      color: 'rgba(0, 0, 0, 0.15)' // 娉㈢汗棰滆壊
+    },
+    customOpts
+    )
+    const target = opts.ele
+    if (target) {
+      target.style.position = 'relative'
+      target.style.overflow = 'hidden'
+      const rect = target.getBoundingClientRect()
+      let ripple = target.querySelector('.waves-ripple')
+      if (!ripple) {
+        ripple = document.createElement('span')
+        ripple.className = 'waves-ripple'
+        ripple.style.height = ripple.style.width = Math.max(rect.width, rect.height) + 'px'
+        target.appendChild(ripple)
+      } else {
+        ripple.className = 'waves-ripple'
+      }
+      switch (opts.type) {
+        case 'center':
+          ripple.style.top = rect.height / 2 - ripple.offsetHeight / 2 + 'px'
+          ripple.style.left = rect.width / 2 - ripple.offsetWidth / 2 + 'px'
+          break
+        default:
+          ripple.style.top =
+            (e.pageY - rect.top - ripple.offsetHeight / 2 - document.documentElement.scrollTop ||
+              document.body.scrollTop) + 'px'
+          ripple.style.left =
+            (e.pageX - rect.left - ripple.offsetWidth / 2 - document.documentElement.scrollLeft ||
+              document.body.scrollLeft) + 'px'
+      }
+      ripple.style.backgroundColor = opts.color
+      ripple.className = 'waves-ripple z-active'
+      return false
+    }
+  }
+
+  if (!el[context]) {
+    el[context] = {
+      removeHandle: handle
+    }
+  } else {
+    el[context].removeHandle = handle
+  }
+
+  return handle
+}
+
+export default {
+  bind(el, binding) {
+    el.addEventListener('click', handleClick(el, binding), false)
+  },
+  update(el, binding) {
+    el.removeEventListener('click', el[context].removeHandle, false)
+    el.addEventListener('click', handleClick(el, binding), false)
+  },
+  unbind(el) {
+    el.removeEventListener('click', el[context].removeHandle, false)
+    el[context] = null
+    delete el[context]
+  }
+}
diff --git a/src/views/bbgl/adbb.vue b/src/views/bbgl/adbb.vue
index 61b0736..a59bc2b 100644
--- a/src/views/bbgl/adbb.vue
+++ b/src/views/bbgl/adbb.vue
@@ -2,7 +2,7 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup">
-        <el-button type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
+        <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
       </div>
 
       <div v-show="currentTabPositionName==='瀹夌伅鏄庣粏'" class="bodyTopFormGroup">
@@ -77,8 +77,8 @@
             class="bodySearchReset"
             :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
           >
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -185,8 +185,8 @@
             class="bodySearchReset"
             :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
           >
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -400,12 +400,14 @@
   AnDonReportSumSearch
 } from '@/api/bbgl'
 import { ShopSearch } from '@/api/dzkb'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
   components: {
     Pagination
   },
+  directives: { waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/bbgl/blmx.vue b/src/views/bbgl/blmx.vue
index 82ff6fa..1036492 100644
--- a/src/views/bbgl/blmx.vue
+++ b/src/views/bbgl/blmx.vue
@@ -2,7 +2,7 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup">
-        <el-button type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
+        <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -59,8 +59,8 @@
             class="bodySearchReset"
             :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
           >
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -232,9 +232,9 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisible=false">杩� 鍥�</el-button>
-          <!--          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>-->
-          <!--          <el-button type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
+          <el-button v-waves @click="dialogVisible=false">杩� 鍥�</el-button>
+          <!--          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>-->
+          <!--          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
         </div>
       </span>
     </el-dialog>
@@ -264,13 +264,14 @@
 } from '@/api/bbgl'
 import { MesOrderStepReportSelectUserGroup } from '@/api/scgl'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/bbgl/bzgz.vue b/src/views/bbgl/bzgz.vue
index 3d3c562..3eabb24 100644
--- a/src/views/bbgl/bzgz.vue
+++ b/src/views/bbgl/bzgz.vue
@@ -2,7 +2,7 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup">
-        <el-button type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
+        <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -63,8 +63,8 @@
             class="bodySearchReset"
             :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
           >
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
 
@@ -270,9 +270,9 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisible=false">杩� 鍥�</el-button>
-          <!--          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>-->
-          <!--          <el-button type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
+          <el-button v-waves @click="dialogVisible=false">杩� 鍥�</el-button>
+          <!--          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>-->
+          <!--          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
         </div>
       </span>
     </el-dialog>
@@ -302,13 +302,14 @@
 } from '@/api/bbgl'
 import { MesOrderStepReportSelectUserGroup } from '@/api/scgl'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/bbgl/rygz.vue b/src/views/bbgl/rygz.vue
index 2ef9fd3..cf10601 100644
--- a/src/views/bbgl/rygz.vue
+++ b/src/views/bbgl/rygz.vue
@@ -2,7 +2,7 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup">
-        <el-button type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
+        <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -63,8 +63,8 @@
             class="bodySearchReset"
             :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
           >
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -250,9 +250,9 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisible=false">杩� 鍥�</el-button>
-          <!--          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>-->
-          <!--          <el-button type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
+          <el-button v-waves @click="dialogVisible=false">杩� 鍥�</el-button>
+          <!--          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>-->
+          <!--          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
         </div>
       </span>
     </el-dialog>
@@ -280,13 +280,14 @@
 } from '@/api/bbgl'
 import { MesOrderStepReportSelectUserGroup } from '@/api/scgl'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/bbgl/wwgx.vue b/src/views/bbgl/wwgx.vue
index aa28c8d..2a1bb2f 100644
--- a/src/views/bbgl/wwgx.vue
+++ b/src/views/bbgl/wwgx.vue
@@ -2,7 +2,7 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup">
-        <el-button type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
+        <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -68,8 +68,8 @@
             class="bodySearchReset"
             :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
           >
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -296,8 +296,8 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
-          <el-button type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -322,13 +322,14 @@
 import { handleDatetime, validateCode } from '@/utils/global'
 import { OutSourceReportExcelSearch, OutSourceReportSearch } from '@/api/bbgl'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/bbgl/wxmx.vue b/src/views/bbgl/wxmx.vue
index bb2a43c..86f52fe 100644
--- a/src/views/bbgl/wxmx.vue
+++ b/src/views/bbgl/wxmx.vue
@@ -2,7 +2,7 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup">
-        <el-button type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
+        <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -67,8 +67,8 @@
             class="bodySearchReset"
             :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
           >
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -243,9 +243,9 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisible=false">杩� 鍥�</el-button>
-          <!--          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>-->
-          <!--          <el-button type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
+          <el-button v-waves @click="dialogVisible=false">杩� 鍥�</el-button>
+          <!--          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>-->
+          <!--          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
         </div>
       </span>
     </el-dialog>
@@ -272,13 +272,14 @@
   GroupSalaryReportSearchUser, MaintenanceDetailsReportExcelSearch, MaintenanceDetailsReportSearch
 } from '@/api/bbgl'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/jcsz/adsz.vue b/src/views/jcsz/adsz.vue
index c76eea7..4a607cf 100644
--- a/src/views/jcsz/adsz.vue
+++ b/src/views/jcsz/adsz.vue
@@ -32,6 +32,7 @@
                   <div class="bar" :style="{background:$store.state.settings.theme}" />
                   <div>鍝嶅簲浜哄憳</div>
                   <el-button
+                    v-waves
                     icon="el-icon-circle-plus-outline"
                     :disabled="allowClose"
                     :style="{color:allowClose?'#6f6e6f':$store.state.settings.theme}"
@@ -69,6 +70,7 @@
           </el-tab-pane>
         </el-tabs>
         <el-button
+
           style="position: absolute;top: 15px;right:10px;z-index: 1000"
           icon="el-icon-setting"
           @click="setting"
@@ -89,6 +91,7 @@
       @close="handleClose"
     >
       <el-button
+        v-waves
         type="primary"
         style="margin-bottom: 10px;"
         icon="el-icon-circle-plus-outline"
@@ -149,10 +152,10 @@
         >
           <template slot-scope="{row}">
             <div class="operationClass">
-              <el-button v-if="row.isVisible===1" type="text" @click="saveRow(row)">淇濆瓨</el-button>
-              <el-button v-if="row.isVisible===1" type="text" @click="cancelRow(row)">鍙栨秷</el-button>
-              <!--              <el-button v-if="row.isVisible===0" type="text" @click="editRow(row)">缂栬緫</el-button>-->
-              <el-button v-if="row.isVisible===0" type="text" @click="delRow(row)">鍒犻櫎</el-button>
+              <el-button v-if="row.isVisible===1" v-waves type="text" @click="saveRow(row)">淇濆瓨</el-button>
+              <el-button v-if="row.isVisible===1" v-waves type="text" @click="cancelRow(row)">鍙栨秷</el-button>
+              <!--              <el-button v-waves v-if="row.isVisible===0" type="text" @click="editRow(row)">缂栬緫</el-button>-->
+              <el-button v-if="row.isVisible===0" v-waves type="text" @click="delRow(row)">鍒犻櫎</el-button>
             </div>
           </template>
         </el-table-column>
@@ -160,7 +163,7 @@
 
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">杩� 鍥�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">杩� 鍥�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -222,8 +225,9 @@
 
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleUserCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleUserCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -247,10 +251,11 @@
   DeleteAnDengType
 } from '@/api/jcsz'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mainHeight: 0,
@@ -374,6 +379,10 @@
       })
     },
     async saveRow(row) {
+      console.log(row)
+      if (row.code.toString().trim() === '' || row.name.toString().trim() === '') {
+        return this.$message.info('绫诲瀷缂栫爜鎴栧悕绉颁笉鑳戒负绌猴紒')
+      }
       const res = await AddUpdateAnDengType([row])
       if (res.code === '200') {
         await this.setting()
diff --git a/src/views/jcsz/jsqd.vue b/src/views/jcsz/jsqd.vue
index 48844a5..ea8b5c2 100644
--- a/src/views/jcsz/jsqd.vue
+++ b/src/views/jcsz/jsqd.vue
@@ -3,13 +3,13 @@
     <div class="body" :style="{height:mainHeight+'px'}">
 
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
 
         <div style="display: flex">
           <el-tooltip class="item" effect="dark" content="瑙掕壊绫诲瀷鏁版嵁缁存姢" placement="top">
-            <el-button icon="el-icon-setting" @click="settingButton">璁剧疆</el-button>
+            <el-button v-waves icon="el-icon-setting" @click="settingButton">璁剧疆</el-button>
           </el-tooltip>
-          <el-button icon="el-icon-download" @click="upload">瀵煎叆</el-button>
+          <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>
         </div>
       </div>
 
@@ -53,8 +53,8 @@
             class="bodySearchReset"
             :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
           >
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -265,8 +265,9 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -287,8 +288,8 @@
       @close="handleCloseSetting"
     >
       <div style="margin-bottom: 20px;display: flex">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="addSetting">鏂板</el-button>
-        <!--        <el-button type="primary" icon="el-icon-delete" @click="delSetting">鍒犻櫎</el-button>-->
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="addSetting">鏂板</el-button>
+        <!--        <el-button v-waves type="primary" icon="el-icon-delete" @click="delSetting">鍒犻櫎</el-button>-->
       </div>
       <el-table
         ref="RoleTypeCodeArr"
@@ -342,9 +343,9 @@
         <el-table-column label="鎿嶄綔">
           <template slot-scope="{row}">
             <div class="operationClass">
-              <el-button v-if="row.isVisible===0" type="text" @click="delSetting(row)">鍒犻櫎</el-button>
-              <el-button v-if="row.isVisible===1" type="text" @click="formSettingSave(row)">淇濆瓨</el-button>
-              <el-button v-if="row.isVisible===1" type="text" @click="formSettingCancel(row)">鍙栨秷</el-button>
+              <el-button v-if="row.isVisible===0" v-waves type="text" @click="delSetting(row)">鍒犻櫎</el-button>
+              <el-button v-if="row.isVisible===1" v-waves type="text" @click="formSettingSave(row)">淇濆瓨</el-button>
+              <el-button v-if="row.isVisible===1" v-waves type="text" @click="formSettingCancel(row)">鍙栨秷</el-button>
             </div>
           </template>
         </el-table-column>
@@ -362,8 +363,8 @@
       />
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="settingDialogVisibleCancel">杩斿洖</el-button>
-          <!--          <el-button type="primary" @click="settingDialogVisibleConfirm">纭� 瀹�</el-button>-->
+          <el-button v-waves @click="settingDialogVisibleCancel">杩斿洖</el-button>
+          <!--          <el-button v-waves type="primary" @click="settingDialogVisibleConfirm">纭� 瀹�</el-button>-->
         </div>
       </span>
     </el-dialog>
@@ -434,6 +435,7 @@
           </el-form-item>
         </el-form>
         <el-button
+          v-waves
           type="primary"
           icon="el-icon-search"
           style="margin-top: 5px;margin-left: 30px"
@@ -441,6 +443,7 @@
         >鏌ヨ
         </el-button>
         <el-button
+          v-waves
           type="info"
           icon="el-icon-refresh"
           style="margin-top: 5px;margin-left: 10px"
@@ -524,8 +527,9 @@
 
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="userDialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="userDialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -624,8 +628,9 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="rightDialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="rightDialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -662,13 +667,14 @@
 import $ from 'jquery'
 import clearAllChildren, { validateCode } from '@/utils/global'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'JSQD',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       isIpad: false,
@@ -993,6 +999,10 @@
     },
     // 娣诲姞鎸夐挳
     addSetting() {
+      if (this.RoleTypeCodeArr.find(i => i.isVisible === 1)) {
+        return this.$message.info('璇峰厛淇濆瓨涓婁竴琛岃褰曪紒')
+      }
+
       let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
       number = number === 0 ? (10 + Math.random()) : number
       const data = { roletype_code: '', roletype_name: '', isVisible: 1, number: number }
diff --git a/src/views/jcsz/wldw.vue b/src/views/jcsz/wldw.vue
index fe43054..b0aac3f 100644
--- a/src/views/jcsz/wldw.vue
+++ b/src/views/jcsz/wldw.vue
@@ -3,14 +3,15 @@
     <div class="body" :style="{height:mainHeight+'px'}">
 
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
         <div style="display: flex">
           <el-button
+            v-waves
             icon="el-icon-refresh-right"
             @click="syncSeaveSearchPartner"
           >鍚屾寰�鏉ュ崟浣�
           </el-button>
-          <el-button icon="el-icon-download" @click="upload">瀵煎叆</el-button>
+          <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>
         </div>
       </div>
 
@@ -53,8 +54,8 @@
             class="bodySearchReset"
             :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
           >
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -257,8 +258,9 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -283,12 +285,13 @@
 import ImportPicker from '@/components/ImportPicker'
 import { validateCode } from '@/utils/global'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 export default {
   name: 'WLDW',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     const validateMobile = (rule, value, callback) => {
       if (!value) {
diff --git a/src/views/jcsz/yhqd.vue b/src/views/jcsz/yhqd.vue
index d7c7a50..141ce53 100644
--- a/src/views/jcsz/yhqd.vue
+++ b/src/views/jcsz/yhqd.vue
@@ -3,11 +3,11 @@
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
 
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
 
         <div style="display: flex">
-          <el-button icon="el-icon-menu" @click="workingTramClick">鐢熶骇鐝粍</el-button>
-          <el-button icon="el-icon-download" @click="upload">瀵煎叆</el-button>
+          <el-button v-waves icon="el-icon-menu" @click="workingTramClick">鐢熶骇鐝粍</el-button>
+          <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>
         </div>
       </div>
 
@@ -75,8 +75,8 @@
             class="bodySearchReset"
             :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
           >
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -413,8 +413,9 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -500,8 +501,9 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="rolesDialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="rolesDialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -528,7 +530,7 @@
       <!--      </div>-->
 
       <div style="margin-bottom: 20px;display: flex">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="addWorking">鏂板</el-button>
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="addWorking">鏂板</el-button>
         <!--        <el-button type="primary" icon="el-icon-delete" @click="delSetting">鍒犻櫎</el-button>-->
       </div>
       <el-table
@@ -594,9 +596,9 @@
         <el-table-column label="鎿嶄綔">
           <template slot-scope="{row}">
             <div class="operationClass">
-              <el-button v-if="row.isVisible===0" type="text" @click="delWorking(row)">鍒犻櫎</el-button>
-              <el-button v-if="row.isVisible===1" type="text" @click="saveWorking(row)">淇濆瓨</el-button>
-              <el-button v-if="row.isVisible===1" type="text" @click="cancelWorking(row)">鍙栨秷</el-button>
+              <el-button v-if="row.isVisible===0" v-waves type="text" @click="delWorking(row)">鍒犻櫎</el-button>
+              <el-button v-if="row.isVisible===1" v-waves type="text" @click="saveWorking(row)">淇濆瓨</el-button>
+              <el-button v-if="row.isVisible===1" v-waves type="text" @click="cancelWorking(row)">鍙栨秷</el-button>
             </div>
           </template>
         </el-table-column>
@@ -614,7 +616,7 @@
       />
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="WorkingDialogVisibleCancel">杩斿洖</el-button>
+          <el-button v-waves @click="WorkingDialogVisibleCancel">杩斿洖</el-button>
           <!--          <el-button type="primary" @click="settingDialogVisibleConfirm">纭� 瀹�</el-button>-->
         </div>
       </span>
@@ -636,6 +638,7 @@
 <script>
 import Pagination from '@/components/Pagination'
 import ImportPicker from '@/components/ImportPicker'
+import waves from '@/directive/waves/index.js' // 姘存尝绾规寚浠�
 
 import {
   AddUpdateUser,
@@ -660,7 +663,7 @@
   components: {
     Pagination, ImportPicker, TableColumnSettings
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     const validateMobile = (rule, value, callback) => {
       if (!value) {
@@ -1444,6 +1447,10 @@
     },
     // 鏂板
     addWorking() {
+      if (this.workingTableData.find(i => i.isVisible === 1)) {
+        return this.$message.info('璇峰厛淇濆瓨涓婁竴琛岃褰曪紒')
+      }
+
       let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
       number = number === 0 ? (10 + Math.random()) : number
       const data = { group_code: '', group_name: '', description: '', isVisible: 1, number: number }
diff --git a/src/views/jcsz/zzjg.vue b/src/views/jcsz/zzjg.vue
index 19a2125..30b74ed 100644
--- a/src/views/jcsz/zzjg.vue
+++ b/src/views/jcsz/zzjg.vue
@@ -3,7 +3,7 @@
     <div class="body" :style="{height:mainHeight+'px'}">
 
       <div class="bodyTopButtonGroup">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
       </div>
       <div class="bodyTopFormGroup">
         <el-form
@@ -44,8 +44,8 @@
             class="bodySearchReset"
             :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
           >
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -240,8 +240,9 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -260,6 +261,7 @@
 import { validateCode } from '@/utils/global'
 import TableColumnSettings from '@/components/TableColumnSettings'
 import elDragDialog from '@/directive/el-drag-dialog' // base on element-ui
+import waves from '@/directive/waves/index.js' // 姘存尝绾规寚浠�
 
 // const SER_HZ = /^[\u4e00-\u9fa5]+$/
 // const SER_HZ = /^[a-zA-Z0-9_;,.<>() ]{0,}$/
@@ -268,7 +270,7 @@
   components: {
     Pagination, TableColumnSettings
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     // const validateName = (rule, value, callback) => {
     //   if (!value) {
diff --git a/src/views/sbgl/bybw.vue b/src/views/sbgl/bybw.vue
index d192bf5..1771e6a 100644
--- a/src/views/sbgl/bybw.vue
+++ b/src/views/sbgl/bybw.vue
@@ -2,8 +2,8 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
-        <el-button icon="el-icon-download" @click="upload">瀵煎叆</el-button>
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -37,8 +37,8 @@
 
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -194,8 +194,9 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -218,13 +219,14 @@
 import ImportPicker from '@/components/ImportPicker'
 import { validateCode } from '@/utils/global'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/sbgl/bybz.vue b/src/views/sbgl/bybz.vue
index c0df70a..44c67cd 100644
--- a/src/views/sbgl/bybz.vue
+++ b/src/views/sbgl/bybz.vue
@@ -2,8 +2,8 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
-        <el-button icon="el-icon-download" @click="upload">瀵煎叆</el-button>
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -29,8 +29,8 @@
             class="bodySearchReset"
             :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
           >
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -202,7 +202,7 @@
         <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" style="margin: -20px 10px 20px 0" />璁惧鍏宠仈淇濆吇椤逛俊鎭細
       </div>
       <div style="margin-bottom:10px">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="addRow">鏂板</el-button>
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="addRow">鏂板</el-button>
       </div>
       <div class="elTableDiv">
         <el-table
@@ -304,11 +304,11 @@
           >
             <template slot-scope="{row}">
               <div class="operationClass">
-                <el-button v-if="row.isVisible===0" type="text" @click="editRow(row)">缂栬緫</el-button>
-                <el-button v-if="row.isVisible===0" type="text" @click="delRow(row)">鍒犻櫎</el-button>
+                <el-button v-if="row.isVisible===0" v-waves type="text" @click="editRow(row)">缂栬緫</el-button>
+                <el-button v-if="row.isVisible===0" v-waves type="text" @click="delRow(row)">鍒犻櫎</el-button>
 
-                <el-button v-if="row.isVisible===1" type="text" @click="saveRow(row)">纭</el-button>
-                <el-button v-if="row.isVisible===1" type="text" @click="cancelRow(row)">鍙栨秷</el-button>
+                <el-button v-if="row.isVisible===1" v-waves type="text" @click="saveRow(row)">纭</el-button>
+                <el-button v-if="row.isVisible===1" v-waves type="text" @click="cancelRow(row)">鍙栨秷</el-button>
               </div>
             </template>
           </el-table-column>
@@ -316,8 +316,9 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -403,8 +404,9 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="eqpDialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="eqpDialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -443,13 +445,14 @@
 import $ from 'jquery'
 import { validateCode } from '@/utils/global'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mainHeight: 0,
diff --git a/src/views/sbgl/byjl.vue b/src/views/sbgl/byjl.vue
index 8418869..c38c7e6 100644
--- a/src/views/sbgl/byjl.vue
+++ b/src/views/sbgl/byjl.vue
@@ -2,9 +2,9 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup">
-        <!--        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>-->
-        <!--        <el-button icon="el-icon-download" @click="upload">瀵煎叆</el-button>-->
-        <el-button type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
+        <!--        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>-->
+        <!--        <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>-->
+        <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -63,8 +63,8 @@
             </el-form-item>
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -290,9 +290,9 @@
 
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisible = false">杩� 鍥�</el-button>
-          <!--          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>-->
-          <!--          <el-button type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
+          <el-button v-waves @click="dialogVisible = false">杩� 鍥�</el-button>
+          <!--          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>-->
+          <!--          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
         </div>
       </span>
     </el-dialog>
@@ -320,13 +320,14 @@
 } from '@/api/sbgl'
 import { ShopSearch } from '@/api/dzkb'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/sbgl/djbw.vue b/src/views/sbgl/djbw.vue
index 66ed8c8..7c54e30 100644
--- a/src/views/sbgl/djbw.vue
+++ b/src/views/sbgl/djbw.vue
@@ -2,8 +2,8 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
-        <el-button icon="el-icon-download" @click="upload">瀵煎叆</el-button>
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -49,8 +49,8 @@
             class="bodySearchReset"
             :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
           >
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -246,8 +246,9 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -276,13 +277,14 @@
 import ImportPicker from '@/components/ImportPicker'
 import { validateCode } from '@/utils/global'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/sbgl/djbz.vue b/src/views/sbgl/djbz.vue
index b425029..1112151 100644
--- a/src/views/sbgl/djbz.vue
+++ b/src/views/sbgl/djbz.vue
@@ -2,8 +2,8 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
-        <el-button icon="el-icon-download" @click="upload">瀵煎叆</el-button>
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -36,8 +36,8 @@
             class="bodySearchReset"
             :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
           >
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
 
@@ -224,7 +224,7 @@
         <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" style="margin: -20px 10px 20px 0" />璁惧鍏宠仈鐐规椤逛俊鎭細
       </div>
       <div style="margin-bottom:10px">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="addRow">鏂板</el-button>
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="addRow">鏂板</el-button>
       </div>
       <div class="elTableDiv">
         <el-table
@@ -347,11 +347,11 @@
           >
             <template slot-scope="{row}">
               <div class="operationClass">
-                <el-button v-if="row.isVisible===0" type="text" @click="editRow(row)">缂栬緫</el-button>
-                <el-button v-if="row.isVisible===0" type="text" @click="delRow(row)">鍒犻櫎</el-button>
+                <el-button v-if="row.isVisible===0" v-waves type="text" @click="editRow(row)">缂栬緫</el-button>
+                <el-button v-if="row.isVisible===0" v-waves type="text" @click="delRow(row)">鍒犻櫎</el-button>
 
-                <el-button v-if="row.isVisible===1" type="text" @click="saveRow(row)">纭</el-button>
-                <el-button v-if="row.isVisible===1" type="text" @click="cancelRow(row)">鍙栨秷</el-button>
+                <el-button v-if="row.isVisible===1" v-waves type="text" @click="saveRow(row)">纭</el-button>
+                <el-button v-if="row.isVisible===1" v-waves type="text" @click="cancelRow(row)">鍙栨秷</el-button>
               </div>
             </template>
           </el-table-column>
@@ -359,8 +359,9 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -447,8 +448,9 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="eqpDialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="eqpDialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -485,13 +487,14 @@
 import $ from 'jquery'
 import { validateCode } from '@/utils/global'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mainHeight: 0,
diff --git a/src/views/sbgl/djjl.vue b/src/views/sbgl/djjl.vue
index ec80da4..df129f1 100644
--- a/src/views/sbgl/djjl.vue
+++ b/src/views/sbgl/djjl.vue
@@ -2,9 +2,9 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup">
-        <!--        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>-->
-        <!--        <el-button icon="el-icon-download" @click="upload">瀵煎叆</el-button>-->
-        <el-button type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
+        <!--        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>-->
+        <!--        <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>-->
+        <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -63,8 +63,8 @@
             <!--            </el-form-item>-->
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -288,9 +288,9 @@
 
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisible = false">杩� 鍥�</el-button>
-          <!--          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>-->
-          <!--          <el-button type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
+          <el-button v-waves @click="dialogVisible = false">杩� 鍥�</el-button>
+          <!--          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>-->
+          <!--          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
         </div>
       </span>
     </el-dialog>
@@ -317,13 +317,14 @@
 import { DeviceCheckSubTakeSearch, DeviceCheckTakeOutExcel, DeviceCheckTakeSearch } from '@/api/sbgl'
 import { ShopSearch } from '@/api/dzkb'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/sbgl/sbqd.vue b/src/views/sbgl/sbqd.vue
index 79c7cfd..26ed24b 100644
--- a/src/views/sbgl/sbqd.vue
+++ b/src/views/sbgl/sbqd.vue
@@ -3,15 +3,15 @@
     <div class="body" :style="{height:mainHeight+'px'}">
 
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
         <div style="display: flex">
-          <el-button icon="el-icon-c-scale-to-original" @click="deviceTypeButton">璁惧绫诲瀷</el-button>
-          <el-button icon="el-icon-document-copy" @click="deviceGroupButton">璁惧缁�</el-button>
-          <el-button icon="el-icon-download" @click="upload">瀵煎叆</el-button>
+          <el-button v-waves icon="el-icon-c-scale-to-original" @click="deviceTypeButton">璁惧绫诲瀷</el-button>
+          <el-button v-waves icon="el-icon-document-copy" @click="deviceGroupButton">璁惧缁�</el-button>
+          <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>
 
         </div>
 
-        <!--        <el-button type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
+        <!--        <el-button v-waves type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
       </div>
 
       <div class="bodyTopFormGroup">
@@ -102,8 +102,8 @@
             class="bodySearchReset"
             :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
           >
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -394,8 +394,9 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -417,8 +418,8 @@
       @close="handleCloseDeviceType"
     >
       <div style="margin-bottom: 20px;display: flex">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="addDeviceType">鏂板</el-button>
-        <!--        <el-button type="primary" icon="el-icon-delete" @click="delSetting">鍒犻櫎</el-button>-->
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="addDeviceType">鏂板</el-button>
+        <!--        <el-button v-waves type="primary" icon="el-icon-delete" @click="delSetting">鍒犻櫎</el-button>-->
       </div>
       <el-table
         ref="DeviceTypeArray"
@@ -478,9 +479,9 @@
         <el-table-column label="鎿嶄綔">
           <template slot-scope="{row}">
             <div class="operationClass">
-              <el-button v-if="row.isVisible===0" type="text" @click="DeviceTypeDel(row)">鍒犻櫎</el-button>
-              <el-button v-if="row.isVisible===1" type="text" @click="DeviceTypeSave(row)">淇濆瓨</el-button>
-              <el-button v-if="row.isVisible===1" type="text" @click="DeviceTypeCancel(row)">鍙栨秷</el-button>
+              <el-button v-if="row.isVisible===0" v-waves type="text" @click="DeviceTypeDel(row)">鍒犻櫎</el-button>
+              <el-button v-if="row.isVisible===1" v-waves type="text" @click="DeviceTypeSave(row)">淇濆瓨</el-button>
+              <el-button v-if="row.isVisible===1" v-waves type="text" @click="DeviceTypeCancel(row)">鍙栨秷</el-button>
             </div>
           </template>
         </el-table-column>
@@ -498,8 +499,8 @@
       />
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="DeviceTypeDialogVisibleCancel">杩斿洖</el-button>
-          <!--          <el-button type="primary" @click="settingDialogVisibleConfirm">纭� 瀹�</el-button>-->
+          <el-button v-waves @click="DeviceTypeDialogVisibleCancel">杩斿洖</el-button>
+          <!--          <el-button v-waves type="primary" @click="settingDialogVisibleConfirm">纭� 瀹�</el-button>-->
         </div>
       </span>
     </el-dialog>
@@ -517,7 +518,7 @@
       @close="handleCloseDeviceGroup"
     >
       <div style="margin-bottom: 20px;display: flex">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="addDeviceGroup">鏂板</el-button>
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="addDeviceGroup">鏂板</el-button>
       </div>
       <el-table
         ref="DeviceGroupArray"
@@ -601,9 +602,9 @@
         <el-table-column label="鎿嶄綔">
           <template slot-scope="{row}">
             <div class="operationClass">
-              <el-button v-if="row.isVisible===0" type="text" @click="DeviceGroupDel(row)">鍒犻櫎</el-button>
-              <el-button v-if="row.isVisible===1" type="text" @click="DeviceGroupSave(row)">淇濆瓨</el-button>
-              <el-button v-if="row.isVisible===1" type="text" @click="DeviceGroupCancel(row)">鍙栨秷</el-button>
+              <el-button v-if="row.isVisible===0" v-waves type="text" @click="DeviceGroupDel(row)">鍒犻櫎</el-button>
+              <el-button v-if="row.isVisible===1" v-waves type="text" @click="DeviceGroupSave(row)">淇濆瓨</el-button>
+              <el-button v-if="row.isVisible===1" v-waves type="text" @click="DeviceGroupCancel(row)">鍙栨秷</el-button>
             </div>
           </template>
         </el-table-column>
@@ -621,8 +622,8 @@
       />
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="DeviceGroupDialogVisibleCancel">杩斿洖</el-button>
-          <!--          <el-button type="primary" @click="settingDialogVisibleConfirm">纭� 瀹�</el-button>-->
+          <el-button v-waves @click="DeviceGroupDialogVisibleCancel">杩斿洖</el-button>
+          <!--          <el-button v-waves type="primary" @click="settingDialogVisibleConfirm">纭� 瀹�</el-button>-->
         </div>
       </span>
     </el-dialog>
@@ -655,13 +656,14 @@
 import { handleDatetime, validateCode } from '@/utils/global'
 import ImportPicker from '@/components/ImportPicker'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'SBQD',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
@@ -1000,6 +1002,10 @@
     },
     // 鏂板鎸夐挳
     addDeviceType() {
+      if (this.DeviceTypeArray.find(i => i.isVisible === 1)) {
+        return this.$message.info('璇峰厛淇濆瓨涓婁竴鏉¤褰曪紒')
+      }
+
       let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
       number = number === 0 ? (10 + Math.random()) : number
       this.DeviceTypeArray.unshift({ code: '', name: '', group: '', remark: '', isVisible: 1, number: number })
@@ -1083,6 +1089,9 @@
     },
     // 鏂板
     addDeviceGroup() {
+      if (this.DeviceGroupArray.find(i => i.isVisible === 1)) {
+        return this.$message.info('璇峰厛淇濆瓨涓婁竴鏉¤褰曪紒')
+      }
       let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
       number = number === 0 ? (10 + Math.random()) : number
       this.DeviceGroupArray.unshift({
diff --git a/src/views/sbgl/wxjl.vue b/src/views/sbgl/wxjl.vue
index 7fd9429..2d549ea 100644
--- a/src/views/sbgl/wxjl.vue
+++ b/src/views/sbgl/wxjl.vue
@@ -2,7 +2,7 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
-        <el-button type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
+        <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -84,8 +84,8 @@
             </el-form-item>
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -369,15 +369,15 @@
         </el-tooltip>
         <span slot="footer" class="dialog-footer">
           <div class="footerButton">
-            <el-button @click="pictureVisible=false">杩� 鍥�</el-button>
+            <el-button v-waves @click="pictureVisible=false">杩� 鍥�</el-button>
           </div>
         </span>
       </el-dialog>
 
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">杩� 鍥�</el-button>
-          <!--          <el-button type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
+          <el-button v-waves @click="dialogVisibleCancel">杩� 鍥�</el-button>
+          <!--          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
         </div>
       </span>
     </el-dialog>
@@ -402,13 +402,14 @@
 import { DeviceUpdateOutExcel, DeviceUpdateSearch, DeviceUpdateSubSearch } from '@/api/sbgl'
 import { ShopSearch } from '@/api/dzkb'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/scgl/cngh.vue b/src/views/scgl/cngh.vue
index 790feb4..fbf5e7b 100644
--- a/src/views/scgl/cngh.vue
+++ b/src/views/scgl/cngh.vue
@@ -2,7 +2,7 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
-        <el-button type="primary" icon="el-icon-setting" @click="setting('setting')">璁剧疆</el-button>
+        <el-button v-waves type="primary" icon="el-icon-setting" @click="setting('setting')">璁剧疆</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -57,8 +57,8 @@
 
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -114,6 +114,7 @@
                   readonly
                 />
                 <el-button
+
                   type="primary"
                   style="padding: 0 10px;margin-left: 5px"
                   class="el-icon-search"
@@ -198,7 +199,7 @@
       @closed="handleClose"
       @close="handleClose"
     >
-      <el-button v-if="operation==='setting'" type="primary" @click="addRow">鏂板</el-button>
+      <el-button v-if="operation==='setting'" v-waves type="primary" @click="addRow">鏂板</el-button>
       <div class="elTableDiv">
         <!--        閫夋嫨榛樿鏂规鐨勬椂鍊欐槸杩欎釜table-->
         <el-table
@@ -392,9 +393,9 @@
           >
             <template slot-scope="{row}">
               <div class="operationClass">
-                <el-button v-if="row.isVisible===0" type="text" @click="delRow(row)">鍒犻櫎</el-button>
-                <el-button v-if="row.isVisible===1" type="text" @click="saveRow(row)">淇濆瓨</el-button>
-                <el-button v-if="row.isVisible===1" type="text" @click="cancelRow(row)">鍙栨秷</el-button>
+                <el-button v-if="row.isVisible===0" v-waves type="text" @click="delRow(row)">鍒犻櫎</el-button>
+                <el-button v-if="row.isVisible===1" v-waves type="text" @click="saveRow(row)">淇濆瓨</el-button>
+                <el-button v-if="row.isVisible===1" v-waves type="text" @click="cancelRow(row)">鍙栨秷</el-button>
               </div>
             </template>
           </el-table-column>
@@ -581,9 +582,9 @@
           >
             <template slot-scope="{row}">
               <div class="operationClass">
-                <el-button v-if="row.isVisible===0" type="text" @click="delRow(row)">鍒犻櫎</el-button>
-                <el-button v-if="row.isVisible===1" type="text" @click="saveRow(row)">淇濆瓨</el-button>
-                <el-button v-if="row.isVisible===1" type="text" @click="cancelRow(row)">鍙栨秷</el-button>
+                <el-button v-if="row.isVisible===0" v-waves type="text" @click="delRow(row)">鍒犻櫎</el-button>
+                <el-button v-if="row.isVisible===1" v-waves type="text" @click="saveRow(row)">淇濆瓨</el-button>
+                <el-button v-if="row.isVisible===1" v-waves type="text" @click="cancelRow(row)">鍙栨秷</el-button>
               </div>
             </template>
           </el-table-column>
@@ -591,9 +592,10 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">杩� 鍥�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">杩� 鍥�</el-button>
           <el-button
             v-if="operation!=='setting'"
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -618,13 +620,14 @@
 import { handleDatetime3 } from '@/utils/global'
 import { WhkspIsEqpSearch } from '@/api/jcsz'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
   components: {
     Pagination, DatePicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/scgl/gd.vue b/src/views/scgl/gd.vue
index 2e14078..5fb73da 100644
--- a/src/views/scgl/gd.vue
+++ b/src/views/scgl/gd.vue
@@ -4,11 +4,11 @@
 
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
         <div style="display: flex">
-          <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
-          <el-button type="primary" icon="el-icon-connection" @click="send('send')">娲惧彂</el-button>
+          <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+          <el-button v-waves type="primary" icon="el-icon-connection" @click="send('send')">娲惧彂</el-button>
         </div>
 
-        <el-button icon="el-icon-switch-button" @click="orderClose">鍏抽棴宸ュ崟</el-button>
+        <el-button v-waves icon="el-icon-switch-button" @click="orderClose">鍏抽棴宸ュ崟</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -94,8 +94,8 @@
           </div>
 
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
 
         </el-form>
@@ -524,6 +524,7 @@
               />
             </el-form-item>
             <el-button
+              v-waves
               type="primary"
               style="padding: 0 10px;margin-left: -8px;margin-top: 3px"
               class="el-icon-search"
@@ -592,6 +593,7 @@
               </el-select>
             </el-form-item>
             <el-button
+              v-waves
               type="primary"
               style="padding: 0 10px;margin-left: -8px;margin-top:3px"
               class="el-icon-search"
@@ -739,9 +741,10 @@
 
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
-          <!--          <el-button v-if="operation==='add'" type="primary" @click="dialogVisibleConfirmPreview('add')">棰勮</el-button>-->
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <!--          <el-button v-waves v-if="operation==='add'" type="primary" @click="dialogVisibleConfirmPreview('add')">棰勮</el-button>-->
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -763,6 +766,7 @@
       @close="dialogVisibleTaskClose"
     >
       <el-button
+        v-waves
         style="margin-bottom: 15px"
         type="primary"
         @click="supplementClick"
@@ -833,15 +837,15 @@
           fixed="right"
         >
           <template slot-scope="{row}">
-            <el-button type="text" style="padding: 0;" @click="supplementSmallClick(row)">琛ユ墦</el-button>
+            <el-button v-waves type="text" style="padding: 0;" @click="supplementSmallClick(row)">琛ユ墦</el-button>
           </template>
         </el-table-column>
       </el-table>
 
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleBack">杩� 鍥�</el-button>
-          <!--          <el-button type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
+          <el-button v-waves @click="dialogVisibleBack">杩� 鍥�</el-button>
+          <!--          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
         </div>
       </span>
     </el-dialog>
@@ -938,8 +942,8 @@
           </div>
 
           <div style="display: flex;align-items: start;margin-top: 3px;z-index: 2;justify-content: end">
-            <el-button type="primary" icon="el-icon-search" @click="sourceSearch">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="sourceReset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="sourceSearch">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="sourceReset">閲嶇疆</el-button>
           </div>
 
         </el-form>
@@ -1127,7 +1131,7 @@
           <!--            <template slot-scope="{row}">-->
           <!--              <div class="operationClass">-->
           <!--                <el-tooltip class="item" effect="dark" content="涓嬭揪" placement="top">-->
-          <!--                  &lt;!&ndash;                <el-button type="text" @click="edit('edit',row)">涓嬭揪</el-button>&ndash;&gt;-->
+          <!--                  &lt;!&ndash;                <el-button v-waves type="text" @click="edit('edit',row)">涓嬭揪</el-button>&ndash;&gt;-->
           <!--                  <i-->
           <!--                    class="el-icon-bottom"-->
           <!--                    style="color:#42b983;cursor: pointer;margin-left: 5px"-->
@@ -1151,8 +1155,8 @@
       />
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleSourceBack">杩� 鍥�</el-button>
-          <el-button type="primary" @click="dialogVisibleSourceConfirm">纭� 瀹�</el-button>
+          <el-button v-waves @click="dialogVisibleSourceBack">杩� 鍥�</el-button>
+          <el-button v-waves type="primary" @click="dialogVisibleSourceConfirm">纭� 瀹�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -1295,10 +1299,10 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleBackPreview">杩� 鍥�</el-button>
-          <!--            <el-button v-if="operation==='add'" type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
-          <!--            <el-button type="primary" @click="dialogVisibleConfirm">纭� 瀹�/鎵� 鍗�</el-button>-->
-          <el-button v-print="printObj" type="primary">鎵� 鍗�</el-button>
+          <el-button v-waves @click="dialogVisibleBackPreview">杩� 鍥�</el-button>
+          <!--            <el-button v-waves v-if="operation==='add'" type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
+          <!--            <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�/鎵� 鍗�</el-button>-->
+          <el-button v-waves v-print="printObj" type="primary">鎵� 鍗�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -1523,8 +1527,8 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisible2 = false">鍙� 娑�</el-button>
-          <el-button v-print="printObj2" type="primary">鎵� 鍗�</el-button>
+          <el-button v-waves @click="dialogVisible2 = false">鍙� 娑�</el-button>
+          <el-button v-waves v-print="printObj2" type="primary">鎵� 鍗�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -1642,8 +1646,8 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="routeDialogVisibleCancel">鍙� 娑�</el-button>
-          <el-button type="primary" @click="routeDialogVisibleConfirm">纭� 瀹�</el-button>
+          <el-button v-waves @click="routeDialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves type="primary" @click="routeDialogVisibleConfirm">纭� 瀹�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -1668,13 +1672,14 @@
 import QRCode from 'qrcodejs2'
 import $ from 'jquery'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'GD',
   components: {
     Pagination
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/scgl/gdplgb.vue b/src/views/scgl/gdplgb.vue
index fffb605..cf08a4e 100644
--- a/src/views/scgl/gdplgb.vue
+++ b/src/views/scgl/gdplgb.vue
@@ -2,8 +2,8 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
-        <el-button icon="el-icon-switch-button" @click="handleClose('close')">鎵归噺鍏冲崟</el-button>
-        <el-button icon="el-icon-switch-button" @click="handleClose('noClose')">鎵归噺鍙嶅叧鍗�</el-button>
+        <el-button v-waves icon="el-icon-switch-button" @click="handleClose('close')">鎵归噺鍏冲崟</el-button>
+        <el-button v-waves icon="el-icon-switch-button" @click="handleClose('noClose')">鎵归噺鍙嶅叧鍗�</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -51,8 +51,8 @@
             </el-form-item>
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -367,17 +367,16 @@
 
 <script>
 import Pagination from '@/components/Pagination'
-import { AddUpdateOrganization, DeleteOrganization, OrganizationSearch, PrentOrganization } from '@/api/jcsz'
-import { getCookie } from '@/utils/auth'
 import ImportPicker from '@/components/ImportPicker'
-import { validateCode } from '@/utils/global'
 import { MesOrderBitchAntiClosedSeave, MesOrderBitchClosedSearch, MesOrderBitchClosedSeave } from '@/api/scgl'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
   components: {
     Pagination, ImportPicker
   },
+  directives: { waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/scgl/scdd.vue b/src/views/scgl/scdd.vue
index 3dc6dd9..a54b462 100644
--- a/src/views/scgl/scdd.vue
+++ b/src/views/scgl/scdd.vue
@@ -4,11 +4,13 @@
 
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
         <el-button
+          v-waves
           icon="el-icon-refresh-right"
           @click="syncERP"
         >鍚屾ERP
         </el-button>
         <el-button
+          v-waves
           icon="el-icon-switch-button"
           @click="orderClose"
         >鍏抽棴璁㈠崟
@@ -110,8 +112,8 @@
             class="bodySearchReset"
             :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
           >
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
 
         </el-form>
@@ -314,7 +316,7 @@
             <template slot-scope="{row}">
               <div class="operationClass">
                 <el-tooltip class="item" effect="dark" content="涓嬭揪" placement="top">
-                  <!--                <el-button type="text" @click="edit('edit',row)">涓嬭揪</el-button>-->
+                  <!--                <el-button v-waves type="text" @click="edit('edit',row)">涓嬭揪</el-button>-->
                   <i
                     class="el-icon-bottom"
                     :style="{color:$store.state.settings.theme}"
@@ -427,8 +429,9 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -446,6 +449,7 @@
 import { handleDatetime } from '@/utils/global'
 import { SeaveSearchErpOrder } from '@/api/ErpSyncMes'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 const SER_HZ = /^[\u4e00-\u9fa5]+$/
 export default {
@@ -453,7 +457,7 @@
   components: {
     Pagination
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     const validateName = (rule, value, callback) => {
       if (!value) {
diff --git a/src/views/scgl/sckbg.vue b/src/views/scgl/sckbg.vue
index 03efcd9..027cbb0 100644
--- a/src/views/scgl/sckbg.vue
+++ b/src/views/scgl/sckbg.vue
@@ -18,11 +18,11 @@
 
             </div>
             <div v-if="false" style="display: flex;padding-right: 10px">
-              <el-button @click="ZZstart">
+              <el-button v-waves @click="ZZstart">
                 <svg-icon icon-class="start_time" style="margin-right: 2px" />
                 寮�濮�
               </el-button>
-              <el-button @click="ZZreport">
+              <el-button v-waves @click="ZZreport">
                 <svg-icon icon-class="report_work" style="margin-right: 2px" />
                 鎶ュ伐
               </el-button>
@@ -174,8 +174,8 @@
               <!--              >-->
               <!--                <template slot-scope="{row}">-->
               <!--                  <div class="operationClass">-->
-              <!--                    <el-button type="text" @click="edit('edit',row)">缂栬緫</el-button>-->
-              <!--                    <el-button type="text" @click="del(row)">鍒犻櫎</el-button>-->
+              <!--                    <el-button v-waves type="text" @click="edit('edit',row)">缂栬緫</el-button>-->
+              <!--                    <el-button v-waves type="text" @click="del(row)">鍒犻櫎</el-button>-->
               <!--                  </div>-->
               <!--                </template>-->
               <!--              </el-table-column>-->
@@ -220,11 +220,11 @@
 
             </div>
             <div v-if="false" style="display: flex;padding-right: 10px">
-              <el-button @click="WXsend">
+              <el-button v-waves @click="WXsend">
                 <svg-icon icon-class="start_time" style="margin-right: 2px" />
                 鍙戞枡
               </el-button>
-              <el-button @click="WXback">
+              <el-button v-waves @click="WXback">
                 <svg-icon icon-class="report_work" style="margin-right: 2px" />
                 鏀舵枡
               </el-button>
@@ -374,8 +374,8 @@
               <!--              >-->
               <!--                <template slot-scope="{row}">-->
               <!--                  <div class="operationClass">-->
-              <!--                    <el-button type="text" @click="edit('edit',row)">缂栬緫</el-button>-->
-              <!--                    <el-button type="text" @click="del(row)">鍒犻櫎</el-button>-->
+              <!--                    <el-button v-waves type="text" @click="edit('edit',row)">缂栬緫</el-button>-->
+              <!--                    <el-button v-waves type="text" @click="del(row)">鍒犻櫎</el-button>-->
               <!--                  </div>-->
               <!--                </template>-->
               <!--              </el-table-column>-->
@@ -492,7 +492,7 @@
               >
                 <template slot-scope="{row}">
                   <div class="operationClass">
-                    <el-button type="text" @click="repairHandle(row)">缁翠慨澶勭悊</el-button>
+                    <el-button v-waves type="text" @click="repairHandle(row)">缁翠慨澶勭悊</el-button>
                   </div>
                 </template>
               </el-table-column>
@@ -668,7 +668,7 @@
         </el-form-item>
         <div v-if="dialogTitle==='鑷埗鎶ュ伐'">
           <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" /> 浜哄憳鍒楄〃
-          <el-button type="primary" style="margin: 10px 0" @click="userAdd">澧炶</el-button>
+          <el-button v-waves type="primary" style="margin: 10px 0" @click="userAdd">澧炶</el-button>
           <el-table
             ref="userTableDataRef"
             :data="userTableData"
@@ -717,9 +717,9 @@
             >
               <template slot-scope="{row}">
                 <div class="operationClass">
-                  <el-button v-if="row.isVisible===0" type="text" @click="userDel(row)">鍒犻櫎</el-button>
-                  <el-button v-if="row.isVisible===1&&!userIsSave" type="text" @click="userSave(row)">淇濆瓨</el-button>
-                  <el-button v-if="row.isVisible===1" type="text" @click="userCancel(row)">鍙栨秷</el-button>
+                  <el-button v-if="row.isVisible===0" v-waves type="text" @click="userDel(row)">鍒犻櫎</el-button>
+                  <el-button v-if="row.isVisible===1&&!userIsSave" v-waves type="text" @click="userSave(row)">淇濆瓨</el-button>
+                  <el-button v-if="row.isVisible===1" v-waves type="text" @click="userCancel(row)">鍙栨秷</el-button>
                 </div>
               </template>
             </el-table-column>
@@ -887,9 +887,10 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
             v-if="dialogTitle==='鑷埗寮�濮�'"
+            v-waves
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
             type="primary"
@@ -897,6 +898,7 @@
           >寮� 宸�</el-button>
           <el-button
             v-if="dialogTitle==='鑷埗鎶ュ伐'&&dialogForm.nextstepname===''"
+            v-waves
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
             type="primary"
@@ -904,6 +906,7 @@
           >鎻愪氦/鎵撳嵃</el-button>
           <el-button
             v-if="dialogTitle==='鑷埗鎶ュ伐'&&dialogForm.nextstepname!==''"
+            v-waves
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
             type="primary"
@@ -911,6 +914,7 @@
           >鎻愪氦</el-button>
           <el-button
             v-if="dialogTitle==='澶栧崗鍙戞枡'"
+            v-waves
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
             type="primary"
@@ -918,6 +922,7 @@
           >鍙戞枡</el-button>
           <el-button
             v-if="dialogTitle==='澶栧崗鏀舵枡'&&dialogForm.nextstepname===''"
+            v-waves
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
             type="primary"
@@ -925,6 +930,7 @@
           >鏀舵枡/鎵撳嵃</el-button>
           <el-button
             v-if="dialogTitle==='澶栧崗鏀舵枡'&&dialogForm.nextstepname!==''"
+            v-waves
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
             type="primary"
@@ -1005,8 +1011,8 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisible2 = false">鍙� 娑�</el-button>
-          <el-button v-print="printObj2" type="primary">纭� 瀹�</el-button>
+          <el-button v-waves @click="dialogVisible2 = false">鍙� 娑�</el-button>
+          <el-button v-waves v-print="printObj2" type="primary">纭� 瀹�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -1157,11 +1163,11 @@
           >
             <template slot-scope="{row}">
               <div class="operationClass">
-                <el-button v-if="row.isVisible===0" type="text" @click="badEdit(row)">缂栬緫</el-button>
-                <el-button v-if="row.isVisible===0" type="text" @click="badDel(row)">鍒犻櫎</el-button>
+                <el-button v-if="row.isVisible===0" v-waves type="text" @click="badEdit(row)">缂栬緫</el-button>
+                <el-button v-if="row.isVisible===0" v-waves type="text" @click="badDel(row)">鍒犻櫎</el-button>
 
-                <el-button v-if="row.isVisible===1" type="text" @click="badSave(row)">纭</el-button>
-                <el-button v-if="row.isVisible===1" type="text" @click="badCancel(row)">鍙栨秷</el-button>
+                <el-button v-if="row.isVisible===1" v-waves type="text" @click="badSave(row)">纭</el-button>
+                <el-button v-if="row.isVisible===1" v-waves type="text" @click="badCancel(row)">鍙栨秷</el-button>
               </div>
             </template>
           </el-table-column>
@@ -1170,8 +1176,9 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="badDialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="badDialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -1207,6 +1214,7 @@
 import { getCookie } from '@/utils/auth'
 import { handleDatetime2 } from '@/utils/global'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 const SER_HZ = /^[\u4e00-\u9fa5]+$/
 export default {
@@ -1214,7 +1222,7 @@
   components: {
     Pagination
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     const validateName = (rule, value, callback) => {
       if (!value) {
diff --git a/src/views/scgl/zdpc.vue b/src/views/scgl/zdpc.vue
index 9d99497..244fd21 100644
--- a/src/views/scgl/zdpc.vue
+++ b/src/views/scgl/zdpc.vue
@@ -25,8 +25,8 @@
             </el-form-item>
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -237,12 +237,14 @@
             </div>
             <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
               <el-button
+                v-waves
                 type="primary"
                 icon="el-icon-document-remove"
                 @click="click_schedule"
               >棰勬帓
               </el-button>
               <el-button
+                v-waves
                 type="primary"
                 icon="el-icon-document-checked"
                 @click="click_yes"
@@ -295,7 +297,7 @@
                 </div>
                 <div class="speed">
                   <!--                  <el-tooltip class="item" effect="dark" content="鏌ョ湅" placement="top">-->
-                  <!--                    <el-button type="text" size="mini" @click="look(data)">-->
+                  <!--                    <el-button v-waves type="text" size="mini" @click="look(data)">-->
                   <!--                      <i class="el-icon-document size i-color"  />-->
                   <!--                    </el-button>-->
                   <!--                  </el-tooltip>-->
@@ -322,6 +324,7 @@
 import dayjs from 'dayjs'
 import { AdvancedSchedulingSearch, OnclickAdvancedSchedulingDevice, SubmitAlreadyScheduling } from '@/api/scgl'
 import { handleDatetime } from '@/utils/global'
+import waves from '@/directive/waves'
 
 const scaleList = `30,60,240,360`.split(',').map(n => parseInt(n))
 const timeList = `0,30,60,120,240,480`.split(',').map(n => parseInt(n))
@@ -331,6 +334,7 @@
   components: {
     Pagination, Test
   },
+  directives: { waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/template.vue b/src/views/template.vue
index 78efe5d..9951a4b 100644
--- a/src/views/template.vue
+++ b/src/views/template.vue
@@ -2,8 +2,8 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
-        <el-button icon="el-icon-download" @click="upload">瀵煎叆</el-button>
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -50,8 +50,8 @@
             </el-form-item>
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -155,6 +155,7 @@
     </div>
 
     <el-dialog
+      v-el-drag-dialog
       :title="operation==='add'?'鏂板':'缂栬緫'"
       :visible.sync="dialogVisible"
       width="800px"
@@ -188,8 +189,8 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
-          <el-button type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -206,12 +207,15 @@
 import { getCookie } from '@/utils/auth'
 import ImportPicker from '@/components/ImportPicker'
 import { validateCode } from '@/utils/global'
+import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
   components: {
     Pagination, ImportPicker
   },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/wlgl/ckdy.vue b/src/views/wlgl/ckdy.vue
index 15c9ad6..d3642d2 100644
--- a/src/views/wlgl/ckdy.vue
+++ b/src/views/wlgl/ckdy.vue
@@ -3,14 +3,15 @@
     <div class="body" :style="{height:mainHeight+'px'}">
 
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
         <div style="display: flex">
           <el-button
+            v-waves
             icon="el-icon-refresh-right"
             @click="syncSeaveSearchWhareHouseLocation"
           >鍚屾浠撳簱/搴撲綅
           </el-button>
-          <el-button icon="el-icon-download" @click="upload">瀵煎叆</el-button>
+          <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>
         </div>
 
       </div>
@@ -38,8 +39,8 @@
             </el-form-item>
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -159,8 +160,9 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -183,13 +185,14 @@
 import ImportPicker from '@/components/ImportPicker'
 import { validateCode } from '@/utils/global'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'CKDY',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mainHeight: 0,
diff --git a/src/views/wlgl/kwdy.vue b/src/views/wlgl/kwdy.vue
index 846f760..78682f3 100644
--- a/src/views/wlgl/kwdy.vue
+++ b/src/views/wlgl/kwdy.vue
@@ -3,8 +3,8 @@
     <div class="body" :style="{height:mainHeight+'px'}">
 
       <div class="bodyTopButtonGroup">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
-        <!--        <el-button type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <!--        <el-button v-waves type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
       </div>
 
       <div class="bodyTopFormGroup">
@@ -47,8 +47,8 @@
 
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -206,8 +206,9 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -225,13 +226,14 @@
 import { AddUpdateStorageDef, DeleteStorageDef, StorageDefSearch, WareHouseSelect } from '@/api/wlgl'
 import { validateCode } from '@/utils/global'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'KWDY',
   components: {
     Pagination
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/xtsz/bmgz.vue b/src/views/xtsz/bmgz.vue
index ba55899..02a125a 100644
--- a/src/views/xtsz/bmgz.vue
+++ b/src/views/xtsz/bmgz.vue
@@ -29,8 +29,8 @@
             <!--            </el-form-item>-->
           </div>
           <div style="display: flex;align-items: start;margin-top: 5px;z-index: 2">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -39,8 +39,8 @@
       </div>
 
       <div style="margin-left: 10px;display: flex">
-        <!--        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>-->
-        <!--        <el-button type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
+        <!--        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>-->
+        <!--        <el-button v-waves type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
       </div>
       <!--      <el-divider />-->
       <div class="elTableDiv">
@@ -128,8 +128,8 @@
                 <el-tooltip class="item" effect="dark" content="缂栬緫" placement="top">
                   <i class="el-icon-edit-outline" :style="{color:$store.state.settings.theme}" @click="edit('edit',row)" />
                 </el-tooltip>
-                <!--                <el-button type="text" @click="edit('edit',row)">缂栬緫</el-button>-->
-                <!--                <el-button type="text" @click="del(row)">鍒犻櫎</el-button>-->
+                <!--                <el-button v-waves type="text" @click="edit('edit',row)">缂栬緫</el-button>-->
+                <!--                <el-button v-waves type="text" @click="del(row)">鍒犻櫎</el-button>-->
               </div>
             </template>
           </el-table-column>
@@ -195,8 +195,8 @@
 
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
-          <el-button type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -207,6 +207,7 @@
 import Pagination from '@/components/Pagination'
 import { EncodingRules, SaveEncodingRules } from '@/api/xtsz'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 const SER_HZ = /^[\u4e00-\u9fa5]+$/
 export default {
@@ -214,7 +215,7 @@
   components: {
     Pagination
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     const validateName = (rule, value, callback) => {
       if (!value) {
diff --git a/src/views/xtsz/cjgg.vue b/src/views/xtsz/cjgg.vue
index 1541320..3e9a588 100644
--- a/src/views/xtsz/cjgg.vue
+++ b/src/views/xtsz/cjgg.vue
@@ -2,8 +2,8 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
-        <!--        <el-button icon="el-icon-download" @click="upload">瀵煎叆</el-button>-->
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <!--        <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>-->
       </div>
 
       <div class="bodyTopFormGroup">
@@ -53,8 +53,8 @@
             </el-form-item>
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -246,8 +246,9 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -269,13 +270,14 @@
 import { SystemAnnouncementAddUpdate, SystemAnnouncementDelete, SystemAnnouncementSearch } from '@/api/xtsz'
 import { ShopSearch } from '@/api/dzkb'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/zlgl/gxjy.vue b/src/views/zlgl/gxjy.vue
index 7d61a90..1d75f7f 100644
--- a/src/views/zlgl/gxjy.vue
+++ b/src/views/zlgl/gxjy.vue
@@ -166,7 +166,7 @@
           <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" style="margin-right: 5px" />妫�楠岄」淇℃伅
         </div>
         <div>
-          <el-button type="primary" @click="add">鏂板</el-button>
+          <el-button v-waves type="primary" @click="add">鏂板</el-button>
         </div>
         <div style="margin-top: 10px">
           <el-table
@@ -329,9 +329,9 @@
             >
               <template slot-scope="{row}">
                 <div class="operationClass">
-                  <el-button v-if="row.isVisible===0" type="text" @click="del(row)">鍒犻櫎</el-button>
-                  <el-button v-if="row.isVisible===1" type="text" @click="confirm(row)">纭</el-button>
-                  <el-button v-if="row.isVisible===1" type="text" @click="cancel(row)">鍙栨秷</el-button>
+                  <el-button v-if="row.isVisible===0" v-waves type="text" @click="del(row)">鍒犻櫎</el-button>
+                  <el-button v-if="row.isVisible===1" v-waves type="text" @click="confirm(row)">纭</el-button>
+                  <el-button v-if="row.isVisible===1" v-waves type="text" @click="cancel(row)">鍙栨秷</el-button>
                 </div>
               </template>
             </el-table-column>
@@ -339,10 +339,10 @@
         </div>
 
         <div style="display: flex;margin: 30px 0;align-items: center">
-          <el-button type="primary" @click="submitButton('FirstCheck')">棣栨淇濆瓨</el-button>
-          <el-button type="primary" style="margin-left: 50px" @click="submitButton('PatroCheck')">宸℃淇濆瓨</el-button>
-          <el-button type="primary" style="margin-left: 50px" @click="submitButton('EndCheck')">瀹屽伐妫�淇濆瓨</el-button>
-          <el-button type="info" style="margin-left: 50px" @click="submitButton('Cancel')">鍙栨秷</el-button>
+          <el-button v-waves type="primary" @click="submitButton('FirstCheck')">棣栨淇濆瓨</el-button>
+          <el-button v-waves type="primary" style="margin-left: 50px" @click="submitButton('PatroCheck')">宸℃淇濆瓨</el-button>
+          <el-button v-waves type="primary" style="margin-left: 50px" @click="submitButton('EndCheck')">瀹屽伐妫�淇濆瓨</el-button>
+          <el-button v-waves type="info" style="margin-left: 50px" @click="submitButton('Cancel')">鍙栨秷</el-button>
         </div>
       </div>
     </div>
@@ -363,12 +363,14 @@
 } from '@/api/zlgl'
 import { MesOrderSelectUser } from '@/api/scgl'
 import { getCookie } from '@/utils/auth'
+import waves from '@/directive/waves'
 
 export default {
   name: 'QXDY',
   // components: {
   //   Pagination
   // },
+  directives: { waves },
   data() {
     return {
       isIpad: false,
diff --git a/src/views/zlgl/gxjybz.vue b/src/views/zlgl/gxjybz.vue
index c53e542..5bf522e 100644
--- a/src/views/zlgl/gxjybz.vue
+++ b/src/views/zlgl/gxjybz.vue
@@ -3,8 +3,8 @@
     <div class="body" :style="{height:mainHeight+'px'}">
 
       <div class="bodyTopButtonGroup">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
-        <!--        <el-button type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <!--        <el-button v-waves type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
       </div>
       <div class="bodyTopFormGroup">
         <el-form
@@ -26,8 +26,8 @@
             </el-form-item>
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -171,7 +171,7 @@
         <i class="el-icon-s-comment" :style="{color:$store.state.settings.theme}" /> 妫�楠岄」淇℃伅锛�
       </div>
       <div style="margin-bottom: 10px">
-        <el-button v-if="operation==='add'||operation==='edit'" type="primary" @click="JYadd">鏂板</el-button>
+        <el-button v-if="operation==='add'||operation==='edit'" v-waves type="primary" @click="JYadd">鏂板</el-button>
       </div>
       <div>
         <el-table
@@ -254,10 +254,10 @@
           >
             <template slot-scope="{row}">
               <div class="operationClass">
-                <el-button v-if="row.isVisible===0" type="text" @click="JYedit(row)">缂栬緫</el-button>
-                <el-button v-if="row.isVisible===0" type="text" @click="JYdel(row)">鍒犻櫎</el-button>
-                <el-button v-if="row.isVisible===1" type="text" @click="JYsave(row)">纭畾</el-button>
-                <el-button v-if="row.isVisible===1" type="text" @click="JYcancel(row)">鍙栨秷</el-button>
+                <el-button v-if="row.isVisible===0" v-waves type="text" @click="JYedit(row)">缂栬緫</el-button>
+                <el-button v-if="row.isVisible===0" v-waves type="text" @click="JYdel(row)">鍒犻櫎</el-button>
+                <el-button v-if="row.isVisible===1" v-waves type="text" @click="JYsave(row)">纭畾</el-button>
+                <el-button v-if="row.isVisible===1" v-waves type="text" @click="JYcancel(row)">鍙栨秷</el-button>
               </div>
             </template>
           </el-table-column>
@@ -266,10 +266,11 @@
 
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button v-if="operation==='check'" @click="dialogVisibleCancel">杩� 鍥�</el-button>
-          <el-button v-if="operation!=='check'" @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-if="operation==='check'" v-waves @click="dialogVisibleCancel">杩� 鍥�</el-button>
+          <el-button v-if="operation!=='check'" v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
             v-if="operation!=='check'"
+            v-waves
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
             type="primary"
@@ -291,13 +292,14 @@
 } from '@/api/zlgl'
 import { validateCode } from '@/utils/global'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'ZJBZ',
   components: {
     Pagination
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       isIpad: false,
diff --git a/src/views/zlgl/gxjyjl.vue b/src/views/zlgl/gxjyjl.vue
index 5517348..920b5b3 100644
--- a/src/views/zlgl/gxjyjl.vue
+++ b/src/views/zlgl/gxjyjl.vue
@@ -2,9 +2,9 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup">
-        <el-button type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
-        <!--        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>-->
-        <!--        <el-button icon="el-icon-download" @click="upload">瀵煎叆</el-button>-->
+        <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
+        <!--        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>-->
+        <!--        <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>-->
       </div>
 
       <div class="bodyTopFormGroup">
@@ -56,8 +56,8 @@
             </el-form-item>
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
 
@@ -236,8 +236,8 @@
           >
             <template slot-scope="{row}">
               <div class="operationClass">
-                <!--                <el-button type="text" @click="check(row)">鏌ョ湅</el-button>-->
-                <!--                <el-button type="text" @click="del(row)">鍒犻櫎</el-button>-->
+                <!--                <el-button v-waves type="text" @click="check(row)">鏌ョ湅</el-button>-->
+                <!--                <el-button v-waves type="text" @click="del(row)">鍒犻櫎</el-button>-->
 
                 <el-tooltip class="item" effect="dark" content="鏌ョ湅" placement="top">
                   <i
@@ -349,8 +349,8 @@
           <!--          >-->
           <!--            <template slot-scope="{row}">-->
           <!--              <div class="operationClass">-->
-          <!--                <el-button type="text" @click="check(row)">鏌ョ湅</el-button>-->
-          <!--                &lt;!&ndash;                <el-button type="text" @click="del(row)">鍒犻櫎</el-button>&ndash;&gt;-->
+          <!--                <el-button v-waves type="text" @click="check(row)">鏌ョ湅</el-button>-->
+          <!--                &lt;!&ndash;                <el-button v-waves type="text" @click="del(row)">鍒犻櫎</el-button>&ndash;&gt;-->
           <!--              </div>-->
           <!--            </template>-->
           <!--          </el-table-column>-->
@@ -358,9 +358,9 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <!--          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>-->
-          <!--          <el-button type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
-          <el-button @click="dialogVisibleBack">杩� 鍥�</el-button>
+          <!--          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>-->
+          <!--          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
+          <el-button v-waves @click="dialogVisibleBack">杩� 鍥�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -385,6 +385,7 @@
 import ImportPicker from '@/components/ImportPicker'
 import { StepCheckTableOutExcel, StepCheckTableSearch, StepCheckTableSubSearch } from '@/api/zlgl'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 const SER_HZ = /^[\u4e00-\u9fa5]+$/
 export default {
@@ -392,7 +393,7 @@
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/zlgl/gxjyxm.vue b/src/views/zlgl/gxjyxm.vue
index 86b789e..4107af4 100644
--- a/src/views/zlgl/gxjyxm.vue
+++ b/src/views/zlgl/gxjyxm.vue
@@ -3,8 +3,8 @@
     <div class="body" :style="{height:mainHeight+'px'}">
 
       <div class="bodyTopButtonGroup">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
-        <!--        <el-button type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <!--        <el-button v-waves type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
       </div>
       <div class="bodyTopFormGroup">
         <el-form
@@ -26,8 +26,8 @@
             </el-form-item>
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -146,8 +146,9 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -164,13 +165,14 @@
 import { AddUpdateStepCheckItem, DeleteStepCheckItem, StepCheckItemSearch } from '@/api/zlgl'
 import { validateCode } from '@/utils/global'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Xxxx',
   components: {
     Pagination
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mainHeight: 0,
diff --git a/src/views/zlgl/qxdy.vue b/src/views/zlgl/qxdy.vue
index 76e8622..b0ae1e4 100644
--- a/src/views/zlgl/qxdy.vue
+++ b/src/views/zlgl/qxdy.vue
@@ -3,8 +3,8 @@
     <div class="body" :style="{height:mainHeight+'px'}">
 
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
-        <el-button icon="el-icon-download" @click="upload">瀵煎叆</el-button>
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>
       </div>
       <div class="bodyTopFormGroup">
         <el-form
@@ -27,8 +27,8 @@
             </el-form-item>
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -148,8 +148,9 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -171,13 +172,14 @@
 import ImportPicker from '@/components/ImportPicker'
 import { validateCode } from '@/utils/global'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'QXDY',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mainHeight: 0,
diff --git a/src/views/zzmx/chda.vue b/src/views/zzmx/chda.vue
index d1debbf..f2579ab 100644
--- a/src/views/zzmx/chda.vue
+++ b/src/views/zzmx/chda.vue
@@ -4,26 +4,29 @@
 
       <div class="bodyTopButtonGroup" style="justify-content: space-between;">
 
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
-        <!--        <el-button type="primary" icon="el-icon-office-building" @click="office">鍗曚綅</el-button>-->
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <!--        <el-button v-waves type="primary" icon="el-icon-office-building" @click="office">鍗曚綅</el-button>-->
         <div style="display: flex">
           <el-button
+            v-waves
             icon="el-icon-refresh-right"
             @click="syncSeaveSearchUnit"
           >鍚屾璁¢噺鍗曚綅
           </el-button>
           <el-button
+            v-waves
             icon="el-icon-refresh-right"
             @click="syncInventoryFileSelect"
           >鍚屾瀛樿揣妗f
           </el-button>
           <el-button
+            v-waves
             icon="el-icon-refresh-right"
             @click="syncStockTypeSelect"
           >鍚屾瀛樿揣绫诲瀷
           </el-button>
         </div>
-        <!--        <el-button type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
+        <!--        <el-button v-waves type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
       </div>
 
       <div class="bodyTopFormGroup">
@@ -100,8 +103,8 @@
             class="bodySearchReset"
             :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
           >
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -491,8 +494,9 @@
       <!--      </div>-->
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -514,8 +518,8 @@
       @close="handleCloseOffice"
     >
       <div style="margin-bottom: 20px;display: flex">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="addOffice">鏂板</el-button>
-        <!--        <el-button type="primary" icon="el-icon-delete" @click="delSetting">鍒犻櫎</el-button>-->
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="addOffice">鏂板</el-button>
+        <!--        <el-button v-waves type="primary" icon="el-icon-delete" @click="delSetting">鍒犻櫎</el-button>-->
       </div>
       <el-table
         :data="officeTableData"
@@ -606,9 +610,9 @@
         <el-table-column label="鎿嶄綔">
           <template slot-scope="{row}">
             <div class="operationClass">
-              <el-button v-if="row.isVisible===0" type="text" @click="delOffice(row)">鍒犻櫎</el-button>
-              <el-button v-if="row.isVisible===1" type="text" @click="saveOffice(row)">淇濆瓨</el-button>
-              <el-button v-if="row.isVisible===1" type="text" @click="cancelOffice(row)">鍙栨秷</el-button>
+              <el-button v-if="row.isVisible===0" v-waves type="text" @click="delOffice(row)">鍒犻櫎</el-button>
+              <el-button v-if="row.isVisible===1" v-waves type="text" @click="saveOffice(row)">淇濆瓨</el-button>
+              <el-button v-if="row.isVisible===1" v-waves type="text" @click="cancelOffice(row)">鍙栨秷</el-button>
             </div>
           </template>
         </el-table-column>
@@ -625,8 +629,8 @@
       />
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="officeDialogVisibleCancel">杩斿洖</el-button>
-          <!--          <el-button type="primary" @click="settingDialogVisibleConfirm">纭� 瀹�</el-button>-->
+          <el-button v-waves @click="officeDialogVisibleCancel">杩斿洖</el-button>
+          <!--          <el-button v-waves type="primary" @click="settingDialogVisibleConfirm">纭� 瀹�</el-button>-->
         </div>
       </span>
     </el-dialog>
@@ -759,8 +763,9 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="routeDialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="routeDialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -789,13 +794,14 @@
 import { SeaveSearchInventory, SeaveSearchInventoryClass, SeaveSearchUnit } from '@/api/ErpSyncMes'
 import { validateCode } from '@/utils/global'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'CHDA',
   components: {
     Pagination
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/zzmx/gxdy.vue b/src/views/zzmx/gxdy.vue
index 4463db2..f4d01a2 100644
--- a/src/views/zzmx/gxdy.vue
+++ b/src/views/zzmx/gxdy.vue
@@ -3,8 +3,8 @@
     <div class="body" :style="{height:mainHeight+'px'}">
 
       <div class="bodyTopButtonGroup">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
-        <!--        <el-button type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <!--        <el-button v-waves type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
       </div>
 
       <div class="bodyTopFormGroup">
@@ -59,8 +59,8 @@
             </el-form-item>
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -311,8 +311,9 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -397,8 +398,9 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="workDialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="workDialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -445,8 +447,9 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="defectDialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves @click="defectDialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -472,13 +475,14 @@
 import $ from 'jquery'
 import { validateCode } from '@/utils/global'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'GXDY',
   components: {
     Pagination
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
diff --git a/src/views/zzmx/gylx.vue b/src/views/zzmx/gylx.vue
index bbb2234..f733d87 100644
--- a/src/views/zzmx/gylx.vue
+++ b/src/views/zzmx/gylx.vue
@@ -3,8 +3,8 @@
     <div class="body" :style="{height:mainHeight+'px'}">
 
       <div class="bodyTopButtonGroup">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
-        <!--        <el-button type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <!--        <el-button v-waves type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>-->
       </div>
 
       <div class="bodyTopFormGroup">
@@ -30,8 +30,8 @@
             </el-form-item>
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -278,6 +278,7 @@
 
             <el-button
               v-if="operation!=='edit'"
+              v-waves
               type="success"
               :disabled="addDisabled"
               class="tagSuccess"
@@ -291,10 +292,11 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button v-if="operation==='edit'" @click="dialogVisibleCancel">杩� 鍥�</el-button>
-          <el-button v-if="operation!=='edit'" @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-if="operation==='edit'" v-waves @click="dialogVisibleCancel">杩� 鍥�</el-button>
+          <el-button v-if="operation!=='edit'" v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
             v-if="operation!=='edit'"
+            v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
@@ -311,13 +313,14 @@
 import { AddUpdateRoute, DeleteRoute, RouteSearch, StepSelect, ViewRoute } from '@/api/zzmx'
 import { validateCode } from '@/utils/global'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'GYLX',
   components: {
     Pagination
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       isIpad: false,
diff --git a/src/views/zzmx/jpgj.vue b/src/views/zzmx/jpgj.vue
index 2dd8453..a3d51ed 100644
--- a/src/views/zzmx/jpgj.vue
+++ b/src/views/zzmx/jpgj.vue
@@ -3,8 +3,8 @@
     <div class="body" :style="{height:mainHeight+'px'}">
 
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
-        <el-button icon="el-icon-download" @click="upload">瀵煎叆</el-button>
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -89,8 +89,8 @@
             </el-form-item>
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -446,10 +446,10 @@
           >
             <template slot-scope="{row}">
               <div class="operationClass">
-                <el-button v-if="row.isVisible===1" type="text" @click="saveRow(row)">淇濆瓨</el-button>
-                <el-button v-if="row.isVisible===1" type="text" @click="cancelRow(row)">鍙栨秷</el-button>
-                <el-button v-if="row.isVisible===0" type="text" @click="editRow(row)">缂栬緫</el-button>
-                <el-button v-if="row.isVisible===0" type="text" @click="copyRow(row)">澶嶅埗</el-button>
+                <el-button v-if="row.isVisible===1" v-waves type="text" @click="saveRow(row)">淇濆瓨</el-button>
+                <el-button v-if="row.isVisible===1" v-waves type="text" @click="cancelRow(row)">鍙栨秷</el-button>
+                <el-button v-if="row.isVisible===0" v-waves type="text" @click="editRow(row)">缂栬緫</el-button>
+                <el-button v-if="row.isVisible===0" v-waves type="text" @click="copyRow(row)">澶嶅埗</el-button>
               </div>
             </template>
           </el-table-column>
@@ -471,9 +471,9 @@
 
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button @click="dialogVisibleCancel">杩� 鍥�</el-button>
-          <!--          <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>-->
-          <!--          <el-button type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
+          <el-button v-waves @click="dialogVisibleCancel">杩� 鍥�</el-button>
+          <!--          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>-->
+          <!--          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
         </div>
       </span>
     </el-dialog>
@@ -502,13 +502,14 @@
 } from '@/api/zzmx'
 import ImportPicker from '@/components/ImportPicker'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'JPGJ',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       isIpad: false,
diff --git a/src/views/zzmx/wlqd.vue b/src/views/zzmx/wlqd.vue
index bf95517..f9acc99 100644
--- a/src/views/zzmx/wlqd.vue
+++ b/src/views/zzmx/wlqd.vue
@@ -2,8 +2,8 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
-        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
-        <el-button icon="el-icon-download" @click="upload">瀵煎叆</el-button>
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>
       </div>
 
       <div class="bodyTopFormGroup">
@@ -65,8 +65,8 @@
             </el-form-item>
           </div>
           <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
-            <el-button type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
-            <el-button type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
           </div>
         </el-form>
         <div
@@ -371,6 +371,7 @@
       </div>
       <el-button
         v-if="operation!=='preview'"
+        v-waves
         type="primary"
         style="margin-left: 20px;margin-bottom: 10px;"
         icon="el-icon-circle-plus-outline"
@@ -527,10 +528,10 @@
         >
           <template slot-scope="{row}">
             <div class="operationClass">
-              <el-button v-if="row.isVisible===1" type="text" @click="saveRow(row)">纭畾</el-button>
-              <el-button v-if="row.isVisible===1" type="text" @click="cancelRow(row)">鍙栨秷</el-button>
-              <el-button v-if="row.isVisible===0" type="text" @click="editRow(row)">缂栬緫</el-button>
-              <el-button v-if="row.isVisible===0" type="text" @click="delRow(row)">鍒犻櫎</el-button>
+              <el-button v-if="row.isVisible===1" v-waves type="text" @click="saveRow(row)">纭畾</el-button>
+              <el-button v-if="row.isVisible===1" v-waves type="text" @click="cancelRow(row)">鍙栨秷</el-button>
+              <el-button v-if="row.isVisible===0" v-waves type="text" @click="editRow(row)">缂栬緫</el-button>
+              <el-button v-if="row.isVisible===0" v-waves type="text" @click="delRow(row)">鍒犻櫎</el-button>
             </div>
           </template>
         </el-table-column>
@@ -538,10 +539,11 @@
 
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
-          <el-button v-if="operation==='preview'" @click="dialogVisibleCancel">杩� 鍥�</el-button>
-          <el-button v-if="operation!=='preview'" @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-if="operation==='preview'" v-waves @click="dialogVisibleCancel">杩� 鍥�</el-button>
+          <el-button v-if="operation!=='preview'" v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <el-button
             v-if="operation!=='preview'"
+            v-waves
             :loading="$store.state.app.buttonIsDisabled"
             :disabled="$store.state.app.buttonIsDisabled"
             type="primary"
@@ -577,13 +579,14 @@
   StockTypeSelect
 } from '@/api/zzmx'
 import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
   name: 'Zzjg',
   components: {
     Pagination, ImportPicker
   },
-  directives: { elDragDialog },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',

--
Gitblit v1.9.3