From 9d38529c9ecdde9270652a8fa2bb12d5cca7559e Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期四, 10 四月 2025 10:46:05 +0800
Subject: [PATCH] 沃克项目: 1、维修工单页面布局及样式完成100%并实现领取报修故障单功能 2、设备台账页面实现查询设备对应维修工单功能

---
 /dev/null                                                                 |  200 ------
 src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue |    0 
 src/views/eam/repair/EamRepairOrderList.vue                               |  390 +++++++-----
 src/views/eam/repair/EamReportRepairList.vue                              |  351 +++++-----
 src/views/eam/repair/modules/EamRepairOrderList/ReceiveFaultModal.vue     |   90 +++
 src/views/eam/equipment/EamEquipmentList.vue                              |  740 ++++++++++++------------
 6 files changed, 874 insertions(+), 897 deletions(-)

diff --git a/src/views/eam/equipment/EamEquipmentList.vue b/src/views/eam/equipment/EamEquipmentList.vue
index 3e28275..4dc9dda 100644
--- a/src/views/eam/equipment/EamEquipmentList.vue
+++ b/src/views/eam/equipment/EamEquipmentList.vue
@@ -166,9 +166,12 @@
     </div>
     <!-- table鍖哄煙-end -->
 
-    <a-tabs v-model="activeTabKey">
+    <a-tabs v-model="activeTabKey" @change="handleTabChange">
       <a-tab-pane tab="淇濆吇鏍囧噯" :key="1">
-        <eam-maintenance-standard-list ref="tabPaneTableListRef" :isDisplayOperation="false"/>
+        <eam-maintenance-standard-list ref="tabPaneTableListRef1" :isDisplayOperation="false"/>
+      </a-tab-pane>
+      <a-tab-pane tab="缁翠慨宸ュ崟" :key="2">
+        <eam-repair-order-list ref="tabPaneTableListRef2" :isDisplayOperation="false"/>
       </a-tab-pane>
     </a-tabs>
 
@@ -182,380 +185,391 @@
 </template>
 
 <script>
-import '@/assets/less/TableExpand.less'
-import EamEquipmentModal from './modules/EamEquipmentModal'
-import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-import { getAction, templateXlsDownload } from '@api/manage'
-import NameplateModal from '@views/eam/equipment/modules/NameplateModal.vue'
-import { getSystemConfigValue } from '@api/api'
-import ResumeDrawer from '@views/eam/equipment/modules/ResumeDrawer.vue'
-import EamMaintenanceStandardList from '@views/eam/base/EamMaintenanceStandardList.vue'
+  import '@/assets/less/TableExpand.less'
+  import EamEquipmentModal from './modules/EamEquipmentModal'
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import { getAction, templateXlsDownload } from '@api/manage'
+  import NameplateModal from '@views/eam/equipment/modules/NameplateModal.vue'
+  import { getSystemConfigValue } from '@api/api'
+  import ResumeDrawer from '@views/eam/equipment/modules/ResumeDrawer.vue'
+  import EamMaintenanceStandardList from '@views/eam/base/EamMaintenanceStandardList.vue'
+  import EamRepairOrderList from '../repair/EamRepairOrderList'
 
-export default {
-  name: 'EamEquipmentList',
-  mixins: [JeecgListMixin],
-  components: {
-    EamMaintenanceStandardList,
-    ResumeDrawer,
-    NameplateModal,
-    EamEquipmentModal
-  },
-  data() {
-    return {
-      description: '璁惧鍙拌处绠$悊椤甸潰',
-      // 琛ㄥご
-      columns: [
-        {
-          title: '#',
-          dataIndex: '',
-          key: 'rowIndex',
-          width: 60,
-          align: 'center',
-          customRender: function(t, r, index) {
-            return parseInt(index) + 1
-          },
-          fixed: 'left'
-        },
-        {
-          title: '璁惧缂栧彿',
-          align: 'center',
-          width: 100,
-          dataIndex: 'equipmentCode',
-          ellipsis: true,
-          fixed: 'left',
-          sorter: true
-        },
-        {
-          title: '璁惧鍚嶇О',
-          align: 'center',
-          width: 100,
-          dataIndex: 'equipmentName',
-          ellipsis: true,
-          fixed: 'left'
-        },
-        {
-          title: '鍏抽敭璁惧鏍囪瘑',
-          align: 'center',
-          width: 120,
-          dataIndex: 'equipmentImportance',
-          scopedSlots: { customRender: 'equipmentImportance' }
-        },
-        {
-          title: '璧勪骇鐘舵��',
-          align: 'center',
-          width: 100,
-          dataIndex: 'assetStatus_dictText'
-        },
-        {
-          title: '鎶�鏈姸鎬�',
-          align: 'center',
-          width: 100,
-          dataIndex: 'technologyStatus_dictText'
-        },
-        {
-          title: '缁翠慨鐘舵��',
-          align: 'center',
-          width: 100,
-          dataIndex: 'repairStatus_dictText'
-        },
-        {
-          title: '淇濆吇鐘舵��',
-          align: 'center',
-          width: 100,
-          dataIndex: 'maintenanceStatus_dictText'
-        },
-        {
-          title: '鎿嶄綔绯荤粺',
-          align: 'center',
-          width: 100,
-          dataIndex: 'operationSystem'
-        },
-        {
-          title: '浣跨敤杞﹂棿',
-          align: 'center',
-          width: 100,
-          dataIndex: 'orgId_dictText'
-        },
-        {
-          title: '璁惧绠$悊鍛�',
-          align: 'center',
-          width: 100,
-          dataIndex: 'equipmentManager_dictText'
-        },
-        {
-          title: '璁惧鍒嗙被',
-          align: 'center',
-          width: 100,
-          dataIndex: 'equipmentCategory_dictText'
-        },
-        {
-          title: '璁惧鍨嬪彿',
-          align: 'center',
-          width: 200,
-          dataIndex: 'equipmentModel'
-        },
-        {
-          title: '璁惧瑙勬牸',
-          align: 'center',
-          width: 100,
-          dataIndex: 'equipmentSpecification'
-        },
-        {
-          title: '涓昏酱杩炴帴灏哄',
-          align: 'center',
-          width: 120,
-          dataIndex: 'spindleConnectDimension'
-        },
-        {
-          title: '鎬诲姛鐜�',
-          align: 'center',
-          width: 100,
-          dataIndex: 'equipmentPower'
-        },
-        {
-          title: '瀹夎浣嶇疆',
-          align: 'center',
-          width: 100,
-          dataIndex: 'installationPosition'
-        },
-
-        {
-          title: '绔嬮」鍗″彿',
-          align: 'center',
-          width: 100,
-          dataIndex: 'cardNumber'
-        },
-        {
-          title: '鍑哄巶缂栧彿',
-          align: 'center',
-          width: 100,
-          dataIndex: 'factoryNumber'
-        },
-        {
-          title: '鏈哄簥鍘傚',
-          align: 'center',
-          width: 100,
-          dataIndex: 'manufacturingEnterprise'
-        },
-        {
-          title: '鏉ユ簮鍥藉',
-          align: 'center',
-          width: 100,
-          dataIndex: 'originCountry'
-        },
-        {
-          title: '鍑哄巶鏃ユ湡',
-          align: 'center',
-          width: 100,
-          dataIndex: 'leaveFactoryDate'
-        },
-        {
-          title: '楠屾敹鏃ユ湡',
-          align: 'center',
-          width: 100,
-          dataIndex: 'acceptanceCheckDate'
-        },
-        {
-          title: '璐ㄤ繚寮�濮嬫棩鏈�',
-          align: 'center',
-          width: 120,
-          dataIndex: 'warrantyStartDate'
-        },
-        {
-          title: '璐ㄤ繚缁撴潫鏃ユ湡',
-          align: 'center',
-          width: 120,
-          dataIndex: 'warrantyEndDate'
-        },
-        {
-          title: '鏄惁瀹炴柦MDC',
-          align: 'center',
-          width: 120,
-          dataIndex: 'mdcFlag',
-          scopedSlots: { customRender: 'mdcFlag' }
-        },
-        {
-          title: '鏈夋棤宸ヨ壓鍙傛暟',
-          align: 'center',
-          width: 120,
-          dataIndex: 'processParametersFlag',
-          scopedSlots: { customRender: 'processParametersFlag' }
-        },
-        {
-          title: '鏈夋棤绮惧害鍙傛暟',
-          align: 'center',
-          width: 120,
-          dataIndex: 'precisionParametersFlag',
-          scopedSlots: { customRender: 'precisionParametersFlag' }
-        },
-        {
-          title: '鏄惁涓虹壒绉嶈澶�',
-          align: 'center',
-          width: 120,
-          dataIndex: 'specialEquipment',
-          scopedSlots: { customRender: 'specialEquipment' }
-        },
-        {
-          title: '閲嶉噺',
-          align: 'center',
-          dataIndex: 'equipmentWeight'
-        },
-        {
-          title: '璁惧绔彛',
-          align: 'center',
-          width: 100,
-          dataIndex: 'equipmentPort'
-        },
-        {
-          title: '鍧愭爣鏁伴噺',
-          align: 'center',
-          width: 100,
-          dataIndex: 'coordinateNum'
-        },
-        {
-          title: '鍒涘缓浜�',
-          align: 'center',
-          dataIndex: 'createBy_dictText'
-        },
-        {
-          title: '鍒涘缓鏃堕棿',
-          align: 'center',
-          dataIndex: 'createTime'
-        },
-        {
-          title: '鏇存柊浜�',
-          align: 'center',
-          dataIndex: 'updateBy_dictText'
-        },
-        {
-          title: '鏇存柊鏃堕棿',
-          align: 'center',
-          dataIndex: 'updateTime'
-        },
-        {
-          title: '澶囨敞',
-          align: 'center',
-          width: 100,
-          dataIndex: 'remark'
-        },
-        {
-          title: '鎿嶄綔',
-          dataIndex: 'action',
-          align: 'center',
-          width: 150,
-          scopedSlots: { customRender: 'action' },
-          fixed: 'right'
-        }
-      ],
-      url: {
-        list: '/eam/equipment/list',
-        delete: '/eam/equipment/delete',
-        deleteBatch: '/eam/equipment/deleteBatch',
-        exportXlsUrl: 'eam/equipment/exportXls',
-        importExcelUrl: 'eam/equipment/importExcel',
-        loadProductionOptions: '/mdc/mdcProduction/loadProductionTreeOptions',
-        templateXlsDownloadUrl: '瀵煎叆妯℃澘/璁惧鍙拌处瀵煎叆妯℃澘_v1.0.xlsx'
-      },
-      treeData: [],
-      printedRows: [],
-      activeTabKey: 1,
-      appHomeUrl: ''
-    }
-  },
-  computed: {
-    importExcelUrl: function() {
-      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
-    }
-  },
-  created() {
-    this.loadAllProductionTree()
-    this.loadAppHomeUrlConfigValue()
-  },
-  methods: {
-    loadAllProductionTree() {
-      //鍔犺浇杞﹂棿閫夋嫨鏍�
-      getAction(this.url.loadProductionOptions).then(res => {
-        if (res.success) {
-          this.treeData = [...res.result]
-        } else {
-          that.$message.warning(res.message)
-        }
-      })
+  export default {
+    name: 'EamEquipmentList',
+    mixins: [JeecgListMixin],
+    components: {
+      EamRepairOrderList,
+      EamMaintenanceStandardList,
+      ResumeDrawer,
+      NameplateModal,
+      EamEquipmentModal
     },
-
-    /**
-     * 寮�鍚摥鐗屽脊绐�
-     * @param recordArray 琛ㄦ牸琛屼俊鎭泦鍚�
-     */
-    handleOpenNameplateModal(recordArray) {
-      this.printedRows = recordArray
-      this.$refs.nameplateModalRef.httpUrl = this.appHomeUrl
-      this.$refs.nameplateModalRef.visible = true
-    },
-
-    /**
-     * 寮�鍚饱鍘嗘娊灞�
-     * @param record 琛ㄦ牸琛屼俊鎭�
-     */
-    handleOpenResumeDrawer(record) {
-      this.$refs.resumeDrawerRef.visible = true
-    },
-
-    /**
-     * 鑷畾涔夎澶囧彴璐﹁〃鏍艰
-     * @param record 琛ㄦ牸琛屼俊鎭�
-     * @returns {{style: {cursor: string}, on: {click: *}}} 鏍峰紡瀵硅薄涓庝簨浠舵柟娉�
-     */
-    customTableRow(record) {
+    data() {
       return {
-        style: {
-          cursor: 'pointer'
-        },
-        on: {
-          click: () => {
-            this.onSelectChange([record.id])
+        description: '璁惧鍙拌处绠$悊椤甸潰',
+        // 琛ㄥご
+        columns: [
+          {
+            title: '#',
+            dataIndex: '',
+            key: 'rowIndex',
+            width: 60,
+            align: 'center',
+            customRender: function(t, r, index) {
+              return parseInt(index) + 1
+            },
+            fixed: 'left'
+          },
+          {
+            title: '璁惧缂栧彿',
+            align: 'center',
+            width: 100,
+            dataIndex: 'equipmentCode',
+            ellipsis: true,
+            fixed: 'left',
+            sorter: true
+          },
+          {
+            title: '璁惧鍚嶇О',
+            align: 'center',
+            width: 100,
+            dataIndex: 'equipmentName',
+            ellipsis: true,
+            fixed: 'left'
+          },
+          {
+            title: '鍏抽敭璁惧鏍囪瘑',
+            align: 'center',
+            width: 120,
+            dataIndex: 'equipmentImportance',
+            scopedSlots: { customRender: 'equipmentImportance' }
+          },
+          {
+            title: '璧勪骇鐘舵��',
+            align: 'center',
+            width: 100,
+            dataIndex: 'assetStatus_dictText'
+          },
+          {
+            title: '鎶�鏈姸鎬�',
+            align: 'center',
+            width: 100,
+            dataIndex: 'technologyStatus_dictText'
+          },
+          {
+            title: '缁翠慨鐘舵��',
+            align: 'center',
+            width: 100,
+            dataIndex: 'repairStatus_dictText'
+          },
+          {
+            title: '淇濆吇鐘舵��',
+            align: 'center',
+            width: 100,
+            dataIndex: 'maintenanceStatus_dictText'
+          },
+          {
+            title: '鎿嶄綔绯荤粺',
+            align: 'center',
+            width: 100,
+            dataIndex: 'operationSystem'
+          },
+          {
+            title: '浣跨敤杞﹂棿',
+            align: 'center',
+            width: 100,
+            dataIndex: 'orgId_dictText'
+          },
+          {
+            title: '璁惧绠$悊鍛�',
+            align: 'center',
+            width: 100,
+            dataIndex: 'equipmentManager_dictText'
+          },
+          {
+            title: '璁惧鍒嗙被',
+            align: 'center',
+            width: 100,
+            dataIndex: 'equipmentCategory_dictText'
+          },
+          {
+            title: '璁惧鍨嬪彿',
+            align: 'center',
+            width: 200,
+            dataIndex: 'equipmentModel'
+          },
+          {
+            title: '璁惧瑙勬牸',
+            align: 'center',
+            width: 100,
+            dataIndex: 'equipmentSpecification'
+          },
+          {
+            title: '涓昏酱杩炴帴灏哄',
+            align: 'center',
+            width: 120,
+            dataIndex: 'spindleConnectDimension'
+          },
+          {
+            title: '鎬诲姛鐜�',
+            align: 'center',
+            width: 100,
+            dataIndex: 'equipmentPower'
+          },
+          {
+            title: '瀹夎浣嶇疆',
+            align: 'center',
+            width: 100,
+            dataIndex: 'installationPosition'
+          },
+
+          {
+            title: '绔嬮」鍗″彿',
+            align: 'center',
+            width: 100,
+            dataIndex: 'cardNumber'
+          },
+          {
+            title: '鍑哄巶缂栧彿',
+            align: 'center',
+            width: 100,
+            dataIndex: 'factoryNumber'
+          },
+          {
+            title: '鏈哄簥鍘傚',
+            align: 'center',
+            width: 100,
+            dataIndex: 'manufacturingEnterprise'
+          },
+          {
+            title: '鏉ユ簮鍥藉',
+            align: 'center',
+            width: 100,
+            dataIndex: 'originCountry'
+          },
+          {
+            title: '鍑哄巶鏃ユ湡',
+            align: 'center',
+            width: 100,
+            dataIndex: 'leaveFactoryDate'
+          },
+          {
+            title: '楠屾敹鏃ユ湡',
+            align: 'center',
+            width: 100,
+            dataIndex: 'acceptanceCheckDate'
+          },
+          {
+            title: '璐ㄤ繚寮�濮嬫棩鏈�',
+            align: 'center',
+            width: 120,
+            dataIndex: 'warrantyStartDate'
+          },
+          {
+            title: '璐ㄤ繚缁撴潫鏃ユ湡',
+            align: 'center',
+            width: 120,
+            dataIndex: 'warrantyEndDate'
+          },
+          {
+            title: '鏄惁瀹炴柦MDC',
+            align: 'center',
+            width: 120,
+            dataIndex: 'mdcFlag',
+            scopedSlots: { customRender: 'mdcFlag' }
+          },
+          {
+            title: '鏈夋棤宸ヨ壓鍙傛暟',
+            align: 'center',
+            width: 120,
+            dataIndex: 'processParametersFlag',
+            scopedSlots: { customRender: 'processParametersFlag' }
+          },
+          {
+            title: '鏈夋棤绮惧害鍙傛暟',
+            align: 'center',
+            width: 120,
+            dataIndex: 'precisionParametersFlag',
+            scopedSlots: { customRender: 'precisionParametersFlag' }
+          },
+          {
+            title: '鏄惁涓虹壒绉嶈澶�',
+            align: 'center',
+            width: 120,
+            dataIndex: 'specialEquipment',
+            scopedSlots: { customRender: 'specialEquipment' }
+          },
+          {
+            title: '閲嶉噺',
+            align: 'center',
+            dataIndex: 'equipmentWeight'
+          },
+          {
+            title: '璁惧绔彛',
+            align: 'center',
+            width: 100,
+            dataIndex: 'equipmentPort'
+          },
+          {
+            title: '鍧愭爣鏁伴噺',
+            align: 'center',
+            width: 100,
+            dataIndex: 'coordinateNum'
+          },
+          {
+            title: '鍒涘缓浜�',
+            align: 'center',
+            dataIndex: 'createBy_dictText'
+          },
+          {
+            title: '鍒涘缓鏃堕棿',
+            align: 'center',
+            dataIndex: 'createTime'
+          },
+          {
+            title: '鏇存柊浜�',
+            align: 'center',
+            dataIndex: 'updateBy_dictText'
+          },
+          {
+            title: '鏇存柊鏃堕棿',
+            align: 'center',
+            dataIndex: 'updateTime'
+          },
+          {
+            title: '澶囨敞',
+            align: 'center',
+            width: 100,
+            dataIndex: 'remark'
+          },
+          {
+            title: '鎿嶄綔',
+            dataIndex: 'action',
+            align: 'center',
+            width: 150,
+            scopedSlots: { customRender: 'action' },
+            fixed: 'right'
           }
-        }
+        ],
+        url: {
+          list: '/eam/equipment/list',
+          delete: '/eam/equipment/delete',
+          deleteBatch: '/eam/equipment/deleteBatch',
+          exportXlsUrl: 'eam/equipment/exportXls',
+          importExcelUrl: 'eam/equipment/importExcel',
+          loadProductionOptions: '/mdc/mdcProduction/loadProductionTreeOptions',
+          templateXlsDownloadUrl: '瀵煎叆妯℃澘/璁惧鍙拌处瀵煎叆妯℃澘_v1.0.xlsx'
+        },
+        treeData: [],
+        printedRows: [],
+        activeTabKey: 1,
+        appHomeUrl: ''
       }
     },
-
-    /**
-     * 鍔犺浇椤电琛ㄦ牸鏁版嵁
-     * @param id 璁惧鍙拌处琛岃褰旾d
-     */
-    loadTabPaneTableData(id) {
-      this.$refs.tabPaneTableListRef.queryParam.equipmentId = id
-      this.$refs.tabPaneTableListRef.loadData(1)
+    computed: {
+      importExcelUrl: function() {
+        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
+      }
     },
-
-    /**
-     * 璁惧鍙拌处琛ㄦ牸澶氶�夋鐘舵�佹敼鍙樻椂瑙﹀彂
-     * @param selectedRowKeys 宸查�夋嫨鐨剅owKey闆嗗悎
-     * @param selectionRows 褰撳墠鍒嗛〉涓嬪凡閫夋嫨鐨勮淇℃伅闆嗗悎
-     */
-    onSelectChange(selectedRowKeys, selectionRows) {
-      this.selectedRowKeys = selectedRowKeys
-      this.selectionRows = selectionRows
-      this.$refs.tabPaneTableListRef.dataSource = []
-      this.$refs.tabPaneTableListRef.onClearSelected()
-      if (selectedRowKeys.length === 1) this.loadTabPaneTableData(selectedRowKeys[0])
+    created() {
+      this.loadAllProductionTree()
+      this.loadAppHomeUrlConfigValue()
     },
+    methods: {
+      loadAllProductionTree() {
+        //鍔犺浇杞﹂棿閫夋嫨鏍�
+        getAction(this.url.loadProductionOptions).then(res => {
+          if (res.success) {
+            this.treeData = [...res.result]
+          } else {
+            that.$message.warning(res.message)
+          }
+        })
+      },
 
-    handleTemplateXlsDownload() {
-      templateXlsDownload(this.url.templateXlsDownloadUrl)
-    },
+      /**
+       * 寮�鍚摥鐗屽脊绐�
+       * @param recordArray 琛ㄦ牸琛屼俊鎭泦鍚�
+       */
+      handleOpenNameplateModal(recordArray) {
+        this.printedRows = recordArray
+        this.$refs.nameplateModalRef.httpUrl = this.appHomeUrl
+        this.$refs.nameplateModalRef.visible = true
+      },
 
-    loadAppHomeUrlConfigValue() {
-      let params = { settingKey: 'app_home_url' }
-      getSystemConfigValue(params).then(res => {
-        if (res.success) {
-          this.appHomeUrl = res.result.settingValue
+      /**
+       * 寮�鍚饱鍘嗘娊灞�
+       * @param record 琛ㄦ牸琛屼俊鎭�
+       */
+      handleOpenResumeDrawer(record) {
+        this.$refs.resumeDrawerRef.visible = true
+      },
+
+      /**
+       * 鑷畾涔夎澶囧彴璐﹁〃鏍艰
+       * @param record 琛ㄦ牸琛屼俊鎭�
+       * @returns {{style: {cursor: string}, on: {click: *}}} 鏍峰紡瀵硅薄涓庝簨浠舵柟娉�
+       */
+      customTableRow(record) {
+        return {
+          style: {
+            cursor: 'pointer'
+          },
+          on: {
+            click: () => {
+              this.onSelectChange([record.id])
+            }
+          }
         }
-      })
+      },
+
+      /**
+       * 椤电鏀瑰彉鏃惰Е鍙�
+       * @param activeTabKey 褰撳墠婵�娲荤殑椤电key
+       */
+      handleTabChange(activeTabKey) {
+        if (this.selectedRowKeys.length !== 1) return
+        this.$nextTick(() => this.loadTabPaneTableData(this.selectedRowKeys[0]))
+      },
+
+      /**
+       * 鍔犺浇椤电琛ㄦ牸鏁版嵁
+       * @param id 璁惧鍙拌处琛岃褰旾d
+       */
+      loadTabPaneTableData(id) {
+        this.$refs['tabPaneTableListRef' + this.activeTabKey].queryParam.equipmentId = id
+        this.$refs['tabPaneTableListRef' + this.activeTabKey].loadData(1)
+      },
+
+      /**
+       * 璁惧鍙拌处琛ㄦ牸澶氶�夋鐘舵�佹敼鍙樻椂瑙﹀彂
+       * @param selectedRowKeys 宸查�夋嫨鐨剅owKey闆嗗悎
+       * @param selectionRows 褰撳墠鍒嗛〉涓嬪凡閫夋嫨鐨勮淇℃伅闆嗗悎
+       */
+      onSelectChange(selectedRowKeys, selectionRows) {
+        this.selectedRowKeys = selectedRowKeys
+        this.selectionRows = selectionRows
+        this.$refs['tabPaneTableListRef' + this.activeTabKey].dataSource = []
+        this.$refs['tabPaneTableListRef' + this.activeTabKey].onClearSelected()
+        if (selectedRowKeys.length === 1) this.loadTabPaneTableData(selectedRowKeys[0])
+      },
+
+      handleTemplateXlsDownload() {
+        templateXlsDownload(this.url.templateXlsDownloadUrl)
+      },
+
+      loadAppHomeUrlConfigValue() {
+        let params = { settingKey: 'app_home_url' }
+        getSystemConfigValue(params).then(res => {
+          if (res.success) {
+            this.appHomeUrl = res.result.settingValue
+          }
+        })
+      }
     }
   }
-}
 </script>
 <style scoped>
-@import '~@assets/less/common.less';
+  @import '~@assets/less/common.less';
 </style>
\ No newline at end of file
diff --git a/src/views/eam/repair/EamRepairOrderList.vue b/src/views/eam/repair/EamRepairOrderList.vue
index 18482bc..d905fc3 100644
--- a/src/views/eam/repair/EamRepairOrderList.vue
+++ b/src/views/eam/repair/EamRepairOrderList.vue
@@ -2,7 +2,7 @@
   <a-card :bordered="false">
 
     <!-- 鏌ヨ鍖哄煙 -->
-    <div class="table-page-search-wrapper">
+    <div class="table-page-search-wrapper" v-if="isDisplayOperation">
       <a-form layout="inline" @keyup.enter.native="searchQuery">
         <a-row :gutter="24">
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
@@ -10,26 +10,31 @@
               <a-input placeholder="璇疯緭鍏ュ伐鍗曠紪鍙�" v-model="queryParam.repairCode"></a-input>
             </a-form-item>
           </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="璁惧缂栧彿">
+              <!--<a-input placeholder="璇疯緭鍏ヨ澶囩紪鍙�" v-model="queryParam.equipmentId"/>-->
+              <lx-search-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="queryParam.equipmentId"/>
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="鍗曟嵁鐘舵��">
+              <a-select placeholder="璇烽�夋嫨鍗曟嵁鐘舵��" v-model="queryParam.repairStatus" allow-clear>
+                <a-select-option v-for="item in report_repair_status_list" :key="item.value">{{ item.label }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
           <template v-if="toggleSearchStatus">
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="璁惧缂栧彿">
-                <lx-search-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="queryParam.equipmentId"/>
-              </a-form-item>
-            </a-col>
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="缁翠慨鐘舵��">
-                <a-input placeholder="璇疯緭鍏ョ淮淇姸鎬�" v-model="queryParam.repairStatus"></a-input>
-              </a-form-item>
-            </a-col>
+
           </template>
           <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 @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
+              <!--<a @click="handleToggleSearch" style="margin-left: 8px">-->
+              <!--{{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }}-->
+              <!--<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
+              <!--</a>-->
             </span>
           </a-col>
 
@@ -38,8 +43,8 @@
     </div>
 
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
-    <div class="table-operator">
-      <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+    <div class="table-operator" v-if="isDisplayOperation">
+      <a-button @click="handleOpenReceiveFaultModal" type="primary" icon="plus">棰嗗彇</a-button>
       <a-button type="primary" icon="download" @click="handleExportXls('缁翠慨宸ュ崟')">瀵煎嚭</a-button>
       <a-dropdown v-if="selectedRowKeys.length > 0">
         <a-menu slot="overlay">
@@ -56,7 +61,7 @@
 
     <!-- table鍖哄煙-begin -->
     <div>
-      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;" v-if="isDisplayOperation">
         <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>
@@ -78,166 +83,227 @@
       >
 
         <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">缂栬緫</a>
+          <a @click="handleOpenApplySparePartsModal(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-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
-                  <a>鍒犻櫎</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
+
+          <a @click="handleOpenRepairCompletedModal(record)">瀹屾垚缁翠慨</a>
+
+          <!--<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-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">-->
+          <!--<a>鍒犻櫎</a>-->
+          <!--</a-popconfirm>-->
+          <!--</a-menu-item>-->
+          <!--</a-menu>-->
+          <!--</a-dropdown>-->
         </span>
 
       </a-table>
     </div>
     <!-- table鍖哄煙-end -->
 
-    <!-- 琛ㄥ崟鍖哄煙 -->
-    <eamRepairOrder-modal ref="modalForm" @ok="modalFormOk"></eamRepairOrder-modal>
+    <receive-fault-modal ref="receiveFaultModalRef" @ok="loadData"/>
   </a-card>
 </template>
 
 <script>
-import '@/assets/less/TableExpand.less'
-import EamRepairOrderModal from './modules/EamRepairOrderModal'
-import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
+  import '@/assets/less/TableExpand.less'
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import ReceiveFaultModal from './modules/EamRepairOrderList/ReceiveFaultModal'
+  import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api'
+  import LxSearchEquipmentSelect from '../equipment/modules/LxSearchEquipmentSelect'
 
-export default {
-  name: 'EamRepairOrderList',
-  mixins: [JeecgListMixin],
-  components: {
-    LxSearchEquipmentSelect,
-    EamRepairOrderModal
-  },
-  data() {
-    return {
-      description: '缁翠慨宸ュ崟绠$悊椤甸潰',
-      // 琛ㄥご
-      columns: [
-        {
-          title: '宸ュ崟缂栧彿',
-          align: 'center',
-          dataIndex: 'repairCode',
-          width: 200,
-          fixed: 'left'
-        },
-        // {
-        //   title: '鎶ヤ慨缂栧彿',
-        //   align: 'center',
-        //   dataIndex: 'reportId',
-        //   width: 200,
-        //   fixed: 'left'
-        // },
-        {
-          title: '璁惧缂栧彿',
-          align: 'center',
-          dataIndex: 'equipmentId_dictText',
-          width: 200,
-          fixed: 'left'
-        },
-        {
-          title: '鐘舵��',
-          align: 'center',
-          dataIndex: 'repairStatus_dictText',
-          fixed: 'left',
-          width: 100
-        },
-        {
-          title: '缁翠慨寮�濮嬫椂闂�',
-          align: 'center',
-          dataIndex: 'actualStartTime',
-          width: 200
-        },
-        {
-          title: '缁翠慨缁撴潫鏃堕棿',
-          align: 'center',
-          dataIndex: 'actualEndTime',
-          width: 200
-        },
-        {
-          title: '鏁呴殰鍘熷洜',
-          align: 'center',
-          dataIndex: 'faultReason'
-        },
-        {
-          title: '缁翠慨缁撴灉鎻忚堪',
-          align: 'center',
-          dataIndex: 'repairDescription',
-          width: 300
-        },
-        {
-          title: '缁翠慨璐熻矗浜�',
-          align: 'center',
-          dataIndex: 'repairer',
-          width: 100
-        },
-        // {
-        //   title: '鏄惁濮斿',
-        //   align: 'center',
-        //   dataIndex: 'outsourcedFlag',
-        //   width: 100
-        // },
-        // {
-        //   title: '濮斿缁翠慨鎻忚堪',
-        //   align: 'center',
-        //   dataIndex: 'outsourcedRepairDecription',
-        //   width: 300
-        // },
-        // {
-        //   title: '濮斿缁翠慨寮�濮嬫椂闂�',
-        //   align: 'center',
-        //   dataIndex: 'outsourcedStartTime',
-        //   width: 200
-        // },
-        // {
-        //   title: '濮斿缁翠慨缁撴潫鏃堕棿',
-        //   align: 'center',
-        //   dataIndex: 'outsourcedEndTime',
-        //   width: 200
-        // },
-        // {
-        //   title: '濮斿璐熻矗浜�',
-        //   align: 'center',
-        //   dataIndex: 'outsourcedPerson',
-        //   width: 100
-        // },
-        {
-          title: '缁翠慨鍥剧墖',
-          align: 'center',
-          dataIndex: 'imageFiles',
-          width: 100
-        },
-        {
-          title: '鎿嶄綔',
-          dataIndex: 'action',
-          align: 'center',
-          scopedSlots: { customRender: 'action' },
-          fixed: 'right',
-          width: 150
+  export default {
+    name: 'EamRepairOrderList',
+    mixins: [JeecgListMixin],
+    components: {
+      LxSearchEquipmentSelect,
+      ReceiveFaultModal
+    },
+    props:{
+      isDisplayOperation:{
+        type:Boolean,
+        default:true
+      }
+    },
+    data() {
+      return {
+        description: '缁翠慨宸ュ崟绠$悊椤甸潰',
+        disableMixinCreated: true,
+        // 琛ㄥご
+        columns: [
+          {
+            title: '宸ュ崟缂栧彿',
+            align: 'center',
+            dataIndex: 'repairCode',
+            width: 200,
+            fixed: 'left'
+          },
+          // {
+          //   title: '鎶ヤ慨缂栧彿',
+          //   align: 'center',
+          //   dataIndex: 'reportId',
+          //   width: 200,
+          //   fixed: 'left'
+          // },
+          {
+            title: '璁惧缂栧彿',
+            align: 'center',
+            dataIndex: 'equipmentId_dictText',
+            width: 200,
+            fixed: 'left'
+          },
+          {
+            title: '鐘舵��',
+            align: 'center',
+            dataIndex: 'repairStatus_dictText',
+            fixed: 'left',
+            width: 100
+          },
+          {
+            title: '缁翠慨寮�濮嬫椂闂�',
+            align: 'center',
+            dataIndex: 'actualStartTime',
+            width: 200
+          },
+          {
+            title: '缁翠慨缁撴潫鏃堕棿',
+            align: 'center',
+            dataIndex: 'actualEndTime',
+            width: 200
+          },
+          {
+            title: '鏁呴殰鍘熷洜',
+            align: 'center',
+            dataIndex: 'faultReason',
+            width: 150
+          },
+          {
+            title: '缁翠慨缁撴灉鎻忚堪',
+            align: 'center',
+            dataIndex: 'repairDescription',
+            width: 300
+          },
+          {
+            title: '缁翠慨鍥剧墖',
+            align: 'center',
+            dataIndex: 'imageFiles',
+            width: 100
+          },
+          {
+            title: '缁翠慨璐熻矗浜�',
+            align: 'center',
+            dataIndex: 'repairer'
+          },
+          // {
+          //   title: '鏄惁濮斿',
+          //   align: 'center',
+          //   dataIndex: 'outsourcedFlag',
+          //   width: 100
+          // },
+          // {
+          //   title: '濮斿缁翠慨鎻忚堪',
+          //   align: 'center',
+          //   dataIndex: 'outsourcedRepairDecription',
+          //   width: 300
+          // },
+          // {
+          //   title: '濮斿缁翠慨寮�濮嬫椂闂�',
+          //   align: 'center',
+          //   dataIndex: 'outsourcedStartTime',
+          //   width: 200
+          // },
+          // {
+          //   title: '濮斿缁翠慨缁撴潫鏃堕棿',
+          //   align: 'center',
+          //   dataIndex: 'outsourcedEndTime',
+          //   width: 200
+          // },
+          // {
+          //   title: '濮斿璐熻矗浜�',
+          //   align: 'center',
+          //   dataIndex: 'outsourcedPerson',
+          //   width: 100
+          // },
+        ],
+        report_repair_status_list: [],
+        url: {
+          list: '/eam/eamRepairOrder/list',
+          delete: '/eam/eamRepairOrder/delete',
+          deleteBatch: '/eam/eamRepairOrder/deleteBatch',
+          exportXlsUrl: 'eam/eamRepairOrder/exportXls'
         }
-      ],
-      url: {
-        list: '/eam/eamRepairOrder/list',
-        delete: '/eam/eamRepairOrder/delete',
-        deleteBatch: '/eam/eamRepairOrder/deleteBatch',
-        exportXlsUrl: 'eam/eamRepairOrder/exportXls',
+      }
+    },
+    computed: {
+      importExcelUrl: function() {
+        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
+      }
+    },
+    created() {
+      if (!this.isDisplayOperation) {
+        return
+      }
+      this.initDictData('report_repair_status')
+      const operationColumn = {
+        title: '鎿嶄綔',
+        dataIndex: 'action',
+        align: 'center',
+        scopedSlots: { customRender: 'action' }
+      }
+      this.columns = [...this.columns, operationColumn]
+      this.loadData(1)
+    },
+    methods: {
+      /**
+       * 鑾峰彇鏁版嵁瀛楀吀鍊�
+       * @param dictCode 鏁版嵁瀛楀吀瀵瑰簲璁板綍缂栫爜
+       */
+      initDictData(dictCode) {
+        // //浼樺厛浠庣紦瀛樹腑璇诲彇瀛楀吀閰嶇疆
+        if (getDictItemsFromCache(dictCode)) {
+          this[dictCode + '_list'] = getDictItemsFromCache(dictCode)
+          return
+        }
+        //鏍规嵁瀛楀吀Code, 鍒濆鍖栧瓧鍏告暟缁�
+        ajaxGetDictItems(dictCode, null).then((res) => {
+          if (res.success) {
+            this[dictCode + '_list'] = res.result
+            return
+          }
+        })
+      },
+
+      // 寮�鍚鍙栨晠闅滀繚淇崟寮圭獥
+      handleOpenReceiveFaultModal() {
+        this.$refs.receiveFaultModalRef.visible = true
+        this.$refs.receiveFaultModalRef.loadData()
+      },
+
+      /**
+       * 寮�鍚敵璇峰浠跺脊绐�
+       * @param record 琛ㄦ牸琛屼俊鎭�
+       */
+      handleOpenApplySparePartsModal(record) {
+
+      },
+
+      /**
+       * 寮�鍚畬鎴愮淮淇脊绐�
+       * @param record 琛ㄦ牸琛屼俊鎭�
+       */
+      handleOpenRepairCompletedModal(record) {
+
       }
     }
-  },
-  computed: {
-    importExcelUrl: function() {
-      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
-    }
-  },
-  methods: {}
-}
+  }
 </script>
 <style scoped>
-@import '~@assets/less/common.less';
+  @import '~@assets/less/common.less';
 </style>
\ No newline at end of file
diff --git a/src/views/eam/repair/EamReportRepairList.vue b/src/views/eam/repair/EamReportRepairList.vue
index 1dfec40..fb7d04e 100644
--- a/src/views/eam/repair/EamReportRepairList.vue
+++ b/src/views/eam/repair/EamReportRepairList.vue
@@ -7,10 +7,11 @@
         <a-row :gutter="24">
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <a-form-item label="璁惧缂栧彿">
-              <a-input placeholder="璇疯緭鍏ヨ澶囩紪鍙�" v-model="queryParam.equipmentId"/>
+              <!--<a-input placeholder="璇疯緭鍏ヨ澶囩紪鍙�" v-model="queryParam.equipmentId"/>-->
+              <lx-search-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="queryParam.equipmentId"/>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-col :xl="6" :lg="7" :md="8" :sm="24" v-if="isDisplayOperation">
             <a-form-item label="鍗曟嵁鐘舵��">
               <a-select placeholder="璇烽�夋嫨鍗曟嵁鐘舵��" v-model="queryParam.reportStatus" allow-clear>
                 <a-select-option v-for="item in report_repair_status_list" :key="item.value">{{ item.label }}
@@ -66,7 +67,7 @@
     </div>
 
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
-    <div class="table-operator">
+    <div class="table-operator" v-if="isDisplayOperation">
       <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
       <a-button type="primary" icon="download" @click="handleExportXls('鏁呴殰鎶ヤ慨')">瀵煎嚭</a-button>
       <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"
@@ -88,7 +89,7 @@
 
     <!-- table鍖哄煙-begin -->
     <div>
-      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;" v-if="isDisplayOperation">
         <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>
@@ -104,7 +105,7 @@
         :pagination="ipagination"
         :loading="loading"
         class="j-table-force-nowrap"
-        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:isDisplayOperation?'checkbox':'radio'}"
         @change="handleTableChange">
 
         <template slot="imageFiles" slot-scope="text, record" v-if="text">
@@ -119,16 +120,6 @@
           <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handleDelete(record.id)">
             <a>浣滃簾</a>
           </a-popconfirm>
-          <!--          <a-dropdown>-->
-          <!--            <a class="ant-dropdown-link">鏇村 <a-icon type="down"/></a>-->
-          <!--            <a-menu slot="overlay">-->
-          <!--              <a-menu-item>-->
-          <!--                <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">-->
-          <!--                  <a>鍒犻櫎</a>-->
-          <!--                </a-popconfirm>-->
-          <!--              </a-menu-item>-->
-          <!--            </a-menu>-->
-          <!--          </a-dropdown>-->
         </span>
 
       </a-table>
@@ -144,181 +135,197 @@
 </template>
 
 <script>
-import '@/assets/less/TableExpand.less'
-import EamReportRepairModal from './modules/EamReportRepairModal'
-import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
-import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api'
-import ImagesPreviewModal from '@views/eam/repair/modules/ImagesPreviewModal.vue'
-import { getAction } from '@/api/manage'
+  import '@/assets/less/TableExpand.less'
+  import EamReportRepairModal from './modules/EamReportRepairList/EamReportRepairModal'
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
+  import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api'
+  import ImagesPreviewModal from '@views/eam/repair/modules/ImagesPreviewModal.vue'
+  import { getAction } from '@/api/manage'
 
 
-export default {
-  name: 'EamReportRepairList',
-  mixins: [JeecgListMixin],
-  components: {
-    ImagesPreviewModal,
-    LxSearchEquipmentSelect,
-    EamReportRepairModal
-  },
-  data() {
-    return {
-      description: '鏁呴殰鎶ヤ慨绠$悊椤甸潰',
-      // 琛ㄥご
-      columns: [
-        {
-          title: '#',
-          dataIndex: '',
-          key: 'rowIndex',
-          width: 60,
-          align: 'center',
-          customRender: function(t, r, index) {
-            return parseInt(index) + 1
+  export default {
+    name: 'EamReportRepairList',
+    mixins: [JeecgListMixin],
+    components: {
+      ImagesPreviewModal,
+      LxSearchEquipmentSelect,
+      EamReportRepairModal
+    },
+    props: {
+      isDisplayOperation: {
+        type: Boolean,
+        default: true
+      },
+      propsQueryParam: {
+        type: Object
+      }
+    },
+    data() {
+      return {
+        description: '鏁呴殰鎶ヤ慨绠$悊椤甸潰',
+        disableMixinCreated: true,
+        // 琛ㄥご
+        columns: [
+          {
+            title: '#',
+            dataIndex: '',
+            key: 'rowIndex',
+            width: 60,
+            align: 'center',
+            customRender: function(t, r, index) {
+              return parseInt(index) + 1
+            }
+          },
+          {
+            title: '璁惧缂栧彿',
+            align: 'center',
+            dataIndex: 'equipmentId_dictText',
+            width: 200
+          },
+          {
+            title: '鐘舵��',
+            align: 'center',
+            dataIndex: 'reportStatus_dictText',
+            width: 100
+          },
+          {
+            title: '鏁呴殰绠�绉�',
+            align: 'center',
+            dataIndex: 'faultName',
+            width: 100
+          },
+          {
+            title: '鏁呴殰鍒嗙被',
+            align: 'center',
+            dataIndex: 'faultType_dictText',
+            width: 100
+          },
+          {
+            title: '鏁呴殰鎻忚堪',
+            align: 'center',
+            dataIndex: 'faultDescription',
+            width: 200
+          },
+          {
+            title: '鏁呴殰寮�濮嬫椂闂�',
+            align: 'center',
+            dataIndex: 'faultStartTime',
+            width: 200
+          },
+          {
+            title: '鏄惁鍋滄満',
+            align: 'center',
+            dataIndex: 'breakdownFlag_dictText',
+            width: 100
+          },
+          {
+            title: '鎶ヤ慨鍥剧墖',
+            align: 'center',
+            dataIndex: 'imageFiles',
+            scopedSlots: { customRender: 'imageFiles' },
+            width: 100
+          },
+          {
+            title: '澶囨敞',
+            align: 'center',
+            dataIndex: 'remark'
           }
-        },
-        {
-          title: '璁惧缂栧彿',
-          align: 'center',
-          dataIndex: 'equipmentId_dictText',
-          width: 200
-        },
-        {
-          title: '鐘舵��',
-          align: 'center',
-          dataIndex: 'reportStatus_dictText',
-          width: 100
-        },
-        {
-          title: '鏁呴殰绠�绉�',
-          align: 'center',
-          dataIndex: 'faultName',
-          width: 100
-        },
-        {
-          title: '鏁呴殰鍒嗙被',
-          align: 'center',
-          dataIndex: 'faultType_dictText',
-          width: 100
-        },
-        {
-          title: '鏁呴殰鎻忚堪',
-          align: 'center',
-          dataIndex: 'faultDescription',
-          width: 200
-        },
-        {
-          title: '鏁呴殰寮�濮嬫椂闂�',
-          align: 'center',
-          dataIndex: 'faultStartTime',
-          width: 200
-        },
-        {
-          title: '鏄惁鍋滄満',
-          align: 'center',
-          dataIndex: 'breakdownFlag_dictText',
-          width: 100
-        },
-        {
-          title: '鎶ヤ慨鍥剧墖',
-          align: 'center',
-          dataIndex: 'imageFiles',
-          scopedSlots: { customRender: 'imageFiles' },
-          width: 100
-        },
-        {
-          title: '澶囨敞',
-          align: 'center',
-          dataIndex: 'remark'
-        },
-        {
+        ],
+        breakdown_flag_list: [],
+        report_repair_status_list: [],
+        faultTimeRange: [],
+        faultReasonList: [],
+        currentImageListUrl: '',
+        url: {
+          list: '/eam/eamReportRepair/list',
+          delete: '/eam/eamReportRepair/abolish',
+          deleteBatch: '/eam/eamReportRepair/abolishBatch',
+          exportXlsUrl: 'eam/eamReportRepair/exportXls',
+          importExcelUrl: 'eam/eamReportRepair/importExcel',
+          faultReasonList: '/eam/equipmentFaultReason/list'
+        }
+      }
+    },
+    computed: {
+      importExcelUrl: function() {
+        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
+      }
+    },
+    created() {
+      this.initDictData('breakdown_flag')
+      this.initDictData('report_repair_status')
+      this.getFaultReasonListByApi()
+      if (!this.isDisplayOperation) this.queryParam = Object.assign({} ,this.propsQueryParam)
+      else {
+        const operationColumn = {
           title: '鎿嶄綔',
           dataIndex: 'action',
           align: 'center',
           scopedSlots: { customRender: 'action' },
           width: 150
         }
-      ],
-      breakdown_flag_list: [],
-      report_repair_status_list: [],
-      faultTimeRange: [],
-      faultReasonList: [],
-      currentImageListUrl: '',
-      url: {
-        list: '/eam/eamReportRepair/list',
-        delete: '/eam/eamReportRepair/abolish',
-        deleteBatch: '/eam/eamReportRepair/abolishBatch',
-        exportXlsUrl: 'eam/eamReportRepair/exportXls',
-        importExcelUrl: 'eam/eamReportRepair/importExcel',
-        faultReasonList: '/eam/equipmentFaultReason/list'
+        this.columns = [...this.columns, operationColumn]
       }
-    }
-  },
-  computed: {
-    importExcelUrl: function() {
-      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
-    }
-  },
-  created() {
-    this.initDictData('breakdown_flag')
-    this.initDictData('report_repair_status')
-    this.getFaultReasonListByApi()
-  },
-  methods: {
-    /**
-     * 鑾峰彇鏁版嵁瀛楀吀鍊�
-     * @param dictCode 鏁版嵁瀛楀吀瀵瑰簲璁板綍缂栫爜
-     */
-    initDictData(dictCode) {
-      // //浼樺厛浠庣紦瀛樹腑璇诲彇瀛楀吀閰嶇疆
-      if (getDictItemsFromCache(dictCode)) {
-        this[dictCode + '_list'] = getDictItemsFromCache(dictCode)
-        return
-      }
-      //鏍规嵁瀛楀吀Code, 鍒濆鍖栧瓧鍏告暟缁�
-      ajaxGetDictItems(dictCode, null).then((res) => {
-        if (res.success) {
-          this[dictCode + '_list'] = res.result
+      this.loadData(1)
+    },
+    methods: {
+      /**
+       * 鑾峰彇鏁版嵁瀛楀吀鍊�
+       * @param dictCode 鏁版嵁瀛楀吀瀵瑰簲璁板綍缂栫爜
+       */
+      initDictData(dictCode) {
+        // //浼樺厛浠庣紦瀛樹腑璇诲彇瀛楀吀閰嶇疆
+        if (getDictItemsFromCache(dictCode)) {
+          this[dictCode + '_list'] = getDictItemsFromCache(dictCode)
           return
         }
-      })
-    },
-
-    // 璋冪敤鎺ュ彛鑾峰彇鏁呴殰鍘熷洜鍒楄〃
-    getFaultReasonListByApi() {
-      const that = this
-      getAction(this.url.faultReasonList)
-        .then(res => {
-          console.log('res', res)
-          that.faultReasonList = res.result.records
+        //鏍规嵁瀛楀吀Code, 鍒濆鍖栧瓧鍏告暟缁�
+        ajaxGetDictItems(dictCode, null).then((res) => {
+          if (res.success) {
+            this[dictCode + '_list'] = res.result
+            return
+          }
         })
-    },
+      },
 
-    /**
-     * 鏁呴殰鏃堕棿閫夋嫨鍣ㄥ彉鍖栨椂瑙﹀彂
-     * @param valueArray
-     */
-    handleTimeRangeChange(valueArray) {
-      this.queryParam.startTime = valueArray[0]
-      this.queryParam.endTime = valueArray[1]
-    },
+      // 璋冪敤鎺ュ彛鑾峰彇鏁呴殰鍘熷洜鍒楄〃
+      getFaultReasonListByApi() {
+        const that = this
+        getAction(this.url.faultReasonList)
+          .then(res => {
+            console.log('res', res)
+            that.faultReasonList = res.result.records
+          })
+      },
 
-    /**
-     * 棰勮鍥剧墖
-     * @param imageFiles 琛ㄦ牸琛屽浘鐗囧湴鍧�
-     */
-    handlePreviewImages({ imageFiles }) {
-      this.currentImageListUrl = imageFiles
-      this.$refs.imagesPreviewModalRef.visible = true
-    },
+      /**
+       * 鏁呴殰鏃堕棿閫夋嫨鍣ㄥ彉鍖栨椂瑙﹀彂
+       * @param valueArray
+       */
+      handleTimeRangeChange(valueArray) {
+        this.queryParam.startTime = valueArray[0]
+        this.queryParam.endTime = valueArray[1]
+      },
 
-    searchReset() {
-      this.queryParam = {}
-      this.faultTimeRange = []
-      this.loadData(1)
+      /**
+       * 棰勮鍥剧墖
+       * @param imageFiles 琛ㄦ牸琛屽浘鐗囧湴鍧�
+       */
+      handlePreviewImages({ imageFiles }) {
+        this.currentImageListUrl = imageFiles
+        this.$refs.imagesPreviewModalRef.visible = true
+      },
+
+      searchReset() {
+        if (this.isDisplayOperation) this.queryParam = {}
+        else this.queryParam = Object.assign({}, this.propsQueryParam)
+        this.faultTimeRange = []
+        this.loadData(1)
+      }
     }
   }
-}
 </script>
 <style scoped>
-@import '~@assets/less/common.less';
+  @import '~@assets/less/common.less';
 </style>
\ No newline at end of file
diff --git a/src/views/eam/repair/modules/EamRepairOrderList/ReceiveFaultModal.vue b/src/views/eam/repair/modules/EamRepairOrderList/ReceiveFaultModal.vue
new file mode 100644
index 0000000..2bd4d7a
--- /dev/null
+++ b/src/views/eam/repair/modules/EamRepairOrderList/ReceiveFaultModal.vue
@@ -0,0 +1,90 @@
+<template>
+  <j-modal
+    :title="title"
+    width="80%"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    switchFullscreen
+    @ok="handleOk"
+    @cancel="handleCancel"
+    centered
+    cancelText="鍏抽棴">
+    <eam-report-repair-list ref="reportRepairListRef" :isDisplayOperation="false"
+                            :propsQueryParam="{reportStatus:'WAIT_REPAIR'}"/>
+  </j-modal>
+</template>
+
+<script>
+  import { httpAction } from '@api/manage'
+  import EamReportRepairList from '../../EamReportRepairList'
+
+  export default {
+    name: 'ReceiveFaultModal',
+    components: { EamReportRepairList },
+    data() {
+      return {
+        title: '鏁呴殰淇濅慨鍗�',
+        visible: false,
+        model: {},
+        labelCol: {
+          xs: { span: 24 },
+          sm: { span: 8 }
+        },
+        wrapperCol: {
+          xs: { span: 24 },
+          sm: { span: 12 }
+        },
+        labelColLong: {
+          xs: { span: 24 },
+          sm: { span: 4 }
+        },
+        wrapperColLong: {
+          xs: { span: 24 },
+          sm: { span: 18 }
+        },
+        confirmLoading: false,
+        validatorRules: {},
+        url: {
+          receiveFault: '/eam/eamRepairOrder/add'
+        }
+      }
+    },
+    created() {
+    },
+    methods: {
+      loadData() {
+        this.$nextTick(() => {
+          // this.$refs.reportRepairListRef.queryParam.reportStatus = 'WAIT_REPAIR'
+          // this.$refs.reportRepairListRef.loadData(1)
+        })
+      },
+      close() {
+        this.$emit('close')
+        this.visible = false
+      },
+      handleOk() {
+        console.log('rowKey', this.$refs.reportRepairListRef.selectedRowKeys[0])
+        const reportId = this.$refs.reportRepairListRef.selectedRowKeys[0]
+        this.confirmLoading = true
+        httpAction(this.url.receiveFault, { reportId }, 'post').then((res) => {
+          if (res.success) {
+            this.$message.success(res.message)
+            this.$emit('ok')
+          } else {
+            this.$message.warning(res.message)
+          }
+        }).finally(() => {
+          this.confirmLoading = false
+          this.close()
+        })
+      },
+      handleCancel() {
+        this.close()
+      }
+    }
+  }
+</script>
+
+<style lang="less" scoped>
+
+</style>
\ No newline at end of file
diff --git a/src/views/eam/repair/modules/EamRepairOrderModal.vue b/src/views/eam/repair/modules/EamRepairOrderModal.vue
deleted file mode 100644
index 274a8a4..0000000
--- a/src/views/eam/repair/modules/EamRepairOrderModal.vue
+++ /dev/null
@@ -1,200 +0,0 @@
-<template>
-  <j-modal
-    :title="title"
-    :width="800"
-    :visible="visible"
-    :confirmLoading="confirmLoading"
-    switchFullscreen
-    @ok="handleOk"
-    @cancel="handleCancel"
-    cancelText="鍏抽棴">
-    <a-spin :spinning="confirmLoading">
-      <a-form-model ref="form" :model="model" :labelCol="labelCol" :wrapperCol="wrapperCol" :rules="validatorRules">
-        <a-row>
-          <a-col :span="12">
-            <a-form-model-item prop="repairCode" label="宸ュ崟缂栧彿">
-              <a-input placeholder="璇疯緭鍏ュ伐鍗曠紪鍙�" v-model="model.repairCode"/>
-            </a-form-model-item>
-          </a-col>
-
-          <a-col :span="12">
-            <a-form-model-item prop="reportId" label="鎶ヤ慨缂栧彿">
-              <a-input placeholder="璇疯緭鍏ユ姤淇紪鍙�" v-model="model.reportId"/>
-            </a-form-model-item>
-          </a-col>
-        </a-row>
-
-        <a-row>
-          <a-col :span="12">
-            <a-form-model-item prop="equipmentId" label="璁惧缂栧彿">
-              <lx-search-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="model.equipmentId"/>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item prop="faultReason" label="鏁呴殰鍘熷洜">
-              <a-input placeholder="璇疯緭鍏ユ晠闅滃師鍥�" v-model="model.faultReason"/>
-            </a-form-model-item>
-          </a-col>
-        </a-row>
-
-        <a-row>
-          <a-col :span="12">
-            <a-form-model-item prop="actualStartTime" label="缁翠慨寮�濮嬫椂闂�">
-              <a-input placeholder="璇疯緭鍏ョ淮淇紑濮嬫椂闂�" v-model="model.actualStartTime"/>
-            </a-form-model-item>
-          </a-col>
-
-          <a-col :span="12">
-            <a-form-model-item prop="actualEndTime" label="缁翠慨缁撴潫鏃堕棿">
-              <a-input placeholder="璇疯緭鍏ョ淮淇粨鏉熸椂闂�" v-model="model.actualEndTime"/>
-            </a-form-model-item>
-          </a-col>
-        </a-row>
-
-        <a-row>
-          <a-col :span="12">
-            <a-form-model-item prop="repairDescription" label="缁翠慨缁撴灉鎻忚堪">
-              <a-input placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�" v-model="model.repairDescription"/>
-            </a-form-model-item>
-          </a-col>
-
-          <a-col :span="12">
-            <a-form-model-item prop="repairer" label="缁翠慨璐熻矗浜�">
-              <a-input placeholder="璇疯緭鍏ョ淮淇礋璐d汉" v-model="model.repairer"/>
-            </a-form-model-item>
-          </a-col>
-        </a-row>
-        <a-row>
-          <a-col :span="12">
-            <a-form-model-item prop="outsourcedStartTime" label="濮斿缁翠慨寮�濮嬫椂闂�">
-              <a-date-picker show-time value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%"
-                             placeholder="璇疯緭鍏ュ澶栫淮淇紑濮嬫椂闂�"
-                             v-model="model.outsourcedStartTime"/>
-            </a-form-model-item>
-          </a-col>
-
-          <a-col :span="12">
-            <a-form-model-item prop="outsourcedEndTime" label="濮斿缁翠慨缁撴潫鏃堕棿">
-              <a-date-picker show-time value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%"
-                             placeholder="璇疯緭鍏ュ澶栫淮淇粨鏉熸椂闂�"
-                             v-model="model.outsourcedEndTime"/>
-            </a-form-model-item>
-          </a-col>
-        </a-row>
-
-        <a-row>
-          <a-col :span="12">
-            <a-form-model-item prop="outsourcedPerson" label="濮斿璐熻矗浜�">
-              <a-input placeholder="璇疯緭鍏ュ澶栬礋璐d汉" v-model="model.outsourcedPerson"/>
-            </a-form-model-item>
-          </a-col>
-        </a-row>
-
-        <a-row>
-          <a-col :span="24">
-            <a-form-model-item prop="imageFiles" label="缁翠慨鍥剧墖" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
-              <j-image-upload v-model="model.imageFiles" :is-multiple="true" :number="3"/>
-            </a-form-model-item>
-          </a-col>
-        </a-row>
-      </a-form-model>
-    </a-spin>
-  </j-modal>
-</template>
-
-<script>
-import { httpAction } from '@api/manage'
-import moment from 'moment'
-import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
-
-export default {
-  name: 'EamRepairOrderModal',
-  components: { LxSearchEquipmentSelect },
-  data() {
-    return {
-      title: '鎿嶄綔',
-      visible: false,
-      model: {},
-      labelCol: {
-        xs: { span: 24 },
-        sm: { span: 8 }
-      },
-      wrapperCol: {
-        xs: { span: 24 },
-        sm: { span: 12 }
-      },
-      labelColLong: {
-        xs: { span: 24 },
-        sm: { span: 4 }
-      },
-      wrapperColLong: {
-        xs: { span: 24 },
-        sm: { span: 18 }
-      },
-      confirmLoading: false,
-      validatorRules: {},
-      url: {
-        add: '/eam/eamRepairOrder/add',
-        edit: '/eam/eamRepairOrder/edit'
-      }
-    }
-  },
-  created() {
-  },
-  methods: {
-    add() {
-      //鍒濆鍖栭粯璁ゅ��
-      this.edit({})
-    },
-    edit(record) {
-      this.model = Object.assign({}, record)
-      this.visible = true
-    },
-    close() {
-      this.$emit('close')
-      this.visible = false
-      this.$refs.form.clearValidate()
-    },
-    handleOk() {
-      const that = this
-      // 瑙﹀彂琛ㄥ崟楠岃瘉
-      this.$refs.form.validate(valid => {
-        if (valid) {
-          that.confirmLoading = true
-          let httpurl = ''
-          let method = ''
-          if (!this.model.id) {
-            httpurl += this.url.add
-            method = 'post'
-          } else {
-            httpurl += this.url.edit
-            method = 'put'
-          }
-          httpAction(httpurl, this.model, method).then((res) => {
-            if (res.success) {
-              that.$message.success(res.message)
-              that.$emit('ok')
-            } else {
-              that.$message.warning(res.message)
-            }
-          }).finally(() => {
-            that.confirmLoading = false
-            that.close()
-          })
-        } else {
-          return false
-        }
-      })
-    },
-    handleCancel() {
-      this.close()
-    }
-
-
-  }
-}
-</script>
-
-<style lang="less" scoped>
-
-</style>
\ No newline at end of file
diff --git a/src/views/eam/repair/modules/EamReportRepairModal.vue b/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue
similarity index 100%
rename from src/views/eam/repair/modules/EamReportRepairModal.vue
rename to src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue

--
Gitblit v1.9.3