ly 3 سال پیش
والد
کامیت
d9a4132651
42فایلهای تغییر یافته به همراه347 افزوده شده و 10 حذف شده
  1. 11 0
      master/src/main/java/com/ruoyi/project/sems/controller/TSpecdevCcController.java
  2. 11 0
      master/src/main/java/com/ruoyi/project/sems/controller/TSpecdevDtController.java
  3. 11 0
      master/src/main/java/com/ruoyi/project/sems/controller/TSpecdevDzsbController.java
  4. 11 0
      master/src/main/java/com/ruoyi/project/sems/controller/TSpecdevGlController.java
  5. 11 0
      master/src/main/java/com/ruoyi/project/sems/controller/TSpecdevYlgdController.java
  6. 11 0
      master/src/main/java/com/ruoyi/project/sems/controller/TSpecdevYlrqController.java
  7. 1 1
      master/src/main/java/com/ruoyi/project/sems/mapper/TSpecdevCcMapper.java
  8. 1 0
      master/src/main/java/com/ruoyi/project/sems/mapper/TSpecdevDtMapper.java
  9. 1 0
      master/src/main/java/com/ruoyi/project/sems/mapper/TSpecdevDzsbMapper.java
  10. 1 0
      master/src/main/java/com/ruoyi/project/sems/mapper/TSpecdevGlMapper.java
  11. 1 0
      master/src/main/java/com/ruoyi/project/sems/mapper/TSpecdevYlgdMapper.java
  12. 1 0
      master/src/main/java/com/ruoyi/project/sems/mapper/TSpecdevYlrqMapper.java
  13. 1 1
      master/src/main/java/com/ruoyi/project/sems/service/ITSpecdevCcService.java
  14. 1 0
      master/src/main/java/com/ruoyi/project/sems/service/ITSpecdevDtService.java
  15. 1 0
      master/src/main/java/com/ruoyi/project/sems/service/ITSpecdevDzsbService.java
  16. 1 0
      master/src/main/java/com/ruoyi/project/sems/service/ITSpecdevGlService.java
  17. 1 0
      master/src/main/java/com/ruoyi/project/sems/service/ITSpecdevYlgdService.java
  18. 1 1
      master/src/main/java/com/ruoyi/project/sems/service/ITSpecdevYlrqService.java
  19. 5 0
      master/src/main/java/com/ruoyi/project/sems/service/impl/TSpecdevCcServiceImpl.java
  20. 5 0
      master/src/main/java/com/ruoyi/project/sems/service/impl/TSpecdevDtServiceImpl.java
  21. 5 0
      master/src/main/java/com/ruoyi/project/sems/service/impl/TSpecdevDzsbServiceImpl.java
  22. 5 0
      master/src/main/java/com/ruoyi/project/sems/service/impl/TSpecdevGlServiceImpl.java
  23. 5 0
      master/src/main/java/com/ruoyi/project/sems/service/impl/TSpecdevYlgdServiceImpl.java
  24. 5 0
      master/src/main/java/com/ruoyi/project/sems/service/impl/TSpecdevYlrqServiceImpl.java
  25. 8 0
      master/src/main/resources/mybatis/sems/TSpecdevCcMapper.xml
  26. 8 0
      master/src/main/resources/mybatis/sems/TSpecdevDtMapper.xml
  27. 8 0
      master/src/main/resources/mybatis/sems/TSpecdevDzsbMapper.xml
  28. 8 0
      master/src/main/resources/mybatis/sems/TSpecdevGlMapper.xml
  29. 8 0
      master/src/main/resources/mybatis/sems/TSpecdevYlgdMapper.xml
  30. 9 0
      master/src/main/resources/mybatis/sems/TSpecdevYlrqMapper.xml
  31. 9 0
      ui/src/api/sems/specCc.js
  32. 9 0
      ui/src/api/sems/specDt.js
  33. 9 0
      ui/src/api/sems/specDzsb.js
  34. 9 0
      ui/src/api/sems/specGl.js
  35. 8 0
      ui/src/api/sems/specYlgd.js
  36. 8 0
      ui/src/api/sems/specYlrq.js
  37. 23 2
      ui/src/views/sems/specCc/index.vue
  38. 23 1
      ui/src/views/sems/specDt/index.vue
  39. 23 1
      ui/src/views/sems/specDzsb/index.vue
  40. 23 1
      ui/src/views/sems/specGl/index.vue
  41. 23 1
      ui/src/views/sems/specYlgd/index.vue
  42. 23 1
      ui/src/views/sems/specYlrq/index.vue

+ 11 - 0
master/src/main/java/com/ruoyi/project/sems/controller/TSpecdevCcController.java

@@ -133,6 +133,17 @@ public class TSpecdevCcController extends BaseController
         return toAjax(tSpecdevCcService.deleteTSpecdevCcByIds(ids));
     }
 
+    /**
+     * 去重
+     */
+    @PreAuthorize("@ss.hasPermi('sems:plant:remove')")
+    @GetMapping("/duplicate")
+    public AjaxResult duplicate()
+    {
+        tSpecdevCcService.duplicateTSpecdevCc();
+        return AjaxResult.success();
+    }
+
     /**
      * 批量导入
      */

+ 11 - 0
master/src/main/java/com/ruoyi/project/sems/controller/TSpecdevDtController.java

@@ -130,6 +130,17 @@ public class TSpecdevDtController extends BaseController
         return toAjax(tSpecdevDtService.deleteTSpecdevDtByIds(ids));
     }
 
+    /**
+     * 去重
+     */
+    @PreAuthorize("@ss.hasPermi('sems:plant:remove')")
+    @GetMapping("/duplicate")
+    public AjaxResult duplicate()
+    {
+        tSpecdevDtService.duplicateTSpecdevDt();
+        return AjaxResult.success();
+    }
+
     /**
      * 批量导入
      */

+ 11 - 0
master/src/main/java/com/ruoyi/project/sems/controller/TSpecdevDzsbController.java

@@ -131,6 +131,17 @@ public class TSpecdevDzsbController extends BaseController
         return toAjax(tSpecdevDzsbService.deleteTSpecdevDzsbByIds(ids));
     }
 
+    /**
+     * 去重
+     */
+    @PreAuthorize("@ss.hasPermi('sems:plant:remove')")
+    @GetMapping("/duplicate")
+    public AjaxResult duplicate()
+    {
+        tSpecdevDzsbService.duplicateTSpecdevDzsb();
+        return AjaxResult.success();
+    }
+
     /**
      * 批量导入
      */

+ 11 - 0
master/src/main/java/com/ruoyi/project/sems/controller/TSpecdevGlController.java

@@ -132,6 +132,17 @@ public class TSpecdevGlController extends BaseController
         return toAjax(tSpecdevGlService.deleteTSpecdevGlByIds(ids));
     }
 
+    /**
+     * 去重
+     */
+    @PreAuthorize("@ss.hasPermi('sems:plant:remove')")
+    @GetMapping("/duplicate")
+    public AjaxResult duplicate()
+    {
+        tSpecdevGlService.duplicateTSpecdevGl();
+        return AjaxResult.success();
+    }
+
     /**
      * 批量导入
      */

+ 11 - 0
master/src/main/java/com/ruoyi/project/sems/controller/TSpecdevYlgdController.java

@@ -132,6 +132,17 @@ public class TSpecdevYlgdController extends BaseController {
         return toAjax(tSpecdevYlgdService.deleteTSpecdevYlgdByIds(ids));
     }
 
+    /**
+     * 去重
+     */
+    @PreAuthorize("@ss.hasPermi('sems:plant:remove')")
+    @GetMapping("/duplicate")
+    public AjaxResult duplicate()
+    {
+        tSpecdevYlgdService.duplicateTSpecdevYlgd();
+        return AjaxResult.success();
+    }
+
     /**
      * 批量导入
      */

+ 11 - 0
master/src/main/java/com/ruoyi/project/sems/controller/TSpecdevYlrqController.java

@@ -158,6 +158,17 @@ public class TSpecdevYlrqController extends BaseController
         return toAjax(tSpecdevYlrqService.deleteTSpecdevYlrqByIds(ids));
     }
 
+    /**
+     * 去重
+     */
+    @PreAuthorize("@ss.hasPermi('sems:plant:remove')")
+    @GetMapping("/duplicate")
+    public AjaxResult duplicate()
+    {
+        tSpecdevYlrqService.duplicateTSpecdevYlrq();
+        return AjaxResult.success();
+    }
+
     /**
      * 批量导入
      */

+ 1 - 1
master/src/main/java/com/ruoyi/project/sems/mapper/TSpecdevCcMapper.java

@@ -73,5 +73,5 @@ public interface TSpecdevCcMapper extends BaseMapper<TSpecdevCc>
 
     int updateTSpecdevCcByHi(TSpechiCc hientity);
 
-
+    void duplicateTSpecdevCc();
 }

+ 1 - 0
master/src/main/java/com/ruoyi/project/sems/mapper/TSpecdevDtMapper.java

@@ -74,4 +74,5 @@ public interface TSpecdevDtMapper extends BaseMapper<TSpecdevDt>
     int updateTSpecdevDtByHi(TSpechiDt hientity);
 
 
+    void duplicateTSpecdevDt();
 }

+ 1 - 0
master/src/main/java/com/ruoyi/project/sems/mapper/TSpecdevDzsbMapper.java

@@ -74,4 +74,5 @@ public interface TSpecdevDzsbMapper extends BaseMapper<TSpecdevDzsb>
     int updateTSpecdevDzsbByHi(TSpechiDzsb hientity);
 
 
+    void duplicateTSpecdevDzsb();
 }

+ 1 - 0
master/src/main/java/com/ruoyi/project/sems/mapper/TSpecdevGlMapper.java

@@ -70,4 +70,5 @@ public interface TSpecdevGlMapper extends BaseMapper<TSpecdevGl>
     int updateTSpecdevGlByHi(TSpechiGl hientity);
 
 
+    void duplicateTSpecdevGl();
 }

+ 1 - 0
master/src/main/java/com/ruoyi/project/sems/mapper/TSpecdevYlgdMapper.java

@@ -77,4 +77,5 @@ public interface TSpecdevYlgdMapper extends BaseMapper<TSpecdevYlgd> {
     int updateTSpecdevYlgdByHi(TSpechiYlgd hientity);
 
 
+    void duplicateTSpecdevYlgd();
 }

+ 1 - 0
master/src/main/java/com/ruoyi/project/sems/mapper/TSpecdevYlrqMapper.java

@@ -76,4 +76,5 @@ public interface TSpecdevYlrqMapper extends BaseMapper<TSpecdevYlrq> {
     int updateTSpecdevYlrqByHi(TSpechiYlrq hientity);
 
 
+    void duplicateTSpecdevYlrq();
 }

+ 1 - 1
master/src/main/java/com/ruoyi/project/sems/service/ITSpecdevCcService.java

@@ -70,5 +70,5 @@ public interface ITSpecdevCcService extends IService<TSpecdevCc>
 
     int updateTSpecdevCcByHi(TSpechiCc hientity);
 
-
+    void duplicateTSpecdevCc();
 }

+ 1 - 0
master/src/main/java/com/ruoyi/project/sems/service/ITSpecdevDtService.java

@@ -72,4 +72,5 @@ public interface ITSpecdevDtService extends IService<TSpecdevDt>
     int updateTSpecdevDtByHi(TSpechiDt hientity);
 
 
+    void duplicateTSpecdevDt();
 }

+ 1 - 0
master/src/main/java/com/ruoyi/project/sems/service/ITSpecdevDzsbService.java

@@ -71,4 +71,5 @@ public interface ITSpecdevDzsbService extends IService<TSpecdevDzsb>
     int updateTSpecdevDzsbByHi(TSpechiDzsb hientity);
 
 
+    void duplicateTSpecdevDzsb();
 }

+ 1 - 0
master/src/main/java/com/ruoyi/project/sems/service/ITSpecdevGlService.java

@@ -66,4 +66,5 @@ public interface ITSpecdevGlService extends IService<TSpecdevGl>
     int updateTSpecdevGlByHi(TSpechiGl hientity);
 
 
+    void duplicateTSpecdevGl();
 }

+ 1 - 0
master/src/main/java/com/ruoyi/project/sems/service/ITSpecdevYlgdService.java

@@ -66,4 +66,5 @@ public interface ITSpecdevYlgdService extends IService<TSpecdevYlgd>
     int updateTSpecdevYlgdByHi(TSpechiYlgd hientity);
 
 
+    void duplicateTSpecdevYlgd();
 }

+ 1 - 1
master/src/main/java/com/ruoyi/project/sems/service/ITSpecdevYlrqService.java

@@ -66,5 +66,5 @@ public interface ITSpecdevYlrqService extends IService<TSpecdevYlrq>
 
     int updateTSpecdevYlrqByHi(TSpechiYlrq hientity);
 
-
+    void duplicateTSpecdevYlrq();
 }

+ 5 - 0
master/src/main/java/com/ruoyi/project/sems/service/impl/TSpecdevCcServiceImpl.java

@@ -112,4 +112,9 @@ public class TSpecdevCcServiceImpl extends ServiceImpl<TSpecdevCcMapper, TSpecde
     public int updateTSpecdevCcByHi(TSpechiCc hientity) {
         return tSpecdevCcMapper.updateTSpecdevCcByHi(hientity);
     }
+
+    @Override
+    public void duplicateTSpecdevCc() {
+        tSpecdevCcMapper.duplicateTSpecdevCc();
+    }
 }

+ 5 - 0
master/src/main/java/com/ruoyi/project/sems/service/impl/TSpecdevDtServiceImpl.java

@@ -112,4 +112,9 @@ public class TSpecdevDtServiceImpl extends ServiceImpl<TSpecdevDtMapper, TSpecde
     public int updateTSpecdevDtByHi(TSpechiDt hientity) {
         return tSpecdevDtMapper.updateTSpecdevDtByHi(hientity);
     }
+
+    @Override
+    public void duplicateTSpecdevDt() {
+        tSpecdevDtMapper.duplicateTSpecdevDt();
+    }
 }

+ 5 - 0
master/src/main/java/com/ruoyi/project/sems/service/impl/TSpecdevDzsbServiceImpl.java

@@ -112,4 +112,9 @@ public class TSpecdevDzsbServiceImpl extends ServiceImpl<TSpecdevDzsbMapper, TSp
     public int updateTSpecdevDzsbByHi(TSpechiDzsb hientity) {
         return tSpecdevDzsbMapper.updateTSpecdevDzsbByHi(hientity);
     }
+
+    @Override
+    public void duplicateTSpecdevDzsb() {
+        tSpecdevDzsbMapper.duplicateTSpecdevDzsb();
+    }
 }

+ 5 - 0
master/src/main/java/com/ruoyi/project/sems/service/impl/TSpecdevGlServiceImpl.java

@@ -105,4 +105,9 @@ public class TSpecdevGlServiceImpl extends ServiceImpl<TSpecdevGlMapper, TSpecde
     public int updateTSpecdevGlByHi(TSpechiGl hientity) {
         return tSpecdevGlMapper.updateTSpecdevGlByHi(hientity);
     }
+
+    @Override
+    public void duplicateTSpecdevGl() {
+        tSpecdevGlMapper.duplicateTSpecdevGl();
+    }
 }

+ 5 - 0
master/src/main/java/com/ruoyi/project/sems/service/impl/TSpecdevYlgdServiceImpl.java

@@ -105,4 +105,9 @@ public class TSpecdevYlgdServiceImpl extends ServiceImpl<TSpecdevYlgdMapper, TSp
     public int updateTSpecdevYlgdByHi(TSpechiYlgd hientity) {
         return tSpecdevYlgdMapper.updateTSpecdevYlgdByHi(hientity);
     }
+
+    @Override
+    public void duplicateTSpecdevYlgd() {
+        tSpecdevYlgdMapper.duplicateTSpecdevYlgd();
+    }
 }

+ 5 - 0
master/src/main/java/com/ruoyi/project/sems/service/impl/TSpecdevYlrqServiceImpl.java

@@ -105,4 +105,9 @@ public class TSpecdevYlrqServiceImpl extends ServiceImpl<TSpecdevYlrqMapper, TSp
     public int updateTSpecdevYlrqByHi(TSpechiYlrq hientity) {
         return tSpecdevYlrqMapper.updateTSpecdevYlrqByHi(hientity);
     }
+
+    @Override
+    public void duplicateTSpecdevYlrq() {
+        tSpecdevYlrqMapper.duplicateTSpecdevYlrq();
+    }
 }

+ 8 - 0
master/src/main/resources/mybatis/sems/TSpecdevCcMapper.xml

@@ -344,4 +344,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         GROUP BY to_char(t.NEXT_WARN_DATE,'yyyyMM')
     </select>
 
+    <update id="duplicateTSpecdevCc" >
+        UPDATE  T_SPECDEV_CC set DEL_FLAG = 2
+        where rowid !=( select max(rowid)
+        from T_SPECDEV_CC b
+        where b.REGNO = T_SPECDEV_CC.REGNO and T_SPECDEV_CC.DEL_FLAG = 0 and b.DEL_FLAG = 0
+        )
+    </update>
+
 </mapper>

+ 8 - 0
master/src/main/resources/mybatis/sems/TSpecdevDtMapper.xml

@@ -305,4 +305,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </if>
         GROUP BY to_char(t.NEXT_WARN_DATE,'yyyyMM')
     </select>
+
+    <update id="duplicateTSpecdevDt" >
+        UPDATE  T_SPECDEV_DT set DEL_FLAG = 2
+        where rowid !=( select max(rowid)
+        from T_SPECDEV_DT b
+        where b.REGNO = T_SPECDEV_DT.REGNO and T_SPECDEV_DT.DEL_FLAG = 0 and b.DEL_FLAG = 0
+        )
+    </update>
 </mapper>

+ 8 - 0
master/src/main/resources/mybatis/sems/TSpecdevDzsbMapper.xml

@@ -280,4 +280,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         GROUP BY to_char(t.NEXT_WARN_DATE,'yyyyMM')
     </select>
 
+    <update id="duplicateTSpecdevDzsb" >
+        UPDATE  T_SPECDEV_DZSB set DEL_FLAG = 2
+        where rowid !=( select max(rowid)
+        from T_SPECDEV_DZSB b
+        where b.DEVNO = T_SPECDEV_DZSB.DEVNO and T_SPECDEV_DZSB.DEL_FLAG = 0 and b.DEL_FLAG = 0
+        )
+    </update>
+
 </mapper>

+ 8 - 0
master/src/main/resources/mybatis/sems/TSpecdevGlMapper.xml

@@ -335,4 +335,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </foreach>
     </update>
 
+    <update id="duplicateTSpecdevGl" >
+        UPDATE  T_SPECDEV_GL set DEL_FLAG = 2
+        where rowid !=( select max(rowid)
+        from T_SPECDEV_GL b
+        where b.DEVNO = T_SPECDEV_GL.DEVNO and T_SPECDEV_GL.DEL_FLAG = 0 and b.DEL_FLAG = 0
+        )
+    </update>
+
 </mapper>

+ 8 - 0
master/src/main/resources/mybatis/sems/TSpecdevYlgdMapper.xml

@@ -471,4 +471,12 @@
         </foreach>
     </update>
 
+    <update id="duplicateTSpecdevYlgd" >
+        UPDATE  T_SPECDEV_YLGD set DEL_FLAG = 2
+        where rowid !=( select max(rowid)
+        from T_SPECDEV_YLGD b
+        where b.DEVNO = T_SPECDEV_YLGD.DEVNO and T_SPECDEV_YLGD.DEL_FLAG = 0 and b.DEL_FLAG = 0
+        )
+    </update>
+
 </mapper>

+ 9 - 0
master/src/main/resources/mybatis/sems/TSpecdevYlrqMapper.xml

@@ -400,4 +400,13 @@
         </foreach>
     </update>
 
+    <update id="duplicateTSpecdevYlrq" >
+        UPDATE  T_SPECDEV_YLRQ set DEL_FLAG = 2
+        where rowid !=( select max(rowid)
+        from T_SPECDEV_YLRQ b
+        where b.DEVNO = T_SPECDEV_YLRQ.DEVNO and T_SPECDEV_YLRQ.DEL_FLAG = 0 and b.DEL_FLAG = 0
+        )
+    </update>
+
+
 </mapper>

+ 9 - 0
ui/src/api/sems/specCc.js

@@ -79,3 +79,12 @@ export function exportSpecList(query) {
     params: query
   })
 }
+
+// 去重
+export function duplicate(query) {
+  return request({
+    url: '/sems/specCc/duplicate',
+    method: 'get',
+    params: query
+  })
+}

+ 9 - 0
ui/src/api/sems/specDt.js

@@ -79,3 +79,12 @@ export function exportSpecList(query) {
     params: query
   })
 }
+
+// 去重
+export function duplicate(query) {
+  return request({
+    url: '/sems/specDt/duplicate',
+    method: 'get',
+    params: query
+  })
+}

+ 9 - 0
ui/src/api/sems/specDzsb.js

@@ -79,3 +79,12 @@ export function exportSpecList(query) {
     params: query
   })
 }
+
+// 去重
+export function duplicate(query) {
+  return request({
+    url: '/sems/specDzsb/duplicate',
+    method: 'get',
+    params: query
+  })
+}

+ 9 - 0
ui/src/api/sems/specGl.js

@@ -78,3 +78,12 @@ export function exportSpecList(query) {
     params: query
   })
 }
+
+// 去重
+export function duplicate(query) {
+  return request({
+    url: '/sems/specGl/duplicate',
+    method: 'get',
+    params: query
+  })
+}

+ 8 - 0
ui/src/api/sems/specYlgd.js

@@ -80,4 +80,12 @@ export function exportSpecList(query) {
   })
 }
 
+// 去重
+export function duplicate(query) {
+  return request({
+    url: '/sems/specYlgd/duplicate',
+    method: 'get',
+    params: query
+  })
+}
 

+ 8 - 0
ui/src/api/sems/specYlrq.js

@@ -80,5 +80,13 @@ export function exportSpecList(query) {
   })
 }
 
+// 去重
+export function duplicate(query) {
+  return request({
+    url: '/sems/specYlrq/duplicate',
+    method: 'get',
+    params: query
+  })
+}
 
 

+ 23 - 2
ui/src/views/sems/specCc/index.vue

@@ -107,6 +107,15 @@
           @click="inspectionInformation = true"
           v-hasPermi="['sems:specCc:add']"
         >{{ $t('检验更新') }}</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          @click="handleDup"
+          v-hasPermi="['system:plant:remove']"
+        >{{ $t('数据去重') }}</el-button>
       </el-col>
 	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
@@ -474,7 +483,7 @@
 </template>
 
 <script>
-  import {addSpecCc, exportSpecCc, getSpecCc, listSpecCc, updateSpecCcPre,exportSpecList} from "@/api/sems/specCc";
+  import {addSpecCc, exportSpecCc, getSpecCc, listSpecCc, updateSpecCcPre,exportSpecList, duplicate} from "@/api/sems/specCc";
   import {treeselect} from "@/api/system/dept";
   import {getToken} from "@/utils/auth";
   import Treeselect from "@riophae/vue-treeselect";
@@ -486,7 +495,6 @@
   import {addModify} from "@/api/sems/his/modify";
   import {listPostUser} from "@/api/system/user";
   import HisReform from "./specCc-hisReform";
-  import {listSpecGl} from "@/api/sems/specGl";
 
   export default {
   name: "SpecCc",
@@ -827,6 +835,19 @@
       //     this.msgSuccess(this.$t('删除成功'));
       //   })
     },
+    /** 去重按钮操作 */
+    handleDup(){
+      this.$confirm(this.$t('是否确认删除?'), this.$t('警告'), {
+        confirmButtonText: this.$t('确定'),
+        cancelButtonText: this.$t('取消'),
+        type: "warning"
+      }).then(function() {
+        return duplicate();
+      }).then(() => {
+        this.getList();
+        this.msgSuccess(this.$t('删除成功'));
+      })
+    },
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;

+ 23 - 1
ui/src/views/sems/specDt/index.vue

@@ -107,6 +107,15 @@
           @click="inspectionInformation = true"
           v-hasPermi="['sems:specDt:add']"
         >{{ $t('检验更新') }}</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          @click="handleDup"
+          v-hasPermi="['system:plant:remove']"
+        >{{ $t('数据去重') }}</el-button>
       </el-col>
 	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
@@ -412,7 +421,7 @@
 </template>
 
 <script>
-  import {addSpecDt, delSpecDt, exportSpecDt, getSpecDt, listSpecDt, updateSpecDtPre,exportSpecList} from "@/api/sems/specDt";
+  import {addSpecDt, duplicate, exportSpecDt, getSpecDt, listSpecDt, updateSpecDtPre,exportSpecList} from "@/api/sems/specDt";
   import {treeselect} from "@/api/system/dept";
   import {getToken} from "@/utils/auth";
   import Treeselect from "@riophae/vue-treeselect";
@@ -663,6 +672,19 @@
         this.title = this.$t('修改') + this.$t('特种设备电梯台账');
       });
     },
+    /** 去重按钮操作 */
+    handleDup(){
+      this.$confirm(this.$t('是否确认删除?'), this.$t('警告'), {
+        confirmButtonText: this.$t('确定'),
+        cancelButtonText: this.$t('取消'),
+        type: "warning"
+      }).then(function() {
+        return duplicate();
+      }).then(() => {
+        this.getList();
+        this.msgSuccess(this.$t('删除成功'));
+      })
+    },
     /** 提交按钮 */
     submitForm() {
       this.$refs["form"].validate(valid => {

+ 23 - 1
ui/src/views/sems/specDzsb/index.vue

@@ -213,6 +213,15 @@
           @click="inspectionInformation = true"
           v-hasPermi="['sems:specDzsb:add']"
         >{{ $t('检验更新') }}</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          @click="handleDup"
+          v-hasPermi="['system:plant:remove']"
+        >{{ $t('数据去重') }}</el-button>
       </el-col>
 	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
@@ -552,7 +561,7 @@
     exportSpecDzsb,
     getSpecDzsb,
     listSpecDzsb,
-    updateSpecDzsbPre
+    updateSpecDzsbPre, duplicate
   } from "@/api/sems/specDzsb";
   import {treeselect} from "@/api/system/dept";
   import {getToken} from "@/utils/auth";
@@ -901,6 +910,19 @@
       //     this.msgSuccess(this.$t('删除成功'));
       //   })
     },
+    /** 去重按钮操作 */
+    handleDup(){
+      this.$confirm(this.$t('是否确认删除?'), this.$t('警告'), {
+        confirmButtonText: this.$t('确定'),
+        cancelButtonText: this.$t('取消'),
+        type: "warning"
+      }).then(function() {
+        return duplicate();
+      }).then(() => {
+        this.getList();
+        this.msgSuccess(this.$t('删除成功'));
+      })
+    },
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;

+ 23 - 1
ui/src/views/sems/specGl/index.vue

@@ -117,6 +117,15 @@
           @click="inspectionInformation = true"
           v-hasPermi="['sems:specGl:add']"
         >{{ $t('检验更新') }}</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          @click="handleDup"
+          v-hasPermi="['system:plant:remove']"
+        >{{ $t('数据去重') }}</el-button>
       </el-col>
 	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
@@ -536,7 +545,7 @@
 </template>
 
 <script>
-  import {addSpecGl, exportSpecList, exportSpecGl, getSpecGl, listSpecGl, updateSpecGlPre} from "@/api/sems/specGl";
+  import {addSpecGl, exportSpecList, exportSpecGl, getSpecGl, listSpecGl, updateSpecGlPre, duplicate} from "@/api/sems/specGl";
   import {treeselect} from "@/api/system/dept";
   import {getToken} from "@/utils/auth";
   import Treeselect from "@riophae/vue-treeselect";
@@ -894,6 +903,19 @@
       //     this.msgSuccess(this.$t('删除成功'));
       //   })
     },
+    /** 去重按钮操作 */
+    handleDup(){
+      this.$confirm(this.$t('是否确认删除?'), this.$t('警告'), {
+        confirmButtonText: this.$t('确定'),
+        cancelButtonText: this.$t('取消'),
+        type: "warning"
+      }).then(function() {
+        return duplicate();
+      }).then(() => {
+        this.getList();
+        this.msgSuccess(this.$t('删除成功'));
+      })
+    },
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;

+ 23 - 1
ui/src/views/sems/specYlgd/index.vue

@@ -168,6 +168,15 @@
           @click="inspectionInformation = true"
           v-hasPermi="['sems:specYlgd:add']"
         >{{ $t('检验更新') }}</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          @click="handleDup"
+          v-hasPermi="['system:plant:remove']"
+        >{{ $t('数据去重') }}</el-button>
       </el-col>
 	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
@@ -666,7 +675,7 @@
 </template>
 
 <script>
-import { listSpecYlgd, getSpecYlgd, exportSpecList, addSpecYlgd, updateSpecYlgd, exportSpecYlgd, updateSpecYlgdPre, importTemplate,} from "@/api/sems/specYlgd";
+import { listSpecYlgd, getSpecYlgd, exportSpecList, addSpecYlgd, updateSpecYlgd, exportSpecYlgd, updateSpecYlgdPre, duplicate,} from "@/api/sems/specYlgd";
 import { treeselect } from "@/api/system/dept";
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
@@ -1042,6 +1051,19 @@ export default {
       //     this.msgSuccess(this.$t('删除成功'));
       //   })
     },
+    /** 删除按钮操作 */
+    handleDup(){
+      this.$confirm(this.$t('是否确认删除?'), this.$t('警告'), {
+          confirmButtonText: this.$t('确定'),
+          cancelButtonText: this.$t('取消'),
+          type: "warning"
+        }).then(function() {
+          return duplicate();
+        }).then(() => {
+          this.getList();
+          this.msgSuccess(this.$t('删除成功'));
+        })
+    },
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;

+ 23 - 1
ui/src/views/sems/specYlrq/index.vue

@@ -117,6 +117,15 @@
           @click="inspectionInformation = true"
           v-hasPermi="['sems:specYlrq:add']"
         >{{ $t('检验更新') }}</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          @click="handleDup"
+          v-hasPermi="['system:plant:remove']"
+        >{{ $t('数据去重') }}</el-button>
       </el-col>
 	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
@@ -601,7 +610,7 @@
 </template>
 
 <script>
-  import {addSpecYlrq, exportSpecYlrq, getSpecYlrq, listSpecYlrq, updateSpecYlrqPre,exportSpecList} from "@/api/sems/specYlrq";
+  import {addSpecYlrq, exportSpecYlrq, getSpecYlrq, listSpecYlrq, updateSpecYlrqPre,exportSpecList,duplicate} from "@/api/sems/specYlrq";
   import {treeselect} from "@/api/system/dept";
   import {getToken} from "@/utils/auth";
   import {listPostUser} from "@/api/system/user";
@@ -950,6 +959,19 @@
       //     this.msgSuccess("删除成功");
       //   })
     },
+    /** 去重按钮操作 */
+    handleDup(){
+      this.$confirm(this.$t('是否确认删除?'), this.$t('警告'), {
+        confirmButtonText: this.$t('确定'),
+        cancelButtonText: this.$t('取消'),
+        type: "warning"
+      }).then(function() {
+        return duplicate();
+      }).then(() => {
+        this.getList();
+        this.msgSuccess(this.$t('删除成功'));
+      })
+    },
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;