From 51b9e548b0e533e8a415ce141808f2bb747b381e Mon Sep 17 00:00:00 2001
From: zhuzhuanzhuan
Date: 星期一, 18 三月 2024 16:08:49 +0800
Subject: [PATCH] 1、mdc菜单下除特殊要求外,页面表格最少条数由10条调整为30条,每页最多条数区间由[10,20,30]调整为[30,50,100] 2、OEE基础管理和数据报表模块增加打印按钮,实现打印表格数据功能 3、设备管理、数据报表模块增加按照设备级别和设备类型查询表格数据 4、设备车间管理页面增加车间编码字段 5、修改组件名称以试图解决刷新后进入请求json页面问题

---
 src/views/mdc/base/MdcUtilizationRateList.vue                                            |   12 
 src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerList.vue   |   14 
 src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue                           |   75 +-
 src/views/mdc/base/WorkshopSignageEntrance.vue                                           |   70 ++
 src/views/mdc/base/DeviceParamThresholdManagement.vue                                    |   12 
 src/views/mdc/base/MdcWorkshopSignage.vue                                                |    4 
 src/views/system/modules/UserModal.vue                                                   |    9 
 src/views/mdc/base/MdcQualificationRate.vue                                              |    0 
 src/views/mdc/base/MdcDriveTypeParamConfigList.vue                                       |   12 
 src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue                 |  489 ++++++++++--------
 src/config/router.config.js                                                              |   11 
 src/views/mdc/base/MdcMessageconfirmationList.vue                                        |    0 
 src/views/mdc/base/MdcStandardProcessTime.vue                                            |    0 
 src/views/mdc/base/MdcProcessNumber.vue                                                  |    0 
 src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityList.vue                 |   14 
 src/views/mdc/base/modules/deviceRepair/DeviceRepairList.vue                             |   12 
 src/views/mdc/base/EquipmentList.vue                                                     |   38 +
 src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue                       |   77 ++
 src/views/mdc/base/modules/DeviceProcessReport/DeviceProcessReportList.vue               |   18 
 src/views/mdc/base/AlarmManager.vue                                                      |   12 
 src/views/mdc/base/EquipmentOperationParamsAlarm.vue                                     |   28 
 src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue           |   12 
 src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementList.vue                 |   18 
 src/views/system/ProductionManager.vue                                                   |    3 
 src/views/mdc/base/modules/mdcPassRate/mdcPassRateList.vue                               |   14 
 src/views/system/modules/ProductionManager/ProductionModal.vue                           |    9 
 src/views/mdc/base/ContrastiveAnalysis.vue                                               |    0 
 /dev/null                                                                                |  204 --------
 src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue |   14 
 src/views/mdc/base/modules/OEEAnalysis/OEEAnalysisList.vue                               |   21 
 src/views/mdc/base/modules/HolidayManagement/HolidayManagementList.vue                   |   13 
 src/views/mdc/base/MdcPlanCloseList.vue                                                  |  226 +++++++++
 src/views/mdc/base/MdcEquipmentTypeList.vue                                              |   12 
 33 files changed, 947 insertions(+), 506 deletions(-)

diff --git a/src/config/router.config.js b/src/config/router.config.js
index f35fe1f..434e8f4 100644
--- a/src/config/router.config.js
+++ b/src/config/router.config.js
@@ -1,4 +1,5 @@
 import { UserLayout, TabLayout, RouteView, BlankLayout, PageView } from '@/components/layouts'
+
 /**
  * 璧拌彍鍗曪紝璧版潈闄愭帶鍒�
  * @type {[null,null]}
@@ -317,7 +318,7 @@
         path: 'alteration',
         name: 'alteration',
         component: () => import(/* webpackChunkName: "user" */ '@/views/user/alteration/Alteration')
-      },
+      }
     ]
   },
 
@@ -356,7 +357,7 @@
         path: 'login',
         name: 'login',
         component: () => import(/* webpackChunkName: "oauth2-app.login" */ '@/views/user/oauth2/OAuth2Login')
-      },
+      }
     ]
   },
   {
@@ -372,12 +373,12 @@
     ]
   },
   {
-    path:'/workshopSignage/:id',
-    component:()=>import('@/views/WorkshopSignage.vue')
+    path: '/MdcWorkshopSignage/:id',
+    component: () => import('@/views/mdc/base/MdcWorkshopSignage.vue')
   },
   {
     path: '/404',
     component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404')
-  },
+  }
 
 ]
diff --git a/src/views/mdc/base/AlarmManager.vue b/src/views/mdc/base/AlarmManager.vue
index 7a3d59d..c46bce2 100644
--- a/src/views/mdc/base/AlarmManager.vue
+++ b/src/views/mdc/base/AlarmManager.vue
@@ -230,6 +230,18 @@
     data() {
       return {
         description: '鎶ヨ鍙风鐞嗙晫闈�',
+        /* 鍒嗛〉鍙傛暟 */
+        ipagination:{
+          current: 1,
+          pageSize: 30,
+          pageSizeOptions: ['30', '50', '100'],
+          showTotal: (total, range) => {
+            return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0
+        },
         // 琛ㄥご
         columns: [
           {
diff --git a/src/views/mdc/base/ComparativeAnalysis.vue b/src/views/mdc/base/ContrastiveAnalysis.vue
similarity index 100%
rename from src/views/mdc/base/ComparativeAnalysis.vue
rename to src/views/mdc/base/ContrastiveAnalysis.vue
diff --git a/src/views/mdc/base/DeviceParamThresholdManagement.vue b/src/views/mdc/base/DeviceParamThresholdManagement.vue
index e2a170a..d2f43f5 100644
--- a/src/views/mdc/base/DeviceParamThresholdManagement.vue
+++ b/src/views/mdc/base/DeviceParamThresholdManagement.vue
@@ -117,6 +117,18 @@
         name: 'DeviceParamThresholdManagement',
         description: '杩欐槸璁惧鍙傛暟闃堝�肩鐞嗛〉闈�',
         queryParam: {},
+        /* 鍒嗛〉鍙傛暟 */
+        ipagination:{
+          current: 1,
+          pageSize: 30,
+          pageSizeOptions: ['30', '50', '100'],
+          showTotal: (total, range) => {
+            return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0
+        },
         columns: [
           {
             title: '#',
diff --git a/src/views/mdc/base/EquipmentList.vue b/src/views/mdc/base/EquipmentList.vue
index 2a5815b..009143b 100644
--- a/src/views/mdc/base/EquipmentList.vue
+++ b/src/views/mdc/base/EquipmentList.vue
@@ -6,19 +6,19 @@
       <a-form layout="inline" @keyup.enter.native="searchQuery">
         <a-row :gutter="24">
 
-          <a-col :md="6" :sm="12">
+          <a-col :md="4" :sm="4">
             <a-form-item label="璁惧缂栧彿">
               <a-input placeholder="璇疯緭鍏ヨ澶囩紪鍙�" v-model="queryParam.equipmentId"></a-input>
             </a-form-item>
           </a-col>
 
-          <a-col :md="6" :sm="8">
+          <a-col :md="4" :sm="4">
             <a-form-item label="璁惧鍚嶇О">
               <a-input placeholder="璇疯緭鍏ヨ澶囧悕绉�" v-model="queryParam.equipmentName"></a-input>
             </a-form-item>
           </a-col>
 
-          <a-col :md="6" :sm="8">
+          <a-col :md="4" :sm="4">
             <a-form-item label="杞﹂棿鍚嶇О">
               <!--<a-input placeholder="璇疯緭鍏ヨ溅闂村悕绉�" v-model="queryParam.productionName"></a-input>-->
               <a-tree-select v-model="queryParam.productionName" :treeData="workshopTreeData" placeholder="璇烽�夋嫨杞﹂棿"
@@ -26,7 +26,21 @@
             </a-form-item>
           </a-col>
 
-          <a-col :md="6" :sm="8">
+          <a-col :md="4" :sm="4">
+            <a-form-item label="璁惧绾у埆">
+              <j-dict-select-tag placeholder="璇烽�夋嫨璁惧绾у埆" dictCode="device_level" v-model="queryParam.deviceLevel"
+                                 allow-clear/>
+            </a-form-item>
+          </a-col>
+
+          <a-col :md="4" :sm="4">
+            <a-form-item label="璁惧绉嶇被">
+              <j-dict-select-tag placeholder="璇烽�夋嫨璁惧绉嶇被" dictCode="device_category" v-model="queryParam.deviceCategory"
+                                 allow-clear/>
+            </a-form-item>
+          </a-col>
+
+          <a-col :md="4" :sm="4">
             <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
             <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
           </a-col>
@@ -115,13 +129,25 @@
     name: 'EquipmentList',
     mixins: [JeecgListMixin],
     components: {
-      UserModal,
+      UserModal
     },
     data() {
       return {
         description: '杩欐槸璁惧绠$悊椤甸潰',
         queryParam: {},
         recycleBinVisible: false,
+        /* 鍒嗛〉鍙傛暟 */
+        ipagination: {
+          current: 1,
+          pageSize: 30,
+          pageSizeOptions: ['30', '50', '100'],
+          showTotal: (total, range) => {
+            return range[0] + '-' + range[1] + ' 鍏�' + total + '鏉�'
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0
+        },
         columns: [
           {
             title: '#',
@@ -420,7 +446,7 @@
         if (e.key == 1) {
           this.batchDel()
         }
-      },
+      }
     }
   }
 </script>
diff --git a/src/views/mdc/base/EquipmentOperationParamsAlarm.vue b/src/views/mdc/base/EquipmentOperationParamsAlarm.vue
index 400450a..26b9299 100644
--- a/src/views/mdc/base/EquipmentOperationParamsAlarm.vue
+++ b/src/views/mdc/base/EquipmentOperationParamsAlarm.vue
@@ -34,8 +34,11 @@
           </a-col>
 
           <a-col :md="6" :sm="6">
-            <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-            <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
+            <a-space>
+              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+              <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
+              <a-button type="primary" icon="printer" v-print="'#paramsAlarm'" v-has="'paramsAlarm:print'">鎵撳嵃</a-button>
+            </a-space>
           </a-col>
         </a-row>
       </a-form>
@@ -43,6 +46,7 @@
 
     <a-table
       ref="table"
+      id="paramsAlarm"
       bordered
       size="middle"
       rowKey="equipmentid"
@@ -64,7 +68,7 @@
   export default {
     name: 'EquipmentOperationParamsAlarm',
     mixins: [JeecgListMixin],
-    created(){
+    created() {
       this.getDriveTypeByApi()
       this.queryGroup()
     },
@@ -73,7 +77,7 @@
         name: 'EquipmentOperationParamsAlarm',
         description: '杩欐槸璁惧杩愯鍙傛暟鎶ヨ椤甸潰',
         queryParam: {},
-        driveTypeList:[],
+        driveTypeList: [],
         selectList: [],
         columns: [
           {
@@ -127,12 +131,12 @@
           list: '/mdc/mdcOverrunAlarm/list',
           queryEquipmentType: '/mdc/mdcEquipmentType/queryEquipmentType'
         },
-        ipagination:{
+        ipagination: {
           current: 1,
           pageSize: 30,
           pageSizeOptions: ['30', '50', '100'],
           showTotal: (total, range) => {
-            return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+            return range[0] + '-' + range[1] + ' 鍏�' + total + '鏉�'
           },
           showQuickJumper: true,
           showSizeChanger: true,
@@ -145,13 +149,13 @@
         }
       }
     },
-    methods:{
+    methods: {
       /**
        * 璋冪敤鎺ュ彛鑾峰彇鎺у埗绯荤粺绫诲瀷
        */
-      getDriveTypeByApi(){
-        api.getDriveTypeApi().then((res)=>{
-          this.driveTypeList=res.result.map(item=>item.value)
+      getDriveTypeByApi() {
+        api.getDriveTypeApi().then((res) => {
+          this.driveTypeList = res.result.map(item => item.value)
         })
       },
 
@@ -164,7 +168,7 @@
       filterOption(input, option) {
         return (
           option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0
-        );
+        )
       },
 
       queryGroup() {
@@ -184,7 +188,7 @@
         }).finally(() => {
           this.loading = false
         })
-      },
+      }
     }
   }
 </script>
diff --git a/src/views/mdc/base/MdcDriveTypeParamConfigList.vue b/src/views/mdc/base/MdcDriveTypeParamConfigList.vue
index 1647dd9..0bb21a9 100644
--- a/src/views/mdc/base/MdcDriveTypeParamConfigList.vue
+++ b/src/views/mdc/base/MdcDriveTypeParamConfigList.vue
@@ -296,6 +296,18 @@
   data() {
     return {
       description: '璁惧椹卞姩鍙傛暟閰嶇疆绠$悊椤甸潰',
+      /* 鍒嗛〉鍙傛暟 */
+      ipagination:{
+        current: 1,
+        pageSize: 30,
+        pageSizeOptions: ['30', '50', '100'],
+        showTotal: (total, range) => {
+          return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+        },
+        showQuickJumper: true,
+        showSizeChanger: true,
+        total: 0
+      },
       // 琛ㄥご
       columns: [
         {
diff --git a/src/views/mdc/base/MdcEquipmentTypeList.vue b/src/views/mdc/base/MdcEquipmentTypeList.vue
index 27bdd0e..3f6577e 100644
--- a/src/views/mdc/base/MdcEquipmentTypeList.vue
+++ b/src/views/mdc/base/MdcEquipmentTypeList.vue
@@ -126,6 +126,18 @@
     data () {
       return {
         description: '璁惧绫诲瀷绠$悊椤甸潰',
+        /* 鍒嗛〉鍙傛暟 */
+        ipagination:{
+          current: 1,
+          pageSize: 30,
+          pageSizeOptions: ['30', '50', '100'],
+          showTotal: (total, range) => {
+            return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0
+        },
         // 琛ㄥご
         columns: [
           {
diff --git a/src/views/mdc/base/MdcMessageApproval.vue b/src/views/mdc/base/MdcMessageconfirmationList.vue
similarity index 100%
rename from src/views/mdc/base/MdcMessageApproval.vue
rename to src/views/mdc/base/MdcMessageconfirmationList.vue
diff --git a/src/views/mdc/base/MdcPlanCloseList.vue b/src/views/mdc/base/MdcPlanCloseList.vue
new file mode 100644
index 0000000..da6f9d7
--- /dev/null
+++ b/src/views/mdc/base/MdcPlanCloseList.vue
@@ -0,0 +1,226 @@
+<template>
+  <a-card :bordered="false">
+    <!-- 鏌ヨ鍖哄煙 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="24">
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="绫诲瀷">
+              <a-input placeholder="璇疯緭鍏ョ被鍨�" v-model="queryParam.planCloseType"></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="鏃堕棿绫诲瀷">
+              <a-select v-model="queryParam.planCloseTimeType" placeholder="璇烽�夋嫨鏃堕棿绫诲瀷">
+                <a-select-option value="">璇烽�夋嫨</a-select-option>
+                <a-select-option value="澶�">澶�</a-select-option>
+                <a-select-option value="鍛�">鍛�</a-select-option>
+                <a-select-option value="鏈�">鏈�</a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
+              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
+            </span>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 鏌ヨ鍖哄煙-END -->
+
+    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+    <div class="table-operator">
+      <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+      <a-button type="primary" icon="download" @click="importTemplate('璁″垝鍋滄満妯℃澘')">瀵煎叆妯℃澘</a-button>
+      <a-button type="primary" icon="download" @click="handleExportXls('璁″垝鍋滄満绠$悊')">瀵煎嚭</a-button>
+      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"
+                @change="handleImportExcel">
+        <a-button type="primary" icon="import">瀵煎叆</a-button>
+      </a-upload>
+      <a-button type="primary" icon="printer" v-print="'#planClose'" v-has="'planClose:print'">鎵撳嵃</a-button>
+
+      <!-- 楂樼骇鏌ヨ鍖哄煙 -->
+      <!--<j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>-->
+      <a-dropdown v-if="selectedRowKeys.length > 0">
+        <a-menu slot="overlay">
+          <a-menu-item key="1" @click="batchDel">
+            <a-icon type="delete"/>
+            鍒犻櫎
+          </a-menu-item>
+        </a-menu>
+        <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔
+          <a-icon type="down"/>
+        </a-button>
+      </a-dropdown>
+    </div>
+
+    <!-- table鍖哄煙-begin -->
+    <div>
+      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{
+        selectedRowKeys.length }}</a>椤�
+        <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
+      </div>
+
+      <a-table
+        id="planClose"
+        ref="table"
+        size="middle"
+        :scroll="{x:'max-content',y:465}"
+        bordered
+        rowKey="id"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+        class="j-table-force-nowrap"
+        @change="handleTableChange">
+
+        <span slot="action" slot-scope="text, record">
+          <a @click="handleEdit(record)">缂栬緫</a>
+
+          <a-divider type="vertical"/>
+          <a-dropdown>
+            <a class="ant-dropdown-link">鏇村 <a-icon type="down"/></a>
+            <a-menu slot="overlay">
+              <a-menu-item>
+                <a @click="handleDetail(record)">璇︽儏</a>
+              </a-menu-item>
+              <a-menu-item>
+                <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
+                  <a>鍒犻櫎</a>
+                </a-popconfirm>
+              </a-menu-item>
+            </a-menu>
+          </a-dropdown>
+        </span>
+
+      </a-table>
+    </div>
+
+    <mdcplanclose-modal ref="modalForm" @ok="modalFormOk"></mdcplanclose-modal>
+  </a-card>
+</template>
+
+<script>
+
+  import '@/assets/less/TableExpand.less'
+  import { mixinDevice } from '@/utils/mixin'
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import MdcplancloseModal from './modules/MdcplancloseList/MdcplancloseModal'
+
+  export default {
+    name: 'MdcplancloseList',
+    mixins: [JeecgListMixin, mixinDevice],
+    components: {
+      MdcplancloseModal
+    },
+    data() {
+      return {
+        description: 'mdcPlanClose绠$悊椤甸潰',
+        /* 鍒嗛〉鍙傛暟 */
+        ipagination:{
+          current: 1,
+          pageSize: 30,
+          pageSizeOptions: ['30', '50', '100'],
+          showTotal: (total, range) => {
+            return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0
+        },
+        // 琛ㄥご
+        columns: [
+          {
+            title: '#',
+            dataIndex: '',
+            key: 'rowIndex',
+            width: 60,
+            align: 'center',
+            customRender: function(t, r, index) {
+              return parseInt(index) + 1
+            }
+          },
+          {
+            title: '绫诲瀷',
+            align: 'center',
+            dataIndex: 'planCloseType',
+            width: 500
+          },
+          {
+            title: '鏃堕棿绫诲瀷',
+            align: 'center',
+            dataIndex: 'planCloseTimeType',
+            width: 350
+          },
+          {
+            title: '鏃堕暱锛堝垎閽燂級',
+            align: 'center',
+            dataIndex: 'planCloseTimeLong',
+            width: 350
+          },
+          {
+            title: '澶囨敞',
+            align: 'center',
+            dataIndex: 'remark',
+            width: 380
+          },
+          {
+            title: '鎿嶄綔',
+            dataIndex: 'action',
+            align: 'center',
+            fixed: 'right',
+            width: 150,
+            scopedSlots: { customRender: 'action' }
+          }
+        ],
+        url: {
+          list: '/mdc/mdcPlanClose/list',
+          delete: '/mdc/mdcPlanClose/delete',
+          deleteBatch: '/mdc/mdcPlanClose/deleteBatch',
+          exportXlsUrl: '/mdc/mdcPlanClose/exportXls',
+          importExcelUrl: 'mdc/mdcPlanClose/importExcel'
+
+        },
+        dictOptions: {},
+        superFieldList: []
+      }
+    },
+    created() {
+      this.getSuperFieldList()
+    },
+    computed: {
+      importExcelUrl: function() {
+        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
+      }
+    },
+    methods: {
+      importTemplate(fileName) {
+        var a = document.createElement('a')
+        a.href = '/static/璁″垝鍋滄満绠$悊.xls'
+        a.download = '璁″垝鍋滄満绠$悊.xls'
+        a.style.display = 'none'
+        document.body.appendChild(a)
+        a.click()
+        a.remove()
+      },
+      initDictConfig() {
+      },
+      getSuperFieldList() {
+        let fieldList = []
+        fieldList.push({ type: 'string', value: 'planclosetype', text: '绫诲瀷', dictCode: '' })
+        fieldList.push({ type: 'string', value: 'planclosetimetype', text: '鏃堕棿绫诲瀷', dictCode: '' })
+        fieldList.push({ type: 'string', value: 'planclosetimelong', text: '鏃堕暱锛堝垎閽燂級', dictCode: '' })
+        fieldList.push({ type: 'string', value: 'remark', text: '澶囨敞', dictCode: '' })
+        this.superFieldList = fieldList
+      }
+    }
+  }
+</script>
+<style scoped>
+  @import '~@assets/less/common.less';
+</style>
\ No newline at end of file
diff --git a/src/views/mdc/base/mdcProcessQuantity.vue b/src/views/mdc/base/MdcProcessNumber.vue
similarity index 100%
rename from src/views/mdc/base/mdcProcessQuantity.vue
rename to src/views/mdc/base/MdcProcessNumber.vue
diff --git a/src/views/mdc/base/mdcPassRate.vue b/src/views/mdc/base/MdcQualificationRate.vue
similarity index 100%
rename from src/views/mdc/base/mdcPassRate.vue
rename to src/views/mdc/base/MdcQualificationRate.vue
diff --git a/src/views/mdc/base/mdcStandardProcessDuration.vue b/src/views/mdc/base/MdcStandardProcessTime.vue
similarity index 100%
rename from src/views/mdc/base/mdcStandardProcessDuration.vue
rename to src/views/mdc/base/MdcStandardProcessTime.vue
diff --git a/src/views/mdc/base/MdcUtilizationRateList.vue b/src/views/mdc/base/MdcUtilizationRateList.vue
index e1c0abe..896efef 100644
--- a/src/views/mdc/base/MdcUtilizationRateList.vue
+++ b/src/views/mdc/base/MdcUtilizationRateList.vue
@@ -82,6 +82,18 @@
     },
     data() {
       return {
+        /* 鍒嗛〉鍙傛暟 */
+        ipagination:{
+          current: 1,
+          pageSize: 30,
+          pageSizeOptions: ['30', '50', '100'],
+          showTotal: (total, range) => {
+            return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0
+        },
         columns: [{
           title: '绫诲埆',
           align: 'center',
diff --git a/src/views/WorkshopSignage.vue b/src/views/mdc/base/MdcWorkshopSignage.vue
similarity index 98%
rename from src/views/WorkshopSignage.vue
rename to src/views/mdc/base/MdcWorkshopSignage.vue
index c803017..726eb37 100644
--- a/src/views/WorkshopSignage.vue
+++ b/src/views/mdc/base/MdcWorkshopSignage.vue
@@ -108,7 +108,7 @@
   import VueDragResize from 'vue-drag-resize'
   import api from '@/api/mdc'
   import { getFileAccessHttpUrl } from '@/api/manage'
-  import EquipmentDetailModal from './mdc/base/modules/WorkshopSignage/EquipmentDetailModal'
+  import EquipmentDetailModal from './modules/WorkshopSignage/EquipmentDetailModal'
   import { message } from 'ant-design-vue'
 
   message.config({
@@ -452,7 +452,7 @@
 
 <style scoped lang="less">
   .full-screen-container {
-    background-image: url('../assets/Bj.jpg');
+    background-image: url('../../../assets/Bj.jpg');
     background-size: 100% 100%;
     color: #fff;
 
diff --git a/src/views/mdc/base/MdcplancloseList.vue b/src/views/mdc/base/MdcplancloseList.vue
deleted file mode 100644
index a90b63a..0000000
--- a/src/views/mdc/base/MdcplancloseList.vue
+++ /dev/null
@@ -1,204 +0,0 @@
-<template>
-  <a-card :bordered="false">
-    <!-- 鏌ヨ鍖哄煙 -->
-    <div class="table-page-search-wrapper">
-      <a-form layout="inline" @keyup.enter.native="searchQuery">
-        <a-row :gutter="24">
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="绫诲瀷">
-              <a-input placeholder="璇疯緭鍏ョ被鍨�" v-model="queryParam.planCloseType"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="鏃堕棿绫诲瀷">
-                <a-select v-model="queryParam.planCloseTimeType" placeholder="璇烽�夋嫨鏃堕棿绫诲瀷">
-                  <a-select-option value="">璇烽�夋嫨</a-select-option>
-                  <a-select-option value="澶�">澶�</a-select-option>
-                  <a-select-option value="鍛�">鍛�</a-select-option>
-                  <a-select-option value="鏈�">鏈�</a-select-option>
-                </a-select>
-              </a-form-item>
-          </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
-            </span>
-          </a-col>
-        </a-row>
-      </a-form>
-    </div>
-    <!-- 鏌ヨ鍖哄煙-END -->
-
-    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
-    <div class="table-operator">
-      <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
-      <a-button type="primary" icon="download" @click="importTemplate('璁″垝鍋滄満妯℃澘')">瀵煎叆妯℃澘</a-button>
-      <a-button type="primary" icon="download" @click="handleExportXls('璁″垝鍋滄満绠$悊')">瀵煎嚭</a-button>
-      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
-        <a-button type="primary" icon="import">瀵煎叆</a-button>
-      </a-upload>
-      <!-- 楂樼骇鏌ヨ鍖哄煙 -->
-      <!--<j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>-->
-      <a-dropdown v-if="selectedRowKeys.length > 0">
-        <a-menu slot="overlay">
-          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item>
-        </a-menu>
-        <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button>
-      </a-dropdown>
-    </div>
-
-    <!-- table鍖哄煙-begin -->
-    <div>
-      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
-        <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
-      </div>
-
-      <a-table
-        ref="table"
-        size="middle"
-        :scroll="{x:'max-content',y:465}"
-        bordered
-        rowKey="id"
-        :columns="columns"
-        :dataSource="dataSource"
-        :pagination="ipagination"
-        :loading="loading"
-        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-        class="j-table-force-nowrap"
-        @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">缂栬緫</a>
-
-          <a-divider type="vertical" />
-          <a-dropdown>
-            <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a @click="handleDetail(record)">璇︽儏</a>
-              </a-menu-item>
-              <a-menu-item>
-                <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
-                  <a>鍒犻櫎</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-      </a-table>
-    </div>
-
-    <mdcplanclose-modal ref="modalForm" @ok="modalFormOk"></mdcplanclose-modal>
-  </a-card>
-</template>
-
-<script>
-
-  import '@/assets/less/TableExpand.less'
-  import { mixinDevice } from '@/utils/mixin'
-  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-  import MdcplancloseModal from './modules/MdcplancloseList/MdcplancloseModal'
-
-  export default {
-    name: 'MdcplancloseList',
-    mixins:[JeecgListMixin, mixinDevice],
-    components: {
-      MdcplancloseModal
-    },
-    data () {
-      return {
-        description: 'mdcPlanClose绠$悊椤甸潰',
-        // 琛ㄥご
-        columns: [
-          {
-            title: '#',
-            dataIndex: '',
-            key:'rowIndex',
-            width:60,
-            align:"center",
-            customRender:function (t,r,index) {
-              return parseInt(index)+1;
-            }
-          },
-          {
-            title:'绫诲瀷',
-            align:"center",
-            dataIndex: 'planCloseType',
-            width:500
-          },
-          {
-            title:'鏃堕棿绫诲瀷',
-            align:"center",
-            dataIndex: 'planCloseTimeType',
-            width:350
-          },
-          {
-            title:'鏃堕暱锛堝垎閽燂級',
-            align:"center",
-            dataIndex: 'planCloseTimeLong',
-            width:350
-          },
-          {
-            title:'澶囨敞',
-            align:"center",
-            dataIndex: 'remark',
-            width:380
-          },
-          {
-            title: '鎿嶄綔',
-            dataIndex: 'action',
-            align:"center",
-            fixed:"right",
-            width:150,
-            scopedSlots: { customRender: 'action' }
-          }
-        ],
-        url: {
-          list: "/mdc/mdcPlanClose/list",
-          delete: "/mdc/mdcPlanClose/delete",
-          deleteBatch: "/mdc/mdcPlanClose/deleteBatch",
-          exportXlsUrl: "/mdc/mdcPlanClose/exportXls",
-          importExcelUrl: "mdc/mdcPlanClose/importExcel",
-
-        },
-        dictOptions:{},
-        superFieldList:[],
-      }
-    },
-    created() {
-    this.getSuperFieldList();
-    },
-    computed: {
-      importExcelUrl: function(){
-        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-      },
-    },
-    methods: {
-      importTemplate(fileName){
-        var a = document.createElement("a");
-        a.href = "/static/璁″垝鍋滄満绠$悊.xls";
-        a.download = "璁″垝鍋滄満绠$悊.xls";
-        a.style.display = "none";
-        document.body.appendChild(a);
-        a.click();
-        a.remove();
-      },
-      initDictConfig(){
-      },
-      getSuperFieldList(){
-        let fieldList=[];
-        fieldList.push({type:'string',value:'planclosetype',text:'绫诲瀷',dictCode:''})
-        fieldList.push({type:'string',value:'planclosetimetype',text:'鏃堕棿绫诲瀷',dictCode:''})
-        fieldList.push({type:'string',value:'planclosetimelong',text:'鏃堕暱锛堝垎閽燂級',dictCode:''})
-        fieldList.push({type:'string',value:'remark',text:'澶囨敞',dictCode:''})
-        this.superFieldList = fieldList
-      }
-    }
-  }
-</script>
-<style scoped>
-  @import '~@assets/less/common.less';
-</style>
\ No newline at end of file
diff --git a/src/views/mdc/base/WorkshopSignageEntrance.vue b/src/views/mdc/base/WorkshopSignageEntrance.vue
new file mode 100644
index 0000000..1af14ee
--- /dev/null
+++ b/src/views/mdc/base/WorkshopSignageEntrance.vue
@@ -0,0 +1,70 @@
+<template>
+  <div class="page-container">
+    <a-list
+      :grid="{ gutter: [{xs: 0, sm: 24, md: 24, lg: 56, xl: 64, xxl: 80},20], xs: 1, sm: 2, md: 2, lg: 3, xl: 4, xxl: 4 }"
+      :data-source="workshopList">
+      <a-list-item slot="renderItem" slot-scope="item, index">
+        <div class="workshop-name" @click="navigateToWorkshopSignage(item.id)">{{item.workshopName}}</div>
+      </a-list-item>
+    </a-list>
+
+  </div>
+</template>
+
+<script>
+  import api from '@/api/mdc'
+
+  export default {
+    name: 'WorkshopSignageEntrance',
+    data() {
+      return {
+        indexStyle: 1,
+        workshopList: []
+      }
+    },
+    created() {
+      this.getWorkshopListByApi()
+    },
+    methods: {
+      /**
+       * 閫氳繃杞﹂棿Id璺宠浆鑷崇浉搴旇溅闂村ぇ灞忕湅鏉�
+       * @param id 杞﹂棿Id
+       */
+      navigateToWorkshopSignage(id) {
+        const url = this.$router.resolve(`/MdcWorkshopSignage/${id}`).href
+        window.open(url, '_blank')
+      },
+      /**
+       * 鑾峰彇杞﹂棿鍒楄〃
+       */
+      getWorkshopListByApi() {
+        api.getWorkshopListInHomePageApi().then(res => {
+          console.log('res', res)
+          if (res.result && res.result.length > 0) {
+            this.workshopList = res.result
+          }
+        })
+      }
+    }
+  }
+</script>
+
+<style lang="less" scoped>
+  .page-container {
+    padding: 30px 30px 0;
+
+    .workshop-name {
+      width: 100%;
+      background: #fff;
+      padding: 55px 0;
+      border-radius: 20px;
+      text-align: center;
+      white-space: nowrap;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      font-size: 30px;
+      cursor: pointer;
+    }
+  }
+
+</style>
\ No newline at end of file
diff --git a/src/views/mdc/base/modules/DeviceProcessReport/DeviceProcessReportList.vue b/src/views/mdc/base/modules/DeviceProcessReport/DeviceProcessReportList.vue
index f6ae0f2..10b3f60 100644
--- a/src/views/mdc/base/modules/DeviceProcessReport/DeviceProcessReportList.vue
+++ b/src/views/mdc/base/modules/DeviceProcessReport/DeviceProcessReportList.vue
@@ -5,7 +5,7 @@
         <div class="table-page-search-wrapper">
           <a-form layout="inline" @keyup.enter.native="searchQuery">
             <a-row :gutter="24">
-              <a-col :md="5" :sm="5" :xs="5">
+              <a-col :md="4" :sm="4" :xs="4">
                 <a-form-item label="椹卞姩绫诲瀷">
                   <a-auto-complete
                     v-model="queryParam.driveType"
@@ -17,7 +17,20 @@
                 </a-form-item>
               </a-col>
 
-              <a-col :md="7" :sm="7" :xs="7">
+              <a-col :md="4" :sm="4" :xs="4">
+                <a-form-item label="璁惧绾у埆">
+                  <j-dict-select-tag placeholder="璇烽�夋嫨璁惧绾у埆" dictCode="device_level" v-model="queryParam.deviceLevel"
+                                     allow-clear/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="4" :sm="4" :xs="4">
+                <a-form-item label="璁惧绉嶇被">
+                  <j-dict-select-tag placeholder="璇烽�夋嫨璁惧绉嶇被" dictCode="device_category" v-model="queryParam.deviceCategory"
+                                     allow-clear/>
+                </a-form-item>
+              </a-col>
+
+              <a-col :md="5" :sm="5" :xs="5">
                 <a-form-item label="鏃堕棿">
                   <a-range-picker
                     :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']"
@@ -33,6 +46,7 @@
                   <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
                   <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
                   <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
+                  <a-button type="primary" icon="printer" v-print="'#EfficiencyShift'" v-has="'deviceProcess:print'">鎵撳嵃</a-button>
                 </a-space>
               </a-col>
             </a-row>
diff --git a/src/views/mdc/base/modules/HolidayManagement/HolidayManagementList.vue b/src/views/mdc/base/modules/HolidayManagement/HolidayManagementList.vue
index 6a2918f..3b17e56 100644
--- a/src/views/mdc/base/modules/HolidayManagement/HolidayManagementList.vue
+++ b/src/views/mdc/base/modules/HolidayManagement/HolidayManagementList.vue
@@ -43,6 +43,7 @@
       <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
       <a-button type="primary" icon="import">瀵煎叆</a-button>
       </a-upload>
+      <a-button type="primary" icon="printer" v-print="'#DeviceList'" v-has="'holidayManagement:print'">鎵撳嵃</a-button>
 
       <a-dropdown v-if="selectedRowKeys.length > 0">
         <a-menu slot="overlay">
@@ -185,6 +186,18 @@
             fixed:'right'
           }
         ],
+        /* 鍒嗛〉鍙傛暟 */
+        ipagination:{
+          current: 1,
+          pageSize: 30,
+          pageSizeOptions: ['30', '50', '100'],
+          showTotal: (total, range) => {
+            return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0
+        },
         url: {
           list: '/mdc/mdcVacationManagement/pageList',
           delete: '/mdc/mdcVacationManagement/deleteVacation',
diff --git a/src/views/mdc/base/modules/OEEAnalysis/OEEAnalysisList.vue b/src/views/mdc/base/modules/OEEAnalysis/OEEAnalysisList.vue
index 0b18f26..43395c1 100644
--- a/src/views/mdc/base/modules/OEEAnalysis/OEEAnalysisList.vue
+++ b/src/views/mdc/base/modules/OEEAnalysis/OEEAnalysisList.vue
@@ -5,7 +5,7 @@
       <div class="table-page-search-wrapper">
         <a-form layout="inline" @keyup.enter.native="searchQuery">
           <a-row :gutter="24">
-            <a-col :md="5" :sm="5" :xs="5">
+            <a-col :md="4" :sm="4" :xs="4">
               <a-form-item label="椹卞姩绫诲瀷">
                 <a-auto-complete
                   v-model="queryParam.driveType"
@@ -16,7 +16,19 @@
                 />
               </a-form-item>
             </a-col>
-            <a-col :md="7" :sm="7" :xs="7">
+            <a-col :md="4" :sm="4" :xs="4">
+              <a-form-item label="璁惧绾у埆">
+                <j-dict-select-tag placeholder="璇烽�夋嫨璁惧绾у埆" dictCode="device_level" v-model="queryParam.deviceLevel"
+                                   allow-clear/>
+              </a-form-item>
+            </a-col>
+            <a-col :md="4" :sm="4" :xs="4">
+              <a-form-item label="璁惧绉嶇被">
+                <j-dict-select-tag placeholder="璇烽�夋嫨璁惧绉嶇被" dictCode="device_category" v-model="queryParam.deviceCategory"
+                                   allow-clear/>
+              </a-form-item>
+            </a-col>
+            <a-col :md="5" :sm="5" :xs="5">
               <a-form-item label="鏃堕棿">
                 <a-range-picker
                   :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']"
@@ -28,11 +40,14 @@
                 />
               </a-form-item>
             </a-col>
-            <a-col :md="2" :sm="2" :xs="2">
+            <a-col :md="4" :sm="4" :xs="4">
               <a-space>
                 <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
                 <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
                 <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
+                <a-button type="primary" icon="printer" v-print="'#EfficiencyShift'" v-has="'efficiencyShift:print'">
+                  鎵撳嵃
+                </a-button>
               </a-space>
             </a-col>
           </a-row>
diff --git a/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementList.vue b/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementList.vue
index 2486fc5..9f9fd47 100644
--- a/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementList.vue
+++ b/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementList.vue
@@ -46,6 +46,8 @@
       <!--<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">-->
       <!--&lt;!&ndash;<a-button type="primary" icon="import">瀵煎叆</a-button>&ndash;&gt;-->
       <!--</a-upload>-->
+      <a-button type="primary" icon="printer" v-print="'#DeviceList'" v-has="'overtimeManagement:print'">鎵撳嵃</a-button>
+
       <a-dropdown v-if="selectedRowKeys.length > 0">
         <a-menu slot="overlay">
           <a-menu-item key="1" @click="batchDel">
@@ -148,12 +150,24 @@
         queryParamPeople:{},
         dataStartsoucre:[],
         scrollY:465,
+        /* 鍒嗛〉鍙傛暟 */
+        ipagination:{
+          current: 1,
+          pageSize: 30,
+          pageSizeOptions: ['30', '50', '100'],
+          showTotal: (total, range) => {
+            return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0
+        },
         columns: [
           {
             title: '璁惧缂栧彿',
             align: 'center',
             dataIndex: 'equipmentId',
-            width:150
+            width:180
           },
           {
             title: '璁惧鍚嶇О',
@@ -167,7 +181,7 @@
             title: '鏃ユ湡',
             align: 'center',
             dataIndex: 'theDate',
-            width:150
+            width:180
             // scopedSlots:{customRender:'startTime'},
             // customRender:(text,row,index) => {
             //   return moment(text).format("YYYY-MM-DD HH:mm:ss")
diff --git a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue
index bac753b..e9f6724 100644
--- a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue
+++ b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue
@@ -145,6 +145,18 @@
         queryParamPeople:{},
         dataStartsoucre:[],
         scrollY:465,
+        /* 鍒嗛〉鍙傛暟 */
+        ipagination:{
+          current: 1,
+          pageSize: 30,
+          pageSizeOptions: ['30', '50', '100'],
+          showTotal: (total, range) => {
+            return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0
+        },
         columns: [
           {
             title: '璁惧缂栧彿',
diff --git a/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerList.vue b/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerList.vue
index 9e81036..0b9e19c 100644
--- a/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerList.vue
+++ b/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerList.vue
@@ -46,6 +46,8 @@
       <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
       <a-button type="primary" icon="import">瀵煎叆</a-button>
       </a-upload>
+      <a-button type="primary" icon="printer" v-print="'#DeviceList'" v-has="'unplannedDowntime:print'">鎵撳嵃</a-button>
+
       <a-dropdown v-if="selectedRowKeys.length > 0">
         <a-menu slot="overlay">
           <a-menu-item key="1" @click="batchDel">
@@ -141,6 +143,18 @@
         queryParamPeople:{},
         dataStartsoucre:[],
         scrollY:465,
+        /* 鍒嗛〉鍙傛暟 */
+        ipagination:{
+          current: 1,
+          pageSize: 30,
+          pageSizeOptions: ['30', '50', '100'],
+          showTotal: (total, range) => {
+            return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0
+        },
         columns: [
           {
             title: '#',
diff --git a/src/views/mdc/base/modules/deviceRepair/DeviceRepairList.vue b/src/views/mdc/base/modules/deviceRepair/DeviceRepairList.vue
index 25fbb93..2a5c4e1 100644
--- a/src/views/mdc/base/modules/deviceRepair/DeviceRepairList.vue
+++ b/src/views/mdc/base/modules/deviceRepair/DeviceRepairList.vue
@@ -129,6 +129,18 @@
         queryParamPeople:{},
         dataStartsoucre:[],
         scrollY:465,
+        /* 鍒嗛〉鍙傛暟 */
+        ipagination:{
+          current: 1,
+          pageSize: 30,
+          pageSizeOptions: ['30', '50', '100'],
+          showTotal: (total, range) => {
+            return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0
+        },
         columns: [
           {
             title: '璁惧缂栧彿',
diff --git a/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue b/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
index 02e63d1..12fb629 100644
--- a/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
+++ b/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
@@ -5,7 +5,7 @@
       <div class="table-page-search-wrapper">
         <a-form layout="inline" @keyup.enter.native="searchQuery">
           <a-row :gutter="24">
-            <a-col :md="5" :sm="5">
+            <a-col :md="4" :sm="4">
               <a-form-item label="璁惧绫诲瀷">
                 <a-select placeholder="璇烽�夋嫨璁惧绫诲瀷" :triggerChange="true" v-model="queryParam.equipmentType" :allowClear="true">
                   <a-select-option v-for='item in selectList' :key='item.id' :value='item.equipmentTypeName'>
@@ -14,7 +14,7 @@
                 </a-select>
               </a-form-item>
             </a-col>
-            <a-col :md="5" :sm="5">
+            <a-col :md="4" :sm="4">
               <a-form-item label="椹卞姩绫诲瀷">
                 <a-auto-complete
                   v-model="queryParam.driveType"
@@ -30,8 +30,50 @@
                 <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" v-model="dates" :allowClear="false"/>
               </a-form-item>
             </a-col>
-            <a-col :md="8" :sm="8" style="display: flex;align-items: flex-start;-webkit-align-items: flex-start;justify-content: space-between;">
-              <table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;margin-left: 24px">
+            <a-col :md="4" :sm="4" :xs="4">
+              <a-form-item label="璁惧绾у埆">
+                <j-dict-select-tag placeholder="璇烽�夋嫨璁惧绾у埆" dictCode="device_level" v-model="queryParam.deviceLevel"
+                                   allow-clear/>
+              </a-form-item>
+            </a-col>
+            <a-col :md="4" :sm="4" :xs="4">
+              <a-form-item label="璁惧绉嶇被">
+                <j-dict-select-tag placeholder="璇烽�夋嫨璁惧绉嶇被" dictCode="device_category"
+                                   v-model="queryParam.deviceCategory"
+                                   allow-clear/>
+              </a-form-item>
+            </a-col>
+            <!--<a-col :md="8" :sm="8" style="display: flex;align-items: flex-start;-webkit-align-items: flex-start;justify-content: space-between;">-->
+              <!--<table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;margin-left: 24px">-->
+                <!--<tr>-->
+                  <!--<td v-for="(item, index) in identifying">{{item.title}}</td>-->
+                <!--</tr>-->
+                <!--<tr>-->
+                  <!--<td style="text-align:center;" v-for="(item, index) in identifying">-->
+                    <!--<div class="identifyingclass" :style="{background: item.color}"></div>-->
+                  <!--</td>-->
+                  <!--&lt;!&ndash;<td style="text-align:center;"><div style="width: 55px;height: 15px;background-color: #e8ff37;display:inline-block"></div></td>&ndash;&gt;-->
+                  <!--&lt;!&ndash;<td style="text-align:center;"><div style="width: 55px;height: 15px;background-color: #99ff4e;display:inline-block"></div></td>&ndash;&gt;-->
+                <!--</tr>-->
+              <!--</table>-->
+            <!--</a-col>-->
+          </a-row>
+          <a-row :gutter="24" type="flex" align="middle">
+            <a-col :md="24" :sm="24" :xs="24"
+                   style="display: flex;justify-content: space-between;align-items: flex-start">
+              <div>
+                <a-space style="margin-right: 20px">
+                  <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+                  <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
+                  <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
+                  <a-button type="primary" icon="printer" v-print="'#EfficiencyPO'"
+                            v-has="'EfficiencyPO:print'">鎵撳嵃
+                  </a-button>
+                </a-space>
+                <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
+                                  @change="efficiencyOptionsOnChange"/>
+              </div>
+              <table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;">
                 <tr>
                   <td v-for="(item, index) in identifying">{{item.title}}</td>
                 </tr>
@@ -39,24 +81,21 @@
                   <td style="text-align:center;" v-for="(item, index) in identifying">
                     <div class="identifyingclass" :style="{background: item.color}"></div>
                   </td>
-                  <!--<td style="text-align:center;"><div style="width: 55px;height: 15px;background-color: #e8ff37;display:inline-block"></div></td>-->
-                  <!--<td style="text-align:center;"><div style="width: 55px;height: 15px;background-color: #99ff4e;display:inline-block"></div></td>-->
                 </tr>
               </table>
             </a-col>
-          </a-row>
-          <a-row :gutter="24" type="flex" align="middle">
-            <a-col :md="5" :sm="5">
-              <a-space>
-                <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-                <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
-                <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
-              </a-space>
-            </a-col>
-            <a-col :md="19" :sm="19">
-              <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
-                                @change="efficiencyOptionsOnChange"/>
-            </a-col>
+            <!--<a-col :md="6" :sm="6">-->
+              <!--<a-space>-->
+                <!--<a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>-->
+                <!--<a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>-->
+                <!--<a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>-->
+                <!--<a-button type="primary" icon="printer" v-print="'#EfficiencyPO'" v-has="'EfficiencyPO:print'">鎵撳嵃</a-button>-->
+              <!--</a-space>-->
+            <!--</a-col>-->
+            <!--<a-col :md="18" :sm="18">-->
+              <!--<a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"-->
+                                <!--@change="efficiencyOptionsOnChange"/>-->
+            <!--</a-col>-->
           </a-row>
         </a-form>
       </div>
diff --git a/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue b/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue
index cc8458f..f7227f6 100644
--- a/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue
+++ b/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue
@@ -6,7 +6,7 @@
         <div class="table-page-search-wrapper">
           <a-form layout="inline" @keyup.enter.native="searchQuery">
             <a-row :gutter="24">
-              <a-col :md="5" :sm="5">
+              <a-col :md="4" :sm="4">
                 <a-form-item label="璁惧绫诲瀷">
                   <a-select placeholder="璇烽�夋嫨璁惧绫诲瀷" :triggerChange="true" v-model="queryParam.equipmentType"
                             :allowClear="true">
@@ -16,7 +16,7 @@
                   </a-select>
                 </a-form-item>
               </a-col>
-              <a-col :md="5" :sm="5">
+              <a-col :md="4" :sm="4">
                 <a-form-item label="椹卞姩绫诲瀷">
                   <a-auto-complete
                     v-model="queryParam.driveType"
@@ -32,16 +32,37 @@
                                   v-model="dates" :allowClear="false"/>
                 </a-form-item>
               </a-col>
-              <a-col :md="8" :sm="8"
-                     style="display: flex;align-items: flex-start;-webkit-align-items: flex-start;justify-content: space-between;">
-                <!--<a-space>-->
-                  <!--<a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>-->
-                  <!--<a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>-->
-                  <!--<a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>-->
-                  <!--<a-button type="primary" icon="printer" v-print="'#Efficiency'" v-has="'efficiency:print'">鎵撳嵃-->
-                  <!--</a-button>-->
-                <!--</a-space>-->
-                <table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;margin-left: 24px">
+              <a-col :md="4" :sm="4" :xs="4">
+                <a-form-item label="璁惧绾у埆">
+                  <j-dict-select-tag placeholder="璇烽�夋嫨璁惧绾у埆" dictCode="device_level" v-model="queryParam.deviceLevel"
+                                     allow-clear/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="4" :sm="4" :xs="4">
+                <a-form-item label="璁惧绉嶇被">
+                  <j-dict-select-tag placeholder="璇烽�夋嫨璁惧绉嶇被" dictCode="device_category"
+                                     v-model="queryParam.deviceCategory"
+                                     allow-clear/>
+                </a-form-item>
+              </a-col>
+            </a-row>
+
+            <a-row :gutter="24" type="flex" align="middle">
+              <a-col :md="24" :sm="24" :xs="24"
+                     style="display: flex;justify-content: space-between;align-items: flex-start">
+                <div>
+                  <a-space style="margin-right: 20px">
+                    <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+                    <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
+                    <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
+                    <a-button type="primary" icon="printer" v-print="'#Efficiency'"
+                              v-has="'efficiency:print'">鎵撳嵃
+                    </a-button>
+                  </a-space>
+                  <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
+                                    @change="efficiencyOptionsOnChange"/>
+                </div>
+                <table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;">
                   <tr>
                     <td v-for="(item, index) in identifying">{{item.title}}</td>
                   </tr>
@@ -49,26 +70,22 @@
                     <td style="text-align:center;" v-for="(item, index) in identifying">
                       <div class="identifyingclass" :style="{background: item.color}"></div>
                     </td>
-                    <!--<td style="text-align:center;"><div style="width: 55px;height: 15px;background-color: #e8ff37;display:inline-block"></div></td>-->
-                    <!--<td style="text-align:center;"><div style="width: 55px;height: 15px;background-color: #99ff4e;display:inline-block"></div></td>-->
                   </tr>
                 </table>
               </a-col>
-            </a-row>
-            <a-row :gutter="24" type="flex" align="middle">
-              <a-col :md="6" :sm="6">
-                <a-space>
-                  <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-                  <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
-                  <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
-                  <a-button type="primary" icon="printer" v-print="'#Efficiency'" v-has="'efficiency:print'">鎵撳嵃
-                  </a-button>
-                </a-space>
-              </a-col>
-              <a-col :md="18" :sm="18">
-                <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
-                                  @change="efficiencyOptionsOnChange"/>
-              </a-col>
+              <!--<a-col :md="6" :sm="6">-->
+                <!--<a-space>-->
+                  <!--<a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>-->
+                  <!--<a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>-->
+                  <!--<a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>-->
+                  <!--<a-button type="primary" icon="printer" v-print="'#Efficiency'" v-has="'efficiency:print'">鎵撳嵃-->
+                  <!--</a-button>-->
+                <!--</a-space>-->
+              <!--</a-col>-->
+              <!--<a-col :md="18" :sm="18">-->
+                <!--<a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"-->
+                                  <!--@change="efficiencyOptionsOnChange"/>-->
+              <!--</a-col>-->
             </a-row>
           </a-form>
         </div>
diff --git a/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue b/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue
index 457d549..3f7e5b5 100644
--- a/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue
+++ b/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue
@@ -4,112 +4,142 @@
       <!-- 鏌ヨ鍖哄煙 -->
       <div class="seach-content">
         <div class="table-page-search-wrapper">
-        <a-form layout="inline" @keyup.enter.native="searchQuery">
-          <a-row :gutter="24">
-            <a-col :md="5" :sm="5" >
-              <a-form-item label="璁惧绫诲瀷">
-                <a-select placeholder="璇烽�夋嫨璁惧绫诲瀷" :triggerChange="true" v-model="queryParam.equipmentType" :allowClear="true">
-                  <a-select-option v-for='item in selectList' :key='item.id' :value='item.equipmentTypeName'>
-                    {{item.equipmentTypeName}}
-                  </a-select-option>
-                </a-select>
-              </a-form-item>
-            </a-col>
-            <a-col :md="5" :sm="5">
-              <a-form-item label="椹卞姩绫诲瀷">
-                <a-auto-complete
-                  v-model="queryParam.driveType"
-                  :data-source="driveTypeList"
-                  placeholder="璇烽�夋嫨椹卞姩绫诲瀷"
-                  :filter-option="filterOption"
-                />
-              </a-form-item>
-            </a-col>
-            <a-col :md="5" :sm="5" :xs="5">
-              <a-form-item label="鏃堕棿">
-                <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" v-model="dates" :allowClear="false"/>
-              </a-form-item>
-            </a-col>
-            <a-col :md="4" :sm="4" :xs="4">
-              <a-form-item label="鐝埗">
-                <a-select v-model="queryParam.shiftId" placeholder="璇烽�夋嫨鐝埗"
-                          @change="initShiftSubList" :allowClear = "allowClear">
-                  <a-select-option v-for="(em,index) in shiftList" :key="index" :value="em.value">
-                    {{ em.label }}
-                  </a-select-option>
-                </a-select>
-              </a-form-item>
-            </a-col>
-            <a-col :md="4" :sm="4" :xs="4">
-              <a-form-item label="鐝">
-                <a-select v-model="queryParam.shiftSubId" placeholder="璇烽�夋嫨鐝" @change="initShiftSubListChange"  :allowClear = "allowClearSu">
-                  <a-select-option v-for="(em,index) in shiftSubList" :key="index" :value="em.value">
-                    {{ em.label }}
-                  </a-select-option>
-                </a-select>
-              </a-form-item>
-            </a-col>
-            <!--<a-col :md="7" :sm="7" :xs="7">-->
-              <!--<a-space>-->
-                <!--<a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>-->
-                <!--<a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>-->
-                <!--<a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>-->
-              <!--</a-space>-->
-            <!--</a-col>-->
-          </a-row>
-          <a-row :gutter="24" type="flex" align="middle">
-            <a-col :md="24" :sm="24" :xs="24" style="display: flex;justify-content: space-between;align-items: flex-start">
-              <div>
-                <a-space style="margin-right: 20px">
-                  <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-                  <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
-                  <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
-                </a-space>
-                <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
-                                  @change="efficiencyOptionsOnChange"/>
-              </div>
-              <table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;">
-                <tr>
-                  <td v-for="(item, index) in identifying">{{item.title}}</td>
-                </tr>
-                <tr>
-                  <td style="text-align:center;" v-for="(item, index) in identifying">
-                    <div class="identifyingclass" :style="{background: item.color}"></div>
-                  </td>
-                </tr>
-              </table>
-            </a-col>
-          </a-row>
-        </a-form>
+          <a-form layout="inline" @keyup.enter.native="searchQuery">
+            <a-row :gutter="24">
+              <a-col :md="4" :sm="4">
+                <a-form-item label="璁惧绫诲瀷">
+                  <a-select placeholder="璇烽�夋嫨璁惧绫诲瀷" :triggerChange="true" v-model="queryParam.equipmentType"
+                            :allowClear="true">
+                    <a-select-option v-for='item in selectList' :key='item.id' :value='item.equipmentTypeName'>
+                      {{item.equipmentTypeName}}
+                    </a-select-option>
+                  </a-select>
+                </a-form-item>
+              </a-col>
+              <a-col :md="4" :sm="4">
+                <a-form-item label="椹卞姩绫诲瀷">
+                  <a-auto-complete
+                    v-model="queryParam.driveType"
+                    :data-source="driveTypeList"
+                    placeholder="璇烽�夋嫨椹卞姩绫诲瀷"
+                    :filter-option="filterOption"
+                  />
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="6" :xs="6">
+                <a-form-item label="鏃堕棿">
+                  <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD"
+                                  v-model="dates" :allowClear="false"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="4" :sm="4" :xs="4">
+                <a-form-item label="鐝埗">
+                  <a-select v-model="queryParam.shiftId" placeholder="璇烽�夋嫨鐝埗"
+                            @change="initShiftSubList" :allowClear="allowClear">
+                    <a-select-option v-for="(em,index) in shiftList" :key="index" :value="em.value">
+                      {{ em.label }}
+                    </a-select-option>
+                  </a-select>
+                </a-form-item>
+              </a-col>
+              <a-col :md="4" :sm="4" :xs="4">
+                <a-form-item label="鐝">
+                  <a-select v-model="queryParam.shiftSubId" placeholder="璇烽�夋嫨鐝" @change="initShiftSubListChange"
+                            :allowClear="allowClearSu">
+                    <a-select-option v-for="(em,index) in shiftSubList" :key="index" :value="em.value">
+                      {{ em.label }}
+                    </a-select-option>
+                  </a-select>
+                </a-form-item>
+              </a-col>
+              <a-col :md="2" :sm="2">
+                <a
+                  @click="toggleSearchStatus=!toggleSearchStatus"
+                  style="display:block;height: 32px;display: flex;align-items: center"
+                >
+                  {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }}
+                  <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
+                </a>
+              </a-col>
+            </a-row>
+
+            <a-row :gutter="24" v-if="toggleSearchStatus">
+              <a-col :md="4" :sm="4" :xs="4">
+                <a-form-item label="璁惧绾у埆">
+                  <j-dict-select-tag placeholder="璇烽�夋嫨璁惧绾у埆" dictCode="device_level" v-model="queryParam.deviceLevel"
+                                     allow-clear/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="4" :sm="4" :xs="4">
+                <a-form-item label="璁惧绉嶇被">
+                  <j-dict-select-tag placeholder="璇烽�夋嫨璁惧绉嶇被" dictCode="device_category"
+                                     v-model="queryParam.deviceCategory"
+                                     allow-clear/>
+                </a-form-item>
+              </a-col>
+            </a-row>
+
+            <a-row :gutter="24" type="flex" align="middle">
+              <a-col :md="24" :sm="24" :xs="24"
+                     style="display: flex;justify-content: space-between;align-items: flex-start">
+                <div>
+                  <a-space style="margin-right: 20px">
+                    <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+                    <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
+                    <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
+                    <a-button type="primary" icon="printer" v-print="'#EfficiencyShift'"
+                              v-has="'efficiencyShiftReport:print'">鎵撳嵃
+                    </a-button>
+                  </a-space>
+                  <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
+                                    @change="efficiencyOptionsOnChange"/>
+                </div>
+                <table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;">
+                  <tr>
+                    <td v-for="(item, index) in identifying">{{item.title}}</td>
+                  </tr>
+                  <tr>
+                    <td style="text-align:center;" v-for="(item, index) in identifying">
+                      <div class="identifyingclass" :style="{background: item.color}"></div>
+                    </td>
+                  </tr>
+                </table>
+              </a-col>
+            </a-row>
+          </a-form>
         </div>
         <!--<div style="width: 530px;position:absolute;top: 10px; right: 0;">-->
-          <!--<table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;">-->
-            <!--<tr>-->
-              <!--<td v-for="(item, index) in identifying">{{item.title}}</td>-->
-            <!--</tr>-->
-            <!--<tr>-->
-              <!--<td style="text-align:center;" v-for="(item, index) in identifying">-->
-                <!--<div class="identifyingclass" :style="{background: item.color}"></div>-->
-              <!--</td>-->
-            <!--</tr>-->
-          <!--</table>-->
+        <!--<table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;">-->
+        <!--<tr>-->
+        <!--<td v-for="(item, index) in identifying">{{item.title}}</td>-->
+        <!--</tr>-->
+        <!--<tr>-->
+        <!--<td style="text-align:center;" v-for="(item, index) in identifying">-->
+        <!--<div class="identifyingclass" :style="{background: item.color}"></div>-->
+        <!--</td>-->
+        <!--</tr>-->
+        <!--</table>-->
         <!--</div>-->
       </div>
       <a-spin :spinning="spinning">
         <div class="container" id="EfficiencyShift" style="margin-top: 20px;">
           <div class="table2">
-            <table class="dataContent table" border="1" cellspacing="0" cellpadding="0" style="white-space: nowrap" v-if="dataList.length>0">
+            <table class="dataContent table" border="1" cellspacing="0" cellpadding="0" style="white-space: nowrap"
+                   v-if="dataList.length>0">
               <thead>
               <tr class="thead fixed equipname">
                 <th class="thgu dong1 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;">鍏徃</th>
-                <th  class="thgu dong2 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;">杞﹂棿</th>
-                <th  class="thgu dong3 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;">宸ユ</th>
-                <th class="thgu dong4 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">璁惧缂栧彿</th>
-                <th class="thgu dong5 name" rowspan="2" style="min-width: 162px; max-width: 162px;width: 162px;">璁惧鍚嶇О</th>
-                <th class="thgu dong6 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">璁惧绫诲瀷</th>
+                <th class="thgu dong2 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;">杞﹂棿</th>
+                <th class="thgu dong3 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;">宸ユ</th>
+                <th class="thgu dong4 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">璁惧缂栧彿
+                </th>
+                <th class="thgu dong5 name" rowspan="2" style="min-width: 162px; max-width: 162px;width: 162px;">璁惧鍚嶇О
+                </th>
+                <th class="thgu dong6 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">璁惧绫诲瀷
+                </th>
                 <th class="thgu dong7 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">鐝</th>
                 <template v-for="(tableHead, index) in tableHeads">
-                  <th  class="timeth" :colspan="checkedList.length">{{tableHead}}</th>
+                  <th class="timeth" :colspan="checkedList.length">{{tableHead}}</th>
                 </template>
                 <!--average-->
                 <!--<th class="thgu dong4 name" rowspan="2" style="min-width: 100px; max-width: 150px;width: 150px;">骞冲潎鍊�(鐝鍒╃敤鐜�)</th>-->
@@ -133,22 +163,28 @@
               <tbody>
               <tr class="mathData" v-for="(item, index) in dataList">
                 <template v-if="item.level1!=='鍚堣'&&item.level1!=='骞冲潎鍊�'">
-                  <td  class="tdgu kaitou" :rowspan="item.level1span" :class="{hidden: item.level1dis,noExl:item.level1dis}"  v-show="!item.level1dis">
+                  <td class="tdgu kaitou" :rowspan="item.level1span"
+                      :class="{hidden: item.level1dis,noExl:item.level1dis}" v-show="!item.level1dis">
                     <div class="wenzi">
-                    {{item.level1}}
-                  </div></td>
-                  <td  class="tdgu1 kaitou" :rowspan="item.level2span" :class="{hidden: item.level2dis,noExl:item.level2dis}"  v-show="!item.level2dis">
+                      {{item.level1}}
+                    </div>
+                  </td>
+                  <td class="tdgu1 kaitou" :rowspan="item.level2span"
+                      :class="{hidden: item.level2dis,noExl:item.level2dis}" v-show="!item.level2dis">
                     <div class="wenzi">
                       {{item.level2}}
                     </div>
                   </td>
-                  <td  class="tdgu2 kaitou" :rowspan="item.level3span" :class="{hidden: item.level3dis,noExl:item.level3dis}"  v-show="!item.level3dis">
+                  <td class="tdgu2 kaitou" :rowspan="item.level3span"
+                      :class="{hidden: item.level3dis,noExl:item.level3dis}" v-show="!item.level3dis">
                     <div class="wenzi">
                       {{item.level3}}
                     </div>
                   </td>
                   <td class="tdgu3  kaitou">{{item.equipmentId}}</td>
-                  <td class="tdgu4  kaitou" style="min-width: 162px; max-width: 162px;width: 162px;">{{item.equipmentName}}</td>
+                  <td class="tdgu4  kaitou" style="min-width: 162px; max-width: 162px;width: 162px;">
+                    {{item.equipmentName}}
+                  </td>
                   <td class="tdgu5  kaitou">{{item.equipmentType}}</td>
                   <td class="tdgu6  kaitou">{{item.shiftSubName}}</td>
                 </template>
@@ -208,18 +244,18 @@
     components: {},
     data() {
       return {
-        typeTree:"",
-        typeParent:1,
-        typeEquipment:1,
-        allowClear:true,
-        allowClearSu:true,
+        typeTree: '',
+        typeParent: 1,
+        typeEquipment: 1,
+        allowClear: true,
+        allowClearSu: true,
         dates: [],
-        selectList:[],
-        driveTypeList:[],
+        selectList: [],
+        driveTypeList: [],
         identifying: [],
         queryParam: {},
-        queryParamEquip:{},
-        queryParamPeople:{},
+        queryParamEquip: {},
+        queryParamPeople: {},
         efficiencyOptions: [
           { label: '鐝鍒╃敤鐜�', value: 'lyl' },
           // { label: '鏁呴殰鐜�', value: 'gzl' },
@@ -244,28 +280,29 @@
         tableHeads: [],
         shiftList: [],
         shiftSubList: [],
-        spinning:false
+        spinning: false,
+        toggleSearchStatus: false
       }
     },
-    props: {  nodeTree: '', Type:'',nodePeople: ''  },
+    props: { nodeTree: '', Type: '', nodePeople: '' },
     created() {
       this.initShiftList()
       this.showIdentifying()
       this.dates = [moment().subtract('days', 7), moment().subtract('days', 1)]
       this.queryParam.startTime = moment(this.dates[0]).format('YYYYMMDD')
       this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD')
-      this.queryParam.typeTree = "1"
-      this.loadData();
+      this.queryParam.typeTree = '1'
+      this.loadData()
       this.queryGroup()
       this.getDriveTypeByApi()
     },
     watch: {
-      Type(valmath){
-        this.dataList = [];
+      Type(valmath) {
+        this.dataList = []
         this.queryParam.typeTree = valmath
       },
       nodeTree(val) { //鐩戝惉currSelected 鍙樺寲锛屽皢鍙樺寲鍚庣殑鏁板�间紶閫掔粰 getCurrSelected 浜嬩欢
-        console.log(val);
+        console.log(val)
         if (JSON.stringify(val) != '{}') {
           if (val.equipmentId != null) {
             this.queryParamEquip.parentId = ''
@@ -277,7 +314,7 @@
           this.searchQuery()
         }
       },
-      nodePeople(val){
+      nodePeople(val) {
         if (JSON.stringify(val) != '{}') {
           if (val.equipmentId != null) {
             this.queryParamPeople.parentId = val.equipmentId
@@ -310,67 +347,67 @@
         } else {
           return '0'
         }
-      },
+      }
     },
     methods: {
-      checkSameData(dataList){
-        let cache = {};  //瀛樺偍鐨勬槸閿槸kclx 鐨勫�硷紝鍊兼槸kclx 鍦╥ndeces涓暟缁勭殑涓嬫爣
-        let indices = [];  //鏁扮粍涓瘡涓�涓�兼槸涓�涓暟缁勶紝鏁扮粍涓殑姣忎竴涓厓绱犳槸鍘熸暟缁勪腑鐩稿悓kclx鐨勪笅鏍�
-        dataList.map((item,index)=>{
-          let level1 = item.level1;
-          let _index = cache[level1];
-          if(_index!==undefined){
+      checkSameData(dataList) {
+        let cache = {}  //瀛樺偍鐨勬槸閿槸kclx 鐨勫�硷紝鍊兼槸kclx 鍦╥ndeces涓暟缁勭殑涓嬫爣
+        let indices = []  //鏁扮粍涓瘡涓�涓�兼槸涓�涓暟缁勶紝鏁扮粍涓殑姣忎竴涓厓绱犳槸鍘熸暟缁勪腑鐩稿悓kclx鐨勪笅鏍�
+        dataList.map((item, index) => {
+          let level1 = item.level1
+          let _index = cache[level1]
+          if (_index !== undefined) {
             indices[_index].push(index)
-          }else{
+          } else {
             cache[level1] = indices.length
             indices.push([index])
           }
         })
-        let result = [];
-        indices.map((item)=>{
-          item.map((index)=>{
+        let result = []
+        indices.map((item) => {
+          item.map((index) => {
             result.push(dataList[index])
           })
         })
         this.dataList = result
       },
-      checkSameData1(dataList){
-        let cache = {};  //瀛樺偍鐨勬槸閿槸kclx 鐨勫�硷紝鍊兼槸kclx 鍦╥ndeces涓暟缁勭殑涓嬫爣
-        let indices = [];  //鏁扮粍涓瘡涓�涓�兼槸涓�涓暟缁勶紝鏁扮粍涓殑姣忎竴涓厓绱犳槸鍘熸暟缁勪腑鐩稿悓kclx鐨勪笅鏍�
-        dataList.map((item,index)=>{
-          let level2 = item.level2;
-          let _index = cache[level2];
-          if(_index!==undefined){
+      checkSameData1(dataList) {
+        let cache = {}  //瀛樺偍鐨勬槸閿槸kclx 鐨勫�硷紝鍊兼槸kclx 鍦╥ndeces涓暟缁勭殑涓嬫爣
+        let indices = []  //鏁扮粍涓瘡涓�涓�兼槸涓�涓暟缁勶紝鏁扮粍涓殑姣忎竴涓厓绱犳槸鍘熸暟缁勪腑鐩稿悓kclx鐨勪笅鏍�
+        dataList.map((item, index) => {
+          let level2 = item.level2
+          let _index = cache[level2]
+          if (_index !== undefined) {
             indices[_index].push(index)
-          }else{
+          } else {
             cache[level2] = indices.length
             indices.push([index])
           }
         })
-        let result = [];
-        indices.map((item)=>{
-          item.map((index)=>{
+        let result = []
+        indices.map((item) => {
+          item.map((index) => {
             result.push(dataList[index])
           })
         })
         this.dataList = result
       },
-      checkSameData2(dataList){
-        let cache = {};  //瀛樺偍鐨勬槸閿槸kclx 鐨勫�硷紝鍊兼槸kclx 鍦╥ndeces涓暟缁勭殑涓嬫爣
-        let indices = [];  //鏁扮粍涓瘡涓�涓�兼槸涓�涓暟缁勶紝鏁扮粍涓殑姣忎竴涓厓绱犳槸鍘熸暟缁勪腑鐩稿悓kclx鐨勪笅鏍�
-        dataList.map((item,index)=>{
-          let level3 = item.level3;
-          let _index = cache[level3];
-          if(_index!==undefined){
+      checkSameData2(dataList) {
+        let cache = {}  //瀛樺偍鐨勬槸閿槸kclx 鐨勫�硷紝鍊兼槸kclx 鍦╥ndeces涓暟缁勭殑涓嬫爣
+        let indices = []  //鏁扮粍涓瘡涓�涓�兼槸涓�涓暟缁勶紝鏁扮粍涓殑姣忎竴涓厓绱犳槸鍘熸暟缁勪腑鐩稿悓kclx鐨勪笅鏍�
+        dataList.map((item, index) => {
+          let level3 = item.level3
+          let _index = cache[level3]
+          if (_index !== undefined) {
             indices[_index].push(index)
-          }else{
+          } else {
             cache[level3] = indices.length
             indices.push([index])
           }
         })
-        let result = [];
-        indices.map((item)=>{
-          item.map((index)=>{
+        let result = []
+        indices.map((item) => {
+          item.map((index) => {
             result.push(dataList[index])
           })
         })
@@ -379,30 +416,30 @@
       // 鍚堝苟
       combineCell() {
         console.log(this.dataList)
-        let list =this.dataList;
+        let list = this.dataList
         for (let field in list[0]) {
-          var k = 0;
+          var k = 0
           while (k < list.length) {
-            list[k][field + 'span'] = 1;
-            list[k][field + 'dis'] = false;
+            list[k][field + 'span'] = 1
+            list[k][field + 'dis'] = false
             for (var i = k + 1; i <= list.length - 1; i++) {
               if (list[k][field] == list[i][field] && list[k][field] != '') {
-                list[k][field + 'span']++;
-                list[k][field + 'dis'] = false;
-                list[i][field + 'span'] = 1;
-                list[i][field + 'dis'] = true;
+                list[k][field + 'span']++
+                list[k][field + 'dis'] = false
+                list[i][field + 'span'] = 1
+                list[i][field + 'dis'] = true
               } else {
-                break;
+                break
               }
             }
-            k = i;
+            k = i
           }
         }
-        return list;
+        return list
       },
-      disabledDate(current){
+      disabledDate(current) {
         //Can not slect days before today and today
-        return current && current > moment().subtract('days', 1);
+        return current && current > moment().subtract('days', 1)
       },
       initDeviceType(deviceList) {
         let dictCode = 'mdc_equipmentType'
@@ -440,17 +477,17 @@
       },
       initShiftSubList(val) {
         //姣忔閲嶆柊閫夋嫨鐝埗鏃剁彮娆℃竻绌轰笖鏄剧ずplaceholder鍐呭
-        this.queryParam.shiftSubId = undefined;
+        this.queryParam.shiftSubId = undefined
         getAction(this.url.initShiftSubList, { shiftId: val }).then((res) => {
           if (res.success) {
-            this.shiftSubList = res.result;
+            this.shiftSubList = res.result
           }
         })
       },
       initShiftSubListChange() {
         getAction(this.url.initShiftSubList, { shiftId: this.queryParam.shiftId }).then((res) => {
           if (res.success) {
-            this.shiftSubList = res.result;
+            this.shiftSubList = res.result
           }
         })
       },
@@ -483,27 +520,27 @@
         if (index < 0) {
           // this.$message.warn('涓嶈兘鍙栨秷鏌ヨ鍒╃敤鐜�')
           this.$notification.warning({
-            message:'娑堟伅',
-            description:"涓嶈兘鍙栨秷鏌ヨ鐝鍒╃敤鐜�"
+            message: '娑堟伅',
+            description: '涓嶈兘鍙栨秷鏌ヨ鐝鍒╃敤鐜�'
           })
           return false
         }
         this.checkedList = checkedList
       },
       searchQuery() {
-        if(this.queryParam.typeTree == "1"){
-          this.queryParam.parentId =  this.queryParamEquip.parentId
+        if (this.queryParam.typeTree == '1') {
+          this.queryParam.parentId = this.queryParamEquip.parentId
           this.queryParam.equipmentId = this.queryParamEquip.equipmentId
-        }else{
+        } else {
           this.queryParam.parentId = this.queryParamPeople.parentId
-          this.queryParam.equipmentId = ""
+          this.queryParam.equipmentId = ''
         }
         this.loadData()
         // this.onClearSelected()
       },
       searchReset() {
         this.typeTree = this.queryParam.typeTree
-        this.typeParent =  this.queryParam.parentId
+        this.typeParent = this.queryParam.parentId
         this.typeEquipment = this.queryParam.equipmentId
         this.queryParam = {}
         this.dates = [moment().subtract('days', 7), moment().subtract('days', 1)]
@@ -511,12 +548,12 @@
         this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD')
         this.queryParam.typeTree = this.typeTree
         this.queryParam.parentId = this.typeParent
-        this.queryParam.equipmentId =  this.typeEquipment
+        this.queryParam.equipmentId = this.typeEquipment
         this.loadData()
         // this.onClearSelected()
       },
       loadData() {
-        this.spinning=true
+        this.spinning = true
         this.tableHeads = []
         this.dataList = []
         getAction(this.url.list, this.queryParam).then(res => {
@@ -532,11 +569,11 @@
             this.checkSameData(this.dataList)
             this.checkSameData1(this.dataList)
             this.checkSameData2(this.dataList)
-            this.combineCell();
+            this.combineCell()
             // this.initDeviceType(this.dataList)
           }
-        }).finally(()=>{
-          this.spinning=false
+        }).finally(() => {
+          this.spinning = false
         })
       },
       queryGroup() {
@@ -561,9 +598,9 @@
       /**
        * 璋冪敤鎺ュ彛鑾峰彇鎺у埗绯荤粺绫诲瀷
        */
-      getDriveTypeByApi(){
-        api.getDriveTypeApi().then((res)=>{
-          this.driveTypeList=res.result.map(item=>item.value)
+      getDriveTypeByApi() {
+        api.getDriveTypeApi().then((res) => {
+          this.driveTypeList = res.result.map(item => item.value)
         })
       },
 
@@ -576,147 +613,157 @@
       filterOption(input, option) {
         return (
           option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0
-        );
-      },
+        )
+      }
     }
   }
 </script>
 <style scoped>
-  .table2{
+  .table2 {
     width: 100%;
     height: 100%;
     overflow: auto;
   }
+
   .table2 thead tr th:first-child,
-  .table tbody tr .tdgu{
+  .table tbody tr .tdgu {
     position: sticky;
     left: 0;
     z-index: 1;
   }
-  .table tbody tr .wenzi{
+
+  .table tbody tr .wenzi {
     /*writing-mode: vertical-lr;*/
     /*text-orientation: upright;*/
     transform: rotate(360deg);
     writing-mode: vertical-lr;
     letter-spacing: 2px;
   }
-  .table tbody tr .kaitou{
+
+  .table tbody tr .kaitou {
     z-index: 1;
     background-color: white;
   }
-  .table tbody tr .tdgu1{
+
+  .table tbody tr .tdgu1 {
     position: sticky;
     left: 50px;
     z-index: 2;
   }
-  .table tbody tr .tdgu2{
+
+  .table tbody tr .tdgu2 {
     position: sticky;
     left: 100px;
     z-index: 2;
   }
-  .table tbody tr .tdgu3{
+
+  .table tbody tr .tdgu3 {
     position: sticky;
     left: 150px;
     z-index: 2;
   }
-  .table tbody tr .tdgu4{
+
+  .table tbody tr .tdgu4 {
     position: sticky;
     left: 250px;
     z-index: 2;
   }
-  .table tbody tr .tdgu5{
+
+  .table tbody tr .tdgu5 {
     position: sticky;
     left: 412px;
     z-index: 2;
   }
-  .table tbody tr .tdgu6{
+
+  .table tbody tr .tdgu6 {
     position: sticky;
     left: 512px;
     z-index: 2;
   }
 
   .table2 thead tr .timeth,
-  .table2 thead tr  .thgu {
+  .table2 thead tr .thgu {
     position: sticky;
-    top:0;
+    top: 0;
     z-index: 3;
   }
 
-  .table2 thead .gudingth th{
+  .table2 thead .gudingth th {
     position: sticky;
     top: 32px;
     z-index: 2;
   }
 
-  .table2 thead .equipname .name{
+  .table2 thead .equipname .name {
     z-index: 3;
   }
 
-  .table2 thead .equipname .dong1{
+  .table2 thead .equipname .dong1 {
     z-index: 4;
     left: 0;
   }
 
-  .table2 thead .equipname .dong2{
+  .table2 thead .equipname .dong2 {
     z-index: 5;
     left: 50px;
   }
 
-  .table2 thead .equipname .dong3{
+  .table2 thead .equipname .dong3 {
     z-index: 5;
     left: 100px;
   }
 
-  .table2 thead .equipname .dong4{
+  .table2 thead .equipname .dong4 {
     z-index: 5;
     left: 150px;
   }
-  .table2 thead .equipname .dong5{
+
+  .table2 thead .equipname .dong5 {
     z-index: 5;
     left: 250px;
   }
 
-  .table2 thead .equipname .dong6{
+  .table2 thead .equipname .dong6 {
     z-index: 5;
     left: 412px;
   }
 
-  .table2 thead .equipname .dong7{
+  .table2 thead .equipname .dong7 {
     z-index: 6;
     left: 512px;
   }
 
-  #EfficiencyShift{
+  #EfficiencyShift {
     overflow: hidden;
   }
 
-  @media screen and (min-width: 1920px){
-    #EfficiencyShift{
-      height: 670px!important;
+  @media screen and (min-width: 1920px) {
+    #EfficiencyShift {
+      height: 670px !important;
     }
   }
 
-  @media screen and (min-width: 1680px) and (max-width: 1920px){
-    #EfficiencyShift{
-      height: 670px!important;
+  @media screen and (min-width: 1680px) and (max-width: 1920px) {
+    #EfficiencyShift {
+      height: 670px !important;
     }
   }
 
-  @media screen and (min-width: 1400px) and (max-width: 1680px){
-    #EfficiencyShift{
-      height: 522px!important;
+  @media screen and (min-width: 1400px) and (max-width: 1680px) {
+    #EfficiencyShift {
+      height: 522px !important;
     }
   }
 
-  @media screen and (min-width: 1280px) and (max-width: 1400px){
-    #EfficiencyShift{
-      height: 414px!important;
+  @media screen and (min-width: 1280px) and (max-width: 1400px) {
+    #EfficiencyShift {
+      height: 414px !important;
     }
   }
 
-  @media screen and (max-width: 1280px){
-    #EfficiencyShift{
-      height: 414px!important;
+  @media screen and (max-width: 1280px) {
+    #EfficiencyShift {
+      height: 414px !important;
     }
   }
 
diff --git a/src/views/mdc/base/modules/mdcPassRate/mdcPassRateList.vue b/src/views/mdc/base/modules/mdcPassRate/mdcPassRateList.vue
index f466042..1a9d6b2 100644
--- a/src/views/mdc/base/modules/mdcPassRate/mdcPassRateList.vue
+++ b/src/views/mdc/base/modules/mdcPassRate/mdcPassRateList.vue
@@ -46,6 +46,8 @@
       <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
       <a-button type="primary" icon="import">瀵煎叆</a-button>
       </a-upload>
+      <a-button type="primary" icon="printer" v-print="'#DeviceList'" v-has="'passRate:print'">鎵撳嵃</a-button>
+
       <a-dropdown v-if="selectedRowKeys.length > 0">
         <a-menu slot="overlay">
           <a-menu-item key="1" @click="batchDel">
@@ -143,6 +145,18 @@
         queryParamPeople:{},
         dataStartsoucre:[],
         scrollY:465,
+        /* 鍒嗛〉鍙傛暟 */
+        ipagination:{
+          current: 1,
+          pageSize: 30,
+          pageSizeOptions: ['30', '50', '100'],
+          showTotal: (total, range) => {
+            return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0
+        },
         columns: [
           {
             title: '璁惧缂栧彿',
diff --git a/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityList.vue b/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityList.vue
index 5892c14..8d291ab 100644
--- a/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityList.vue
+++ b/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityList.vue
@@ -46,6 +46,8 @@
       <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
       <a-button type="primary" icon="import">瀵煎叆</a-button>
       </a-upload>
+      <a-button type="primary" icon="printer" v-print="'#DeviceList'" v-has="'processQuantity:print'">鎵撳嵃</a-button>
+
       <a-dropdown v-if="selectedRowKeys.length > 0">
         <a-menu slot="overlay">
           <a-menu-item key="1" @click="batchDel">
@@ -142,6 +144,18 @@
         queryParamPeople:{},
         dataStartsoucre:[],
         scrollY:465,
+        /* 鍒嗛〉鍙傛暟 */
+        ipagination:{
+          current: 1,
+          pageSize: 30,
+          pageSizeOptions: ['30', '50', '100'],
+          showTotal: (total, range) => {
+            return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0
+        },
         columns: [
           {
             title: '璁惧缂栧彿',
diff --git a/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue
index 41f7c37..55b62c7 100644
--- a/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue
+++ b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue
@@ -32,6 +32,8 @@
       <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
       <a-button type="primary" icon="import">瀵煎叆</a-button>
       </a-upload>
+      <a-button type="primary" icon="printer" v-print="'#DeviceList'" v-has="'standardProcessDuration:print'">鎵撳嵃</a-button>
+
       <a-dropdown v-if="selectedRowKeys.length > 0">
         <a-menu slot="overlay">
           <a-menu-item key="1" @click="batchDel">
@@ -122,6 +124,18 @@
         queryParamPeople:{},
         dataStartsoucre:[],
         scrollY:465,
+        /* 鍒嗛〉鍙傛暟 */
+        ipagination:{
+          current: 1,
+          pageSize: 30,
+          pageSizeOptions: ['30', '50', '100'],
+          showTotal: (total, range) => {
+            return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0
+        },
         columns: [
           {
             title: '璁惧缂栧彿',
diff --git a/src/views/system/ProductionManager.vue b/src/views/system/ProductionManager.vue
index b1e3d56..3d43e95 100644
--- a/src/views/system/ProductionManager.vue
+++ b/src/views/system/ProductionManager.vue
@@ -93,6 +93,9 @@
         <a-tab-pane tab="鍩烘湰淇℃伅" key="1">
           <a-card :bordered="false" v-if="selectedKeys.length>0">
             <a-form-model ref="form" :model="model" :rules="validatorRules">
+              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productionCode" label="杞﹂棿缂栧彿">
+                <a-input placeholder="璇疯緭鍏ヤ骇绾�/杞﹂棿缂栧彿" v-model="model.productionCode"/>
+              </a-form-model-item>
               <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productionName" label="杞﹂棿鍚嶇О">
                 <a-input placeholder="璇疯緭鍏ヤ骇绾�/杞﹂棿鍚嶇О" v-model="model.productionName"/>
               </a-form-model-item>
diff --git a/src/views/system/modules/ProductionManager/ProductionModal.vue b/src/views/system/modules/ProductionManager/ProductionModal.vue
index e5d1dc7..c300b70 100644
--- a/src/views/system/modules/ProductionManager/ProductionModal.vue
+++ b/src/views/system/modules/ProductionManager/ProductionModal.vue
@@ -15,6 +15,15 @@
         <a-form-model-item
           :labelCol="labelCol"
           :wrapperCol="wrapperCol"
+          label="杞﹂棿缂栫爜"
+          prop="productionCode"
+          :hidden="false"
+          hasFeedback >
+          <a-input id="productionCode" placeholder="璇疯緭鍏ヤ骇绾�/杞﹂棿缂栧彿" v-model="model.productionCode"/>
+        </a-form-model-item>
+        <a-form-model-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
           label="杞﹂棿鍚嶇О"
           prop="productionName"
           :hidden="false"
diff --git a/src/views/system/modules/UserModal.vue b/src/views/system/modules/UserModal.vue
index 5d5f949..a1f4328 100644
--- a/src/views/system/modules/UserModal.vue
+++ b/src/views/system/modules/UserModal.vue
@@ -278,6 +278,14 @@
           />
         </a-form-model-item>
 
+        <a-form-model-item label="韬唤" :labelCol="labelCol" :wrapperCol="wrapperCol">
+          <a-radio-group v-model="model.userType">
+            <a-radio :value="1">鏅�氱敤鎴�</a-radio>
+            <a-radio :value="2">宸ユ涓荤</a-radio>
+            <a-radio :value="3">杞﹂棿涓荤</a-radio>
+            <a-radio :value="4">鍏徃涓荤</a-radio>
+          </a-radio-group>
+        </a-form-model-item>
         <!--<a-form-model-item label="宸ヤ綔娴佸紩鎿�" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
         <!--<j-dict-select-tag  v-model="model.activitiSync"  placeholder="璇烽�夋嫨鏄惁鍚屾宸ヤ綔娴佸紩鎿�" :type="'radio'" dictCode="activiti_sync"/>-->
         <!--</a-form-model-item>-->
@@ -359,7 +367,6 @@
             { validator: this.validateWorkNo }],
           telephone: [{ pattern: /^0\d{2,3}-[1-9]\d{6,7}$/, message: '璇疯緭鍏ユ纭殑搴ф満鍙风爜' }],
           teamId: [{ required: false, message: '璇风淮鎶ょ彮缁�' }]
-
         },
         departIdShow: false,
         title: '鎿嶄綔',

--
Gitblit v1.9.3