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/modules/deviceRepair/DeviceRepairList.vue |  142 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 96 insertions(+), 46 deletions(-)

diff --git a/src/views/mdc/base/modules/deviceRepair/DeviceRepairList.vue b/src/views/mdc/base/modules/deviceRepair/DeviceRepairList.vue
index 2359b22..2a5c4e1 100644
--- a/src/views/mdc/base/modules/deviceRepair/DeviceRepairList.vue
+++ b/src/views/mdc/base/modules/deviceRepair/DeviceRepairList.vue
@@ -1,50 +1,58 @@
 <template>
-  <a-card :bordered="false" class="device_list">
+  <div class="device_list">
     <!-- 鏌ヨ鍖哄煙 -->
-    <div style="width: 100%; background-color: #fff" class="table-page-search-wrapper">
+    <div style="background-color: #fff" class="table-page-search-wrapper">
       <a-form layout="inline" @keyup.enter.native="searchQuery">
-        <a-row :gutter="24">
-          <a-col :md="9" :sm="9">
+        <a-row :gutter="24" style="width: 100%;">
+          <a-col :md="7" :sm="7">
             <a-form-item label="鏃堕棿">
-              <a-range-picker @change="dateParamChange" v-model="dates"  format="YYYY-MM-DD HH:mm:ss" showTime/>
+              <a-range-picker @change="dateParamChange" v-model="dates"  format="YYYY-MM-DD HH:mm:ss"/>
             </a-form-item>
           </a-col>
-          <a-col :md="4" :sm="4">
+          <a-col :md="5" :sm="5">
             <a-form-item label="璁惧缂栧彿">
               <a-input placeholder="杈撳叆璁惧缂栧彿鏌ヨ" v-model="queryParams.equipmentId"></a-input>
             </a-form-item>
           </a-col>
-          <a-col :md="4" :sm="4" :xs="4">
+          <a-col :md="5" :sm="5" :xs="5">
             <a-form-item label="璁惧鍚嶇О">
               <a-input placeholder="杈撳叆璁惧鍚嶇О鏌ヨ" v-model="queryParams.equipmentName"></a-input>
             </a-form-item>
           </a-col>
-          <a-col :md="2" :sm="3" :xs="3">
-            <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-          </a-col>
           <a-col :md="2" :sm="2" :xs="2">
-            <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</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-space>
           </a-col>
-          <a-col :lg="2" :md="3" :sm="3" :xs="3">
-            <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
-          </a-col>
+          <!--<a-col :md="2" :sm="3" :xs="3">-->
+            <!--<a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>-->
+          <!--</a-col>-->
+          <!--<a-col :md="2" :sm="2" :xs="2">-->
+            <!--<a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>-->
+          <!--</a-col>-->
+          <!--<a-col :lg="2" :md="3" :sm="3" :xs="3">-->
+            <!--&lt;!&ndash;<a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>&ndash;&gt;-->
+            <!--<a-button type="primary" @click="handleExportXls('缁翠慨浼戠彮绠$悊')" icon="download">瀵煎嚭</a-button>-->
+          <!--</a-col>-->
         </a-row>
       </a-form>
     </div>
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
     <div class="table-operator" style="display: inline;">
-      <a-button v-has="'user.addrequip'" @click="handleAdd" type="primary" icon="plus">缁翠慨鏂板
+      <a-button  @click="handleAdd" type="primary" icon="plus">鏂板
       </a-button>
-      <a-button v-has="'user.add'"  @click="handleAddXIU" type="primary" icon="plus">浼戠彮鏂板
-      </a-button>
+      <a-button type="primary" @click="handleExportXls('缁翠慨浼戠彮绠$悊')" icon="download">瀵煎嚭</a-button>
+      <!--<a-button v-has="'user.add'"  @click="handleAddXIU" type="primary" icon="plus">浼戠彮鏂板-->
+      <!--</a-button>-->
     </div>
 
     <!-- table鍖哄煙-begin -->
-    <div id="DeviceList">
+    <div id="DeviceList" style="flex: 1;overflow: hidden">
       <a-table ref="table" bordered size="middle" rowKey="id" :columns="columns"
-               :scroll="{x:1000}" :dataSource="dataSource" :pagination="ipagination" :loading="loading"
+               :dataSource="dataSource" :pagination="ipagination" :loading="loading"
                :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-               @change="handleTableChange">
+               @change="handleTableChange" :scroll="{x:'max-content',y:scrollY}">
         <span slot="action" slot-scope="text, record">
         <a @click="handleEdit(record)">缂栬緫</a>
             <a-divider type="vertical" />
@@ -63,12 +71,11 @@
       </a-table>
     </div>
     <!-- table鍖哄煙-end -->
-    <device-repair-model ref="modalForm" @ok="modalFormOk"></device-repair-model>
-    <device-repair-model-add  ref="modalFormadd" @ok="modalFormOk"></device-repair-model-add>
+    <device-repair-model ref="modalForm" :equipmentId="queryParams.equipmentId" @ok="modalFormOk"></device-repair-model>
+    <!--<device-repair-model-add  ref="modalFormadd" @ok="modalFormOk"></device-repair-model-add>-->
     <device-repair-model-edit ref="modalFormedit" @ok="modalFormOk"></device-repair-model-edit>
-    <!--<repair-model ref="repairModelFrom" @ok="modalFormOk"></repair-model>-->
-
-  </a-card>
+    <!--<repair-model ref="repairModelFrom" @ok="modalFormOk">0</repair-model>-->
+  </div>
 </template>
 
 <script>
@@ -92,10 +99,12 @@
   import JEllipsis from '@/components/jeecg/JEllipsis'
   import Tooltip from 'ant-design-vue/es/tooltip'
   import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api'
+  import ACol from 'ant-design-vue/es/grid/Col'
   export default {
     name: 'DeviceRepairList',
     mixins: [JeecgListMixin],
     components: {
+      ACol,
       Tooltip,
       DeviceRepairModel,
       DeviceRepairModelAdd,
@@ -119,28 +128,45 @@
         queryParamEquip:{},
         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'
+            dataIndex: 'equipmentId',
+            width:250
           },
           {
             title: '璁惧鍚嶇О',
             align: 'center',
             dataIndex: 'equipmentName',
             defaultSortOrder:'descend',
-            sorter: (a, b) => {return a.equipmentName>b.equipmentName?1:-1}
+            sorter: (a, b) => {return a.equipmentName>b.equipmentName?1:-1},
+            width:250
           },
           {
             title: '缁翠慨绫诲瀷',
             align: 'center',
-            dataIndex: 'mdcRepairTypeDictText'
+            dataIndex: 'mdcRepairTypeDictText',
+            width:250
           },
           {
             title: '寮�濮嬫椂闂�',
             align: 'center',
             dataIndex: 'startTime',
+            width:250
             // scopedSlots:{customRender:'startTime'},
             // customRender:(text,row,index) => {
             //   return moment(text).format("YYYY-MM-DD HH:mm:ss")
@@ -149,20 +175,23 @@
           {
             title: '缁撴潫鏃堕棿',
             align: 'center',
-            dataIndex: 'endTime'
+            dataIndex: 'endTime',
+            width:250
           },
           {
             title: '鎿嶄綔',
             dataIndex: 'action',
             scopedSlots: {customRender: 'action'},
             align: "center",
-            width: 150
+            width: 150,
+            fixed:'right'
           }
         ],
         url: {
           list: '/mdc/mdcEquipmentRepair/pageList',
           deleteBatch: '/mdc/mdcEquipmentRepair/delete',
           getEquipmentByPid: '/mdc/mdcequipment/getEquipmentByPid',
+          exportXlsUrl:'/mdc/mdcEquipmentRepair/exportXls'
         }
       }
     },
@@ -180,10 +209,13 @@
             this.queryParamEquip.equipmentId = val.equipmentId
           } else {
             this.queryParamEquip.parentId = val.key
-            this.queryParams.equipmentId = ''
+            this.queryParams.equipmentId =''
           }
-          this.searchQuery()
+        }else{
+          this.queryParams.equipmentId=''
+          this.queryParamEquip.parentId = ""
         }
+        this.searchQuery()
       },
       nodePeople(val){
         if (JSON.stringify(val) != '{}') {
@@ -384,10 +416,8 @@
         if(this.queryParams.typeTree == "1"){
           this.queryParams.parentId =  this.queryParamEquip.parentId
           // this.queryParams.equipmentId =  this.queryParamEquip.equipmentId
-
         }else{
           this.queryParams.parentId = this.queryParamPeople.parentId
-
           // this.queryParams.equipmentId = ""
         }
         this.dataSource = [];
@@ -481,7 +511,7 @@
             //閲嶆柊璁$畻鍒嗛〉闂
             that.reCalculatePage(1)
             // that.$message.success(res.message);
-            that.$notification.warning({
+            that.$notification.success({
               message:'娑堟伅',
               description:res.message
             });
@@ -495,16 +525,19 @@
           }
         });
       },
+      /**
+       * 鎵撳紑鏂板缁翠慨鎴栦紤鐝脊绐�
+       */
       handleAdd() {
         this.$refs.modalForm.add(this.node)
         this.$refs.modalForm.title = '鏂板'
         this.$refs.modalForm.disableSubmit = false
       },
-      handleAddXIU() {
-        this.$refs.modalFormadd.add()
-        this.$refs.modalFormadd.title = '鏂板'
-        this.$refs.modalFormadd.disableSubmit = false
-      },
+      // handleAddXIU() {
+      //   this.$refs.modalFormadd.add()
+      //   this.$refs.modalFormadd.title = '鏂板'
+      //   this.$refs.modalFormadd.disableSubmit = false
+      // },
       pQuery(parentId) {
         this.queryParam.parentId = parentId[0]
         if(this.selectedRowKeys.length >= 1) {
@@ -538,16 +571,32 @@
         $("#DeviceList").table2excel({
           exclude: ".noExl",
           name: "Excel Document Name",
-          filename: "璁惧缁翠慨璇︽儏",
+          filename: "缁翠慨浼戠彮绠$悊",
           exclude_img: true,
           fileext: ".xls",
           exclude_links: true,
           exclude_inputs: true
         });
       },
+
+      /**
+       * 褰撴祻瑙堝櫒鍙绐楀彛灏哄鍙戠敓鏀瑰彉鏃惰Е鍙�
+       */
+      handleWindowResize(){
+        const boxHeight = +window.getComputedStyle(document.getElementById('DeviceList')).height.slice(0,-2)
+        const tableHeadHeight = +window.getComputedStyle(document.querySelector('.ant-table-thead th')).height.slice(0,-2)
+        this.scrollY = boxHeight - tableHeadHeight - 50
+      }
     },
     created() {
       this.queryParam.typeTree = "1"
+    },
+    mounted(){
+      window.addEventListener('resize',this.handleWindowResize)
+      this.handleWindowResize()
+    },
+    beforeDestroy(){
+      window.removeEventListener('resize',this.handleWindowResize)
     }
   }
 </script>
@@ -555,34 +604,35 @@
 <style lang="less" scoped>
   @import '~@assets/less/common.less';
 
+  .device_list{
+    overflow: hidden;
+    display: flex;
+    flex-direction: column;
+  }
+
   @media screen and (min-width: 1920px){
     .device_list{
       height: 811px!important;
-      overflow: scroll;
     }
   }
   @media screen and (min-width: 1680px) and (max-width: 1920px){
     .device_list{
       height: 811px!important;
-      overflow: scroll;
     }
   }
   @media screen and (min-width: 1400px) and (max-width: 1680px){
     .device_list{
       height: 663px!important;
-      overflow: scroll;
     }
   }
   @media screen and (min-width: 1280px) and (max-width: 1400px){
     .device_list{
       height: 564px!important;
-      overflow: scroll;
     }
   }
   @media screen and (max-width: 1280px){
     .device_list{
       height: 564px!important;
-      overflow: scroll;
     }
   }
 </style>

--
Gitblit v1.9.3