From 80a8050560fdd4cc18aee57c3ed176a9019dec2a Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期一, 21 七月 2025 21:33:25 +0800
Subject: [PATCH] 1、维修工单与故障报修开发

---
 /dev/null                                                                 |  155 ----
 src/views/eam/maintenance/EamInspectionOrderList.vue                      |   31 
 src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue |  364 ++++++----
 src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue      |  609 +++++++-----------
 src/views/eam/repair/EamRepairOrderList.vue                               |  230 +++---
 src/views/eam/repair/modules/EamRepairOrderList/EamRepairOrderModal.vue   |  202 ++++++
 src/views/eam/repair/EamReportRepairList.vue                              |  333 ++++-----
 src/views/eam/base/modules/EamMaintenanceStandardModal.vue                |    2 
 src/views/eam/maintenance/modules/EamSecondMaintenanceBatchOrderModal.vue |    2 
 src/views/flowable/workflow/FlowTodo.vue                                  |   17 
 src/views/eam/base/EamMaintenanceStandardList.vue                         |   21 
 src/views/eam/equipment/modules/LxSearchEquipmentSelect.vue               |    7 
 12 files changed, 963 insertions(+), 1,010 deletions(-)

diff --git a/src/views/eam/base/EamMaintenanceStandardList.vue b/src/views/eam/base/EamMaintenanceStandardList.vue
index be2b0cd..e1e7223 100644
--- a/src/views/eam/base/EamMaintenanceStandardList.vue
+++ b/src/views/eam/base/EamMaintenanceStandardList.vue
@@ -50,15 +50,16 @@
                   @change="handleImportExcel">
           <a-button v-has="'standard:pointInspection'" type="primary" icon="import">鐐规鏍囧噯瀵煎叆</a-button>
         </a-upload>
-        <a-button v-has="'standard:pointInspectionDownload'" type="primary" icon="download" @click="handleTemplateXlsDownload(url.inspectionXlsDownloadUrl)">
+        <a-button v-has="'standard:pointInspectionDownload'" type="primary" icon="download"
+                  @click="handleTemplateXlsDownload(url.inspectionXlsDownloadUrl)">
           鐐规鏍囧噯妯℃澘涓嬭浇
         </a-button>
         <a-upload name="file" :showUploadList="false" :multiple="true" :headers="tokenHeader"
                   :action="secondMaintenanceImportExcel"
                   @change="handleImportExcel">
-          <a-button v-has="'standard:secondMaintenance'"  type="primary" icon="import">浜屼繚鏍囧噯瀵煎叆</a-button>
+          <a-button v-has="'standard:secondMaintenance'" type="primary" icon="import">浜屼繚鏍囧噯瀵煎叆</a-button>
         </a-upload>
-        <a-button v-has="'standard:secondMaintenanceDownload'"  type="primary" icon="download"
+        <a-button v-has="'standard:secondMaintenanceDownload'" type="primary" icon="download"
                   @click="handleTemplateXlsDownload(url.secondMaintenanceXlsDownloadUrl)">浜屼繚鏍囧噯妯℃澘涓嬭浇
         </a-button>
         <a-upload name="file" :showUploadList="false" :multiple="true" :headers="tokenHeader"
@@ -66,7 +67,8 @@
                   @change="handleImportExcel">
           <a-button v-has="'standard:ThirdMaintenance'" type="primary" icon="import">涓変繚鏍囧噯瀵煎叆</a-button>
         </a-upload>
-        <a-button v-has="'standard:ThirdMaintenanceDownload'" type="primary" icon="download" @click="handleTemplateXlsDownload(url.thirdMaintenanceXlsDownloadUrl)">
+        <a-button v-has="'standard:ThirdMaintenanceDownload'" type="primary" icon="download"
+                  @click="handleTemplateXlsDownload(url.thirdMaintenanceXlsDownloadUrl)">
           涓変繚鏍囧噯妯℃澘涓嬭浇
         </a-button>
         <a-dropdown v-if="selectedRowKeys.length > 0">
@@ -91,11 +93,12 @@
       </div>
 
       <a-table ref="table" size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSource"
-               :pagination="ipagination" :loading="loading" class="j-table-force-nowrap"
+               :pagination="ipagination" :loading="loading" :scroll="{x:'max-content'}"
                :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" :customRow='clickThenSelect'
                @change="handleTableChange">
         <span slot="action" slot-scope="text, record">
-          <a v-has="'standard:upgrade'" v-if="record.standardStatus === 'START'" @click.stop="handleUpgrade(record)">鍗囩増</a>
+          <a v-has="'standard:upgrade'" v-if="record.standardStatus === 'START'"
+             @click.stop="handleUpgrade(record)">鍗囩増</a>
 
           <template v-if="record.standardStatus === 'WAIT_SUBMIT'">
               <a v-has="'standard:edit'" @click.stop="handleEdit(record)">缂栬緫</a>
@@ -110,7 +113,7 @@
               <a-divider v-has="'standard:saveFlow'" type="vertical"/>
 
               <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
-                  <a  v-has="'standard:del'" @click.stop="event=>event.stopPropagation()">鍒犻櫎</a>
+                  <a v-has="'standard:del'" @click.stop="event=>event.stopPropagation()">鍒犻櫎</a>
               </a-popconfirm>
           </template>
 
@@ -286,7 +289,9 @@
         title: '鎿嶄綔',
         dataIndex: 'action',
         align: 'center',
-        scopedSlots: { customRender: 'action' }
+        scopedSlots: { customRender: 'action' },
+        width: 200,
+        fixed: 'right'
       }
       this.columns = [...this.columns, operationColumn]
       this.loadData(1)
diff --git a/src/views/eam/base/modules/EamMaintenanceStandardModal.vue b/src/views/eam/base/modules/EamMaintenanceStandardModal.vue
index 2504bf7..622596d 100644
--- a/src/views/eam/base/modules/EamMaintenanceStandardModal.vue
+++ b/src/views/eam/base/modules/EamMaintenanceStandardModal.vue
@@ -1,5 +1,5 @@
 <template>
-  <j-modal :title="title" :width="1200" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen centered
+  <j-modal :title="title" :width="1200" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen
            @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴">
     <a-spin :spinning="spinning">
       <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol">
diff --git a/src/views/eam/equipment/modules/LxSearchEquipmentSelect.vue b/src/views/eam/equipment/modules/LxSearchEquipmentSelect.vue
index f8ccb7e..b5c223c 100644
--- a/src/views/eam/equipment/modules/LxSearchEquipmentSelect.vue
+++ b/src/views/eam/equipment/modules/LxSearchEquipmentSelect.vue
@@ -11,7 +11,7 @@
     style="width: 100%"
     :filterOption="false"
     @change="handleAsyncChange"
-    allowClear
+    :allowClear="allowClear"
     :notFoundContent="loading ? undefined : null"
     mode="default"
   >
@@ -43,6 +43,11 @@
       default: 20,
       required: false
     },
+    allowClear:{
+      type:Boolean,
+      default:()=>true,
+      required:false
+    }
   },
   data() {
     this.loadData = debounce(this.loadData, 800)//娑堟姈
diff --git a/src/views/eam/maintenance/EamInspectionOrderList.vue b/src/views/eam/maintenance/EamInspectionOrderList.vue
index b92f092..c8d5ae1 100644
--- a/src/views/eam/maintenance/EamInspectionOrderList.vue
+++ b/src/views/eam/maintenance/EamInspectionOrderList.vue
@@ -304,20 +304,23 @@
 
       handleAbolish(id) {
         var that = this
-        getAction(that.url.cancelInspectionOrder, { id: id }).then((res) => {
-          if (res.success) {
-            that.$notification.success({
-              message: '娑堟伅',
-              description: res.message
-            })
-            that.loadData()
-          } else {
-            that.$notification.warning({
-              message: '娑堟伅',
-              description: res.message
-            })
-          }
-        })
+        this.loading = true
+        getAction(that.url.cancelInspectionOrder, { id })
+          .then((res) => {
+            if (res.success) {
+              that.$notification.success({
+                message: '娑堟伅',
+                description: res.message
+              })
+              that.loadData()
+            } else {
+              that.$notification.warning({
+                message: '娑堟伅',
+                description: res.message
+              })
+              this.loading = false
+            }
+          })
       },
 
       batchZf(type) {
diff --git a/src/views/eam/maintenance/modules/EamSecondMaintenanceBatchOrderModal.vue b/src/views/eam/maintenance/modules/EamSecondMaintenanceBatchOrderModal.vue
index 71ba4f5..225e683 100644
--- a/src/views/eam/maintenance/modules/EamSecondMaintenanceBatchOrderModal.vue
+++ b/src/views/eam/maintenance/modules/EamSecondMaintenanceBatchOrderModal.vue
@@ -14,7 +14,7 @@
 
         <!-- 淇濆吇鏃ユ湡-->
         <template v-slot:maintenanceDate="props">
-          <a-date-picker v-model="props.row.maintenanceDate" value-format="YYYY-MM-DD"/>
+          <a-date-picker v-model="props.row.maintenanceDate" value-format="YYYY-MM-DD" :allow-clear="false"/>
         </template>
 
         <!-- 鎿嶄綔-->
diff --git a/src/views/eam/repair/EamRepairOrderList.vue b/src/views/eam/repair/EamRepairOrderList.vue
index 8601164..d792dc7 100644
--- a/src/views/eam/repair/EamRepairOrderList.vue
+++ b/src/views/eam/repair/EamRepairOrderList.vue
@@ -6,35 +6,26 @@
       <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.repairCode"></a-input>
+            <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.equipmentId"/>-->
-              <lx-search-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="queryParam.equipmentId"/>
+            <a-form-item label="宸ュ崟鍙�">
+              <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-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 label="缁翠慨鐘舵��">
+              <j-dict-select-tag placeholder="璇烽�夋嫨缁翠慨鐘舵��" v-model="queryParam.repairStatus"
+                                 dict-code="repair_status"/>
             </a-form-item>
           </a-col>
-          <template v-if="toggleSearchStatus">
 
-          </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>-->
             </span>
           </a-col>
 
@@ -44,8 +35,6 @@
 
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
     <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">
           <a-menu-item key="1" @click="batchDel">
@@ -67,48 +56,45 @@
         <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
       </div>
 
-      <a-table
-        ref="table"
-        size="middle"
-        bordered
-        rowKey="id"
-        :columns="columns"
-        :dataSource="dataSource"
-        :pagination="ipagination"
-        :loading="loading"
-        class="j-table-force-nowrap"
-        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-        @change="handleTableChange"
-        :scroll="{x:'max-content'}"
-      >
+      <a-table ref="table" size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSource"
+               :pagination="ipagination" :loading="loading"
+               :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" @change="handleTableChange"
+               :scroll="{x:'max-content'}">
         <span slot="action" slot-scope="text, record">
+          <a @click="handleFillIn(record)">濉姤</a>
+          <a-divider type="vertical"/>
+          <a-popconfirm title="纭畾鎻愪氦鍚�?" @confirm="() => handleSubmit(record.id)">
+             <a>鎻愪氦</a>
+          </a-popconfirm>
+          <a-divider type="vertical"/>
           <a @click="handleDetail(record)">璇︽儏</a>
         </span>
       </a-table>
     </div>
     <!-- table鍖哄煙-end -->
 
-    <receive-fault-modal ref="receiveFaultModalRef" @ok="loadData"/>
+    <!--缁翠慨宸ュ崟濉姤绐楀彛-->
+    <eam-repair-order-modal ref="modalForm" @ok="modalFormOk"/>
 
+    <!--缁翠慨宸ュ崟瀹℃壒绐楀彛-->
     <repair-order-approval-modal ref="repairOrderApprovalModal" :selectShenpiData="selectRepairOrderData"/>
   </a-card>
 </template>
 
 <script>
-  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'
   import RepairOrderApprovalModal from '../../flowable/workflow/repairOrder/RepairOrderApprovalModal'
+  import EamRepairOrderModal from './modules/EamRepairOrderList/EamRepairOrderModal'
+  import { getAction } from '@/api/manage'
 
   export default {
     name: 'EamRepairOrderList',
     mixins: [JeecgListMixin],
     components: {
+      EamRepairOrderModal,
       RepairOrderApprovalModal,
-      LxSearchEquipmentSelect,
-      ReceiveFaultModal
+      LxSearchEquipmentSelect
     },
     props: {
       isDisplayOperation: {
@@ -131,41 +117,36 @@
             customRender: function(t, r, index) {
               return parseInt(index) + 1
             },
-            fixed: 'left',
-          },
-          {
-            title: '宸ュ崟缂栧彿',
-            align: 'center',
-            dataIndex: 'repairCode',
-            width: 120,
             fixed: 'left'
           },
           {
-            title: '璁惧缂栧彿',
+            title: '缁熶竴缂栫爜',
             align: 'center',
             dataIndex: 'equipmentCode',
-            width: 120,
             fixed: 'left'
           },
           {
             title: '璁惧鍚嶇О',
             align: 'center',
             dataIndex: 'equipmentName',
-            width: 200,
             fixed: 'left'
           },
           {
-            title: '鐘舵��',
+            title: '璁惧鍨嬪彿',
             align: 'center',
-            dataIndex: 'repairStatus_dictText',
-            fixed: 'left',
-            width: 100
+            dataIndex: 'equipmentModel',
+            fixed: 'left'
           },
           {
-            title: '缁翠慨璐熻矗浜�',
+            title: '缁翠慨鐘舵��',
             align: 'center',
-            dataIndex: 'repairer',
-            width: 100
+            dataIndex: 'repairStatus_dictText',
+            fixed: 'left'
+          },
+          {
+            title: '宸ュ崟鍙�',
+            align: 'center',
+            dataIndex: 'repairCode'
           },
           {
             title: '缁翠慨寮�濮嬫椂闂�',
@@ -180,106 +161,104 @@
             width: 200
           },
           {
+            title: '缁翠慨纭',
+            align: 'center',
+            dataIndex: 'repairConfirm_dictText'
+          },
+          {
+            title: '缁翠慨纭鏃堕棿',
+            align: 'center',
+            dataIndex: 'repairConfirmTime',
+            width: 200
+          },
+          {
             title: '鏁呴殰鍘熷洜',
             align: 'center',
             dataIndex: 'faultReason'
           },
           {
-            title: '缁翠慨缁撴灉鎻忚堪',
+            title: '鏁呴殰鍒嗘瀽',
             align: 'center',
-            dataIndex: 'repairDescription'
-            // width: 300
+            dataIndex: 'faultAnalysis'
+          },
+          {
+            title: '鎺掓晠杩囩▼',
+            align: 'center',
+            dataIndex: 'faultProcess'
+          },
+          {
+            title: '棰勯槻鎺柦',
+            align: 'center',
+            dataIndex: 'faultPrevent'
+          },
+          {
+            title: '鎿嶄綔宸�',
+            align: 'center',
+            dataIndex: 'confirmer_dictText'
+          },
+          {
+            title: '鎿嶄綔宸ョ‘璁ゆ椂闂�',
+            align: 'center',
+            dataIndex: 'confirmTime',
+            width: 200
           }
-          // {
-          //   title: '缁翠慨鍥剧墖',
-          //   align: 'center',
-          //   dataIndex: 'imageFiles',
-          //   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
-          // },
         ],
-        report_repair_status_list: [],
         selectRepairOrderData: {},
         url: {
           list: '/eam/eamRepairOrder/list',
+          submit: '/eam/eamRepairOrder/submit',
           delete: '/eam/eamRepairOrder/delete',
-          deleteBatch: '/eam/eamRepairOrder/deleteBatch',
-          exportXlsUrl: 'eam/eamRepairOrder/exportXls'
+          deleteBatch: '/eam/eamRepairOrder/deleteBatch'
         }
-      }
-    },
-    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',
-        width: 100,
-        scopedSlots: { customRender: 'action' }
+        width: 200,
+        scopedSlots: { customRender: 'action' },
+        fixed: 'right'
       }
       this.columns = [...this.columns, operationColumn]
       this.loadData(1)
     },
     methods: {
       /**
-       * 鑾峰彇鏁版嵁瀛楀吀鍊�
-       * @param dictCode 鏁版嵁瀛楀吀瀵瑰簲璁板綍缂栫爜
+       * 鐐瑰嚮濉姤鏃惰Е鍙�
+       * @param record
        */
-      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
-          }
-        })
+      handleFillIn(record) {
+        this.$refs.modalForm.title = '濉姤'
+        this.$refs.modalForm.handleFillIn(record)
       },
 
-      // 寮�鍚鍙栨晠闅滀繚淇崟寮圭獥
-      handleOpenReceiveFaultModal() {
-        this.$refs.receiveFaultModalRef.visible = true
+      /**
+       * 鐐瑰嚮鎻愪氦鏃惰Е鍙�
+       * @param id
+       */
+      handleSubmit(id) {
+        this.loading = true
+        getAction(this.url.submit, { id })
+          .then(res => {
+            if (res.success) {
+              this.$notification.success({
+                message: '娑堟伅',
+                description: res.message
+              })
+              this.loadData()
+            } else {
+              this.$notification.warning({
+                message: '娑堟伅',
+                description: res.message
+              })
+              this.loading = false
+            }
+          })
       },
 
       /**
@@ -296,7 +275,4 @@
       }
     }
   }
-</script>
-<style scoped>
-  @import '~@assets/less/common.less';
-</style>
\ No newline at end of file
+</script>
\ No newline at end of file
diff --git a/src/views/eam/repair/EamReportRepairList.vue b/src/views/eam/repair/EamReportRepairList.vue
index 96999bc..674f996 100644
--- a/src/views/eam/repair/EamReportRepairList.vue
+++ b/src/views/eam/repair/EamReportRepairList.vue
@@ -1,69 +1,44 @@
 <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.equipmentId"/>-->
-              <lx-search-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="queryParam.equipmentId"/>
+          <a-col :xl="5" :lg="6" :md="8" :sm="12">
+            <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" v-if="isDisplayOperation">
+          <a-col :xl="4" :lg="6" :md="8" :sm="12">
             <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 }}
-                </a-select-option>
-              </a-select>
+              <j-dict-select-tag dict-code="report_repair_status" placeholder="璇烽�夋嫨鎶ヤ慨鐘舵��"
+                                 v-model="queryParam.reportStatus"/>
             </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.faultDescription" allow-clear/>
-            </a-form-item>
-          </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-col :xl="5" :lg="6" :md="8" :sm="12">
             <a-form-item label="鏁呴殰鏃堕棿">
-              <a-range-picker showTime v-model="faultTimeRange" value-format="YYYY-MM-DD HH:mm:ss"
-                              @change="handleTimeRangeChange"
+              <a-range-picker v-model="queryParam.dates" value-format="YYYY-MM-DD" @change="handleTimeRangeChange"
                               style="width: 100%"/>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-col :xl="4" :lg="6" :md="8" :sm="12">
             <a-form-item label="鏄惁鍋滄満">
-              <a-radio-group v-model="queryParam.breakdownFlag">
-                <a-radio v-for="item in breakdown_flag_list" :value="item.value">{{ item.label }}</a-radio>
-              </a-radio-group>
+              <j-dict-select-tag type="radio" v-model="queryParam.breakdownFlag" dict-code="yn"/>
             </a-form-item>
           </a-col>
-          <template v-if="toggleSearchStatus">
-
-          </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>-->
             </span>
           </a-col>
-
         </a-row>
       </a-form>
     </div>
 
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
     <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"-->
-      <!--@change="handleImportExcel">-->
-      <!--<a-button type="primary" icon="import">瀵煎叆</a-button>-->
-      <!--</a-upload>-->
+      <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
       <a-dropdown v-if="selectedRowKeys.length > 0">
         <a-menu slot="overlay">
           <a-menu-item key="1" @click="batchDel">
@@ -85,68 +60,63 @@
         <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
       </div>
 
-      <a-table
-        ref="table"
-        size="middle"
-        bordered
-        rowKey="id"
-        :columns="columns"
-        :dataSource="dataSource"
-        :pagination="ipagination"
-        :loading="loading"
-        class="j-table-force-nowrap"
-        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:isDisplayOperation?'checkbox':'radio',getCheckboxProps:getCheckboxProps}"
-        @change="handleTableChange">
-
-        <template slot="imageFiles" slot-scope="text, record" v-if="text">
-          <a @click="handlePreviewImages(record)">棰勮</a>
+      <a-table ref="table" size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSource"
+               :pagination="ipagination" :loading="loading" :scroll="{x:'max-content'}"
+               :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:isDisplayOperation?'checkbox':'radio',getCheckboxProps:getCheckboxProps}"
+               @change="handleTableChange">
+        <!--缁熶竴缂栫爜-->
+        <template slot="equipmentCode" slot-scope="text,record">
+          <a href="#" @click="navigateTo('EamRepairOrderList')">{{text}}</a>
         </template>
 
-        <span slot="action" slot-scope="text, record" v-if="record.reportStatus=='WAIT_REPAIR'">
+        <!--鏄惁鍔犲伐-->
+        <template slot="isProcessed" slot-scope="text,record">
+          <a href="#" @click="navigateTo('EamReportProductHazardsList')" :disabled="!Boolean(+text)">{{record.isProcessed_dictText}}</a>
+        </template>
+
+        <!--鏄惁鍋滄満-->
+        <template slot="breakdownFlag" slot-scope="text">
+          <a-switch checked-children="鏄�" un-checked-children="鍚�" :checked="Boolean(+text)" disabled/>
+        </template>
+
+        <!--璁惧浜嬫晠-->
+        <template slot="isAccidentsRegister" slot-scope="text,record">
+          <a href="#" @click="navigateTo('EamReportAccidentsRegisterList')" :disabled="!Boolean(+text)">{{record.isAccidentsRegister_dictText}}</a>
+        </template>
+
+        <!--鍙樺姩鍥犵礌-->
+        <template slot="variableFactors" slot-scope="text">
+          <a-switch checked-children="鏄�" un-checked-children="鍚�" :checked="Boolean(+text)" disabled/>
+        </template>
+
+        <span slot="action" slot-scope="text, record">
           <a @click="handleEdit(record)">缂栬緫</a>
 
           <a-divider type="vertical"/>
 
-          <a @click="handleAssign(record)" >鎸囨淳</a>
-
-          <a-divider type="vertical" />
-
-          <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handleDelete(record.id)" >
+          <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handleAbolish(record.id)">
             <a>浣滃簾</a>
           </a-popconfirm>
         </span>
-
       </a-table>
     </div>
     <!-- table鍖哄煙-end -->
 
     <!-- 琛ㄥ崟鍖哄煙 -->
-    <eamReportRepair-modal ref="modalForm" :breakdownFlagList="breakdown_flag_list" :faultReasonList="faultReasonList"
-                           @ok="modalFormOk"/>
-    <!-- 鍥剧墖棰勮寮圭獥 -->
-    <images-preview-modal ref="imagesPreviewModalRef" :imageListUrl="currentImageListUrl"/>
-    <!--鎸囨淳鎶ヤ慨寮圭獥-->
-    <assign-repair-report-modal ref="assignRepairReportModalRef" @ok="modalFormOk"/>
+    <eamReportRepair-modal ref="modalForm" @ok="modalFormOk"/>
   </a-card>
 </template>
 
 <script>
-  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'
-  import AssignRepairReportModal from './modules/EamReportRepairList/AssignRepairReportModal'
-
 
   export default {
     name: 'EamReportRepairList',
     mixins: [JeecgListMixin],
     components: {
-      AssignRepairReportModal,
-      ImagesPreviewModal,
       LxSearchEquipmentSelect,
       EamReportRepairModal
     },
@@ -173,92 +143,128 @@
             align: 'center',
             customRender: function(t, r, index) {
               return parseInt(index) + 1
-            }
+            },
+            fixed: 'left'
           },
           {
-            title: '璁惧缂栧彿',
+            title: '缁熶竴缂栫爜',
             align: 'center',
             dataIndex: 'equipmentCode',
-            width: 200
+            fixed: 'left',
+            scopedSlots: { customRender: 'equipmentCode' }
           },
           {
             title: '璁惧鍚嶇О',
             align: 'center',
             dataIndex: 'equipmentName',
-            width: 200
+            fixed: 'left'
+          },
+          {
+            title: '璁惧鍨嬪彿',
+            align: 'center',
+            dataIndex: 'equipmentModel',
+            fixed: 'left'
           },
           {
             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
+            fixed: 'left'
           },
           {
             title: '鏁呴殰寮�濮嬫椂闂�',
             align: 'center',
-            dataIndex: 'faultStartTime',
-            width: 200
+            dataIndex: 'faultStartTime'
+          },
+          {
+            title: '鏁呴殰鐜拌薄',
+            align: 'center',
+            dataIndex: 'faultDescription'
           },
           {
             title: '鏄惁鍋滄満',
             align: 'center',
-            dataIndex: 'breakdownFlag_dictText',
-            width: 100
+            dataIndex: 'breakdownFlag',
+            scopedSlots: { customRender: 'breakdownFlag' }
           },
           {
-            title: '鎶ヤ慨鍥剧墖',
+            title: '鏄惁鍔犲伐',
             align: 'center',
-            dataIndex: 'imageFiles',
-            scopedSlots: { customRender: 'imageFiles' },
-            width: 100
+            dataIndex: 'isProcessed',
+            scopedSlots: { customRender: 'isProcessed' }
           },
           {
-            title: '澶囨敞',
+            title: '鎵规鍙�',
             align: 'center',
-            dataIndex: 'remark'
+            dataIndex: 'batchNumber'
+          },
+          {
+            title: '鍔犲伐闆朵欢鍙�',
+            align: 'center',
+            dataIndex: 'processingPart'
+          },
+          {
+            title: '浠舵暟',
+            align: 'center',
+            dataIndex: 'quantity'
+          },
+          {
+            title: '璁惧浜嬫晠',
+            align: 'center',
+            dataIndex: 'isAccidentsRegister',
+            scopedSlots: { customRender: 'isAccidentsRegister' }
+          },
+          {
+            title: '搴熷搧浠跺彿',
+            align: 'center',
+            dataIndex: 'scrapPartNumber'
+          },
+          {
+            title: '搴熷搧浠舵暟',
+            align: 'center',
+            dataIndex: 'scrapPartQuantity'
+          },
+          {
+            title: '搴熷搧浠峰��',
+            align: 'center',
+            dataIndex: 'scrapPartValue'
+          },
+          {
+            title: '鍙樺姩鍥犵礌',
+            align: 'center',
+            dataIndex: 'variableFactors',
+            scopedSlots: { customRender: 'variableFactors' }
+          },
+          {
+            title: '鍙樺姩鍥犵礌鍐呭',
+            align: 'center',
+            dataIndex: 'variableFactorsValue_dictText'
+          },
+          {
+            title: '浜嬫晠鐜拌薄',
+            align: 'center',
+            dataIndex: 'accidentPhenomenon'
+          },
+          {
+            title: '閲囧彇鎺柦',
+            align: 'center',
+            dataIndex: 'measure'
+          },
+          {
+            title: '閫犳垚缁撴灉',
+            align: 'center',
+            dataIndex: 'causingResults'
           }
         ],
-        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'
+          abolish: '/eam/eamReportRepair/abolish',
+          abolishBatch: '/eam/eamReportRepair/abolishBatch'
         }
       }
     },
-    computed: {
-      importExcelUrl: function() {
-        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
-      }
-    },
     created() {
-      this.initDictData('breakdown_flag')
-      this.initDictData('report_repair_status')
       if (!this.isDisplayOperation) this.queryParam = Object.assign({}, this.propsQueryParam)
       else {
         const operationColumn = {
@@ -266,43 +272,14 @@
           dataIndex: 'action',
           align: 'center',
           scopedSlots: { customRender: 'action' },
-          width: 200
+          width: 200,
+          fixed: 'right'
         }
         this.columns = [...this.columns, operationColumn]
-        this.getFaultReasonListByApi()
       }
       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
-          }
-        })
-      },
-
-      // 璋冪敤鎺ュ彛鑾峰彇鏁呴殰鍘熷洜鍒楄〃
-      getFaultReasonListByApi() {
-        const that = this
-        getAction(this.url.faultReasonList)
-          .then(res => {
-            console.log('res', res)
-            that.faultReasonList = res.result.records
-          })
-      },
-
       /**
        * 鏁呴殰鏃堕棿閫夋嫨鍣ㄥ彉鍖栨椂瑙﹀彂
        * @param valueArray
@@ -310,24 +287,6 @@
       handleTimeRangeChange(valueArray) {
         this.queryParam.startTime = valueArray[0]
         this.queryParam.endTime = valueArray[1]
-      },
-
-      /**
-       * 棰勮鍥剧墖
-       * @param imageFiles 琛ㄦ牸琛屽浘鐗囧湴鍧�
-       */
-      handlePreviewImages({ imageFiles }) {
-        this.currentImageListUrl = imageFiles
-        this.$refs.imagesPreviewModalRef.visible = true
-      },
-
-      /**
-       * 鎸囨淳鎶ヤ慨鍗�
-       * @param record 琛ㄦ牸琛屼俊鎭�
-       */
-      handleAssign(record) {
-        this.$refs.assignRepairReportModalRef.visible = true
-        this.$refs.assignRepairReportModalRef.model = Object.assign({}, { id: record.id })
       },
 
       getCheckboxProps(record) {
@@ -338,15 +297,41 @@
         }
       },
 
+      /**
+       * 鐐瑰嚮浣滃簾鏃惰Е鍙�
+       * @param id
+       */
+      handleAbolish(id) {
+        var that = this
+        this.loading = true
+        getAction(that.url.abolish, { id })
+          .then((res) => {
+            if (res.success) {
+              that.$notification.success({
+                message: '娑堟伅',
+                description: res.message
+              })
+              that.loadData()
+            } else {
+              that.$notification.warning({
+                message: '娑堟伅',
+                description: res.message
+              })
+              this.loading = false
+            }
+          })
+      },
+
+      // 璺宠浆椤甸潰
+      navigateTo(href) {
+        this.$router.push('/eam/repair/' + href)
+      },
+
       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';
-</style>
\ No newline at end of file
+</script>
\ No newline at end of file
diff --git a/src/views/eam/repair/modules/EamRepairOrderList/EamRepairOrderModal.vue b/src/views/eam/repair/modules/EamRepairOrderList/EamRepairOrderModal.vue
new file mode 100644
index 0000000..70eaaa5
--- /dev/null
+++ b/src/views/eam/repair/modules/EamRepairOrderList/EamRepairOrderModal.vue
@@ -0,0 +1,202 @@
+<template>
+  <j-modal :title="title" :width="1200" :visible="visible" :confirmLoading="confirmLoading" @ok="handleOk"
+           @cancel="handleCancel" cancelText="鍏抽棴" centered>
+    <a-spin :spinning="spinning">
+      <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol">
+        <a-row>
+          <a-col :span="customSpan">
+            <a-form-model-item label="缁翠慨寮�濮嬫椂闂�" prop="actualStartTime" :labelCol="labelCol" :wrapperCol="wrapperCol">
+              <a-date-picker show-time v-model="model.actualStartTime" :allowClear="false"
+                             value-format="YYYY-MM-DD HH:mm:ss"
+                             style="width:100%"/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="customSpan">
+            <a-form-model-item label="缁翠慨缁撴潫鏃堕棿" prop="actualEndTime" :labelCol="labelCol" :wrapperCol="wrapperCol">
+              <a-date-picker show-time v-model="model.actualEndTime" :allowClear="false"
+                             value-format="YYYY-MM-DD HH:mm:ss"
+                             style="width:100%"/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="customSpan">
+            <a-form-model-item label="鏁呴殰鍘熷洜">
+              <a-textarea placeholder="璇疯緭鍏ユ晠闅滃師鍥�" v-model="model.faultReason"/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="customSpan">
+            <a-form-model-item label="鏁呴殰鍒嗘瀽">
+              <a-textarea placeholder="璇疯緭鍏ユ晠闅滃垎鏋�" v-model="model.faultAnalysis"/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="customSpan">
+            <a-form-model-item label="鎺掓晠杩囩▼">
+              <a-textarea placeholder="璇疯緭鍏ユ帓鏁呰繃绋�" v-model="model.faultProcess"/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="customSpan">
+            <a-form-model-item label="棰勯槻鎺柦">
+              <a-textarea placeholder="璇疯緭鍏ラ闃叉帾鏂�" v-model="model.faultPrevent"/>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+
+        <j-vxe-table ref="editableDetailTable" rowNumber rowSelection bordered alwaysEdit toolbar
+                     :toolbarConfig="detail.toolbarConfig" keep-source :height="300"
+                     :dataSource="detail.dataSource" :columns="detail.columns">
+
+        </j-vxe-table>
+      </a-form-model>
+    </a-spin>
+  </j-modal>
+</template>
+
+<script>
+  import { postAction, getAction } from '@/api/manage'
+  import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
+  import { JVXETypes } from '@comp/jeecg/JVxeTable'
+
+  export default {
+    name: 'EamRepairOrderModal',
+    components: { LxSearchEquipmentSelect },
+    data() {
+      return {
+        title: '鎿嶄綔',
+        visible: false,
+        model: {},
+        customSpan: 12,
+        labelCol: {
+          xs: { span: 24 },
+          sm: { span: 6 }
+        },
+        wrapperCol: {
+          xs: { span: 24 },
+          sm: { span: 16 }
+        },
+        confirmLoading: false,
+        spinning: false,
+        validatorRules: {
+          actualStartTime: [{ required: true, message: '璇烽�夋嫨缁翠慨寮�濮嬫椂闂�', trigger: 'change' }],
+          actualEndTime: [{ required: true, message: '璇烽�夋嫨缁翠慨缁撴潫鏃堕棿', trigger: 'change' }]
+        },
+        detail: {
+          dataSource: [],
+          columns: [
+            {
+              title: 'ID',
+              key: 'id',
+              type: JVXETypes.hidden
+            },
+            {
+              title: '缁翠慨浜�',
+              key: 'repairUser',
+              align: 'center',
+              placeholder: '璇疯緭鍏�${title}',
+              type: JVXETypes.input,
+              validateRules: [{ required: true, message: '璇疯緭鍏�${title}' }]
+            },
+            {
+              title: '鏄惁鏄富缁翠慨浜�',
+              key: 'repairPrimary',
+              align: 'center',
+              type: JVXETypes.select,
+              placeholder: '璇烽�夋嫨${title}',
+              dictCode: 'yn',
+              validateRules: [{ required: true, message: '璇烽�夋嫨${title}' }]
+            },
+            {
+              title: '缁翠慨鏃堕暱',
+              key: 'repairDuration',
+              align: 'center',
+              placeholder: '璇疯緭鍏�${title}',
+              type: JVXETypes.inputNumber,
+              validateRules: [{ required: true, message: '璇疯緭鍏�${title}' }]
+            },
+            {
+              title: '澶囨敞',
+              key: 'remark',
+              align: 'center',
+              type: JVXETypes.textarea,
+              placeholder: '璇疯緭鍏�${title}'
+            }
+          ],
+          toolbarConfig: {
+            // prefix 鍓嶇紑锛泂uffix 鍚庣紑
+            slot: ['prefix', 'suffix'],
+            // add 鏂板鎸夐挳锛況emove 鍒犻櫎鎸夐挳锛沜learSelection 娓呯┖閫夋嫨鎸夐挳
+            btn: ['add', 'remove', 'clearSelection']
+          }
+        },
+        url: {
+          report: '/eam/eamRepairOrder/report',
+          detail: '/eam/eamRepairPerson/list'
+        }
+      }
+    },
+    methods: {
+      handleFillIn(record) {
+        this.visible = true
+        this.model = Object.assign({}, record)
+        this.getRepairDetailByApi(record.id)
+      },
+
+      getRepairDetailByApi(repairId) {
+        this.spinning = true
+        this.detail.dataSource = []
+        getAction(this.url.detail, { repairId })
+          .then(res => {
+            if (res.success) this.detail.dataSource = res.result
+          })
+          .finally(() => {
+            this.spinning = false
+          })
+      },
+
+      async handleOk() {
+        const errMap = await this.$refs.editableDetailTable.validateTable()
+        if (errMap) return
+
+        const that = this
+        // 瑙﹀彂琛ㄥ崟楠岃瘉
+        this.$refs.form.validate(valid => {
+          if (valid) {
+            that.confirmLoading = that.spinning = true
+
+            that.model.eamRepairPersonList = that.$refs.editableDetailTable.getTableData()
+
+            postAction(that.url.report, that.model)
+              .then((res) => {
+                if (res.success) {
+                  that.$notification.success({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                  that.$emit('ok')
+                  that.close()
+                } else {
+                  that.$notification.warning({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                }
+              })
+              .finally(() => {
+                that.confirmLoading = that.spinning = false
+              })
+          } else {
+            return false
+          }
+        })
+      },
+
+      close() {
+        this.$emit('close')
+        this.visible = false
+        if (this.$refs.form) this.$refs.form.clearValidate()
+      },
+
+      handleCancel() {
+        this.close()
+      }
+    }
+  }
+</script>
\ 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
deleted file mode 100644
index 9c015c4..0000000
--- a/src/views/eam/repair/modules/EamRepairOrderList/ReceiveFaultModal.vue
+++ /dev/null
@@ -1,92 +0,0 @@
-<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: {
-      handleOk() {
-        const reportId = this.$refs.reportRepairListRef.selectedRowKeys[0]
-        if (!reportId) {
-          this.$notification.warning({
-            message: '娑堟伅',
-            description: '璇烽�夋嫨闇�棰嗗彇鐨勬晠闅滄姤淇崟'
-          })
-          return
-        }
-        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()
-      },
-      close() {
-        this.$emit('close')
-        this.visible = false
-      }
-    }
-  }
-</script>
-
-<style lang="less" scoped>
-
-</style>
\ No newline at end of file
diff --git "a/src/views/eam/repair/modules/EamRepairPersonModal.Style\043Drawer.vue" "b/src/views/eam/repair/modules/EamRepairPersonModal.Style\043Drawer.vue"
deleted file mode 100644
index 445a428..0000000
--- "a/src/views/eam/repair/modules/EamRepairPersonModal.Style\043Drawer.vue"
+++ /dev/null
@@ -1,146 +0,0 @@
-<template>
-  <a-drawer
-      :title="title"
-      :width="800"
-      placement="right"
-      :closable="false"
-      @close="close"
-      :visible="visible">
-
-    <a-spin :spinning="confirmLoading">
-      <a-form-model ref="form" :model="model" :rules="validatorRules">
-      
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="delFlag" label="鍒犻櫎鏍囪">
-          <a-input-number v-model="model.delFlag" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairId" label="缁翠慨宸ュ崟Id">
-          <a-input placeholder="璇疯緭鍏ョ淮淇伐鍗旾d" v-model="model.repairId" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairUser" label="缁翠慨浜�">
-          <a-input placeholder="璇疯緭鍏ョ淮淇汉" v-model="model.repairUser" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairPrimary" label="鏄惁鏄富缁翠慨浜�;鏄� 鍚�">
-          <a-input placeholder="璇疯緭鍏ユ槸鍚︽槸涓荤淮淇汉;鏄� 鍚�" v-model="model.repairPrimary" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairDuration" label="缁翠慨鏃堕暱">
-          <a-input placeholder="璇疯緭鍏ョ淮淇椂闀�" v-model="model.repairDuration" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark" label="澶囨敞">
-          <a-input placeholder="璇疯緭鍏ュ娉�" v-model="model.remark" />
-        </a-form-model-item>
-		
-      </a-form-model>
-    </a-spin>
-
-    <div class="drawer-bootom-button">
-      <a-button type="primary" @click="handleOk">纭畾</a-button>
-      <a-button type="primary" @click="handleCancel">鍙栨秷</a-button>
-    </div>
-  </a-drawer>
-</template>
-
-<script>
-  import { httpAction } from '@/api/manage'
-  import moment from "moment"
-
-  export default {
-    name: "EamRepairPersonModal",
-    data () {
-      return {
-        title:"鎿嶄綔",
-        visible: false,
-        model: {},
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-
-        confirmLoading: false,
-        validatorRules:{
-        },
-        url: {
-          add: "/eam/eamRepairPerson/add",
-          edit: "/eam/eamRepairPerson/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>
-  /**Button鎸夐挳闂磋窛*/
-  .ant-btn {
-    margin-left: 30px;
-    margin-bottom: 30px;
-    float: right;
-  }
- /**鎶藉眽鎸夐挳鏍峰紡*/
-  .drawer-bootom-button {
-    position: absolute;
-    bottom: -8px;
-    width: 100%;
-    border-top: 1px solid #e8e8e8;
-    padding: 10px 16px;
-    text-align: right;
-    left: 0;
-    background: #fff;
-    border-radius: 0 0 2px 2px;
-  }
-</style>
\ No newline at end of file
diff --git "a/src/views/eam/repair/modules/EamReportAccidentsRegisterModal.Style\043Drawer.vue" "b/src/views/eam/repair/modules/EamReportAccidentsRegisterModal.Style\043Drawer.vue"
deleted file mode 100644
index 3b614f8..0000000
--- "a/src/views/eam/repair/modules/EamReportAccidentsRegisterModal.Style\043Drawer.vue"
+++ /dev/null
@@ -1,260 +0,0 @@
-<template>
-  <a-drawer
-      :title="title"
-      :width="800"
-      placement="right"
-      :closable="false"
-      @close="close"
-      :visible="visible">
-
-    <a-spin :spinning="confirmLoading">
-      <a-form-model ref="form" :model="model" :rules="validatorRules">
-      
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="delFlag" label="鍒犻櫎鏍囪">
-          <a-input-number v-model="model.delFlag" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="reportId" label="鎶ヤ慨ID">
-          <a-input placeholder="璇疯緭鍏ユ姤淇甀D" v-model="model.reportId" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧ID">
-          <a-input placeholder="璇疯緭鍏ヨ澶嘔D" v-model="model.equipmentId" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operationCertificate" label="鏄惁鏈夎澶囨搷浣滆瘉;鏄� 鍚�">
-          <a-input placeholder="璇疯緭鍏ユ槸鍚︽湁璁惧鎿嶄綔璇�;鏄� 鍚�" v-model="model.operationCertificate" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="powerOffRestart" label="鏄惁鏂數閲嶅惎">
-          <a-input placeholder="璇疯緭鍏ユ槸鍚︽柇鐢甸噸鍚�" v-model="model.powerOffRestart" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="batchFirstPiece" label="鏄惁涓烘壒娆¢浠�">
-          <a-input placeholder="璇疯緭鍏ユ槸鍚︿负鎵规棣栦欢" v-model="model.batchFirstPiece" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="variableFactors" label="鍙樺姩鍥犵礌;濉啓鏄垨鍚�">
-          <a-input placeholder="璇疯緭鍏ュ彉鍔ㄥ洜绱�;濉啓鏄垨鍚�" v-model="model.variableFactors" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="variableFactorsValue" label="鍙樺姩鍥犵礌鍐呭;鍒�鍏锋洿鎹€�佸伐鑹烘洿鏀广�佸姞宸ョ▼搴忔洿鏀广�佸垁鍏疯ˉ鍋垮�兼洿鏀广��">
-          <a-input placeholder="璇疯緭鍏ュ彉鍔ㄥ洜绱犲唴瀹�;鍒�鍏锋洿鎹€�佸伐鑹烘洿鏀广�佸姞宸ョ▼搴忔洿鏀广�佸垁鍏疯ˉ鍋垮�兼洿鏀广��" v-model="model.variableFactorsValue" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="executeNc" label="鎵ц绋嬪簭">
-          <a-input placeholder="璇疯緭鍏ユ墽琛岀▼搴�" v-model="model.executeNc" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="accidentPhenomenon" label="浜嬫晠鐜拌薄">
-          <a-input placeholder="璇疯緭鍏ヤ簨鏁呯幇璞�" v-model="model.accidentPhenomenon" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="measure" label="閲囧彇鎺柦">
-          <a-input placeholder="璇疯緭鍏ラ噰鍙栨帾鏂�" v-model="model.measure" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="causingResults" label="閫犳垚缁撴灉">
-          <a-input placeholder="璇疯緭鍏ラ�犳垚缁撴灉" v-model="model.causingResults" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmer" label="鎿嶄綔宸�">
-          <a-input placeholder="璇疯緭鍏ユ搷浣滃伐" v-model="model.confirmer" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmTime" label="鎿嶄綔宸ョ‘璁ゆ椂闂�">
-          <a-input placeholder="璇疯緭鍏ユ搷浣滃伐纭鏃堕棿" v-model="model.confirmTime" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="district" label="鍖洪暱">
-          <a-input placeholder="璇疯緭鍏ュ尯闀�" v-model="model.district" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="districtTime" label="鍖洪暱纭鏃堕棿">
-          <a-input placeholder="璇疯緭鍏ュ尯闀跨‘璁ゆ椂闂�" v-model="model.districtTime" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="centerDirector" label="涓績涓讳换">
-          <a-input placeholder="璇疯緭鍏ヤ腑蹇冧富浠�" v-model="model.centerDirector" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="centerDirectorTime" label="涓績涓讳换纭鏃堕棿">
-          <a-input placeholder="璇疯緭鍏ヤ腑蹇冧富浠荤‘璁ゆ椂闂�" v-model="model.centerDirectorTime" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="reportStartTime" label="缁翠慨寮�濮嬫椂闂�">
-          <a-input placeholder="璇疯緭鍏ョ淮淇紑濮嬫椂闂�" v-model="model.reportStartTime" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentStatus" label="璁惧鐘舵��">
-          <a-input placeholder="璇疯緭鍏ヨ澶囩姸鎬�" v-model="model.equipmentStatus" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="causeAnalysis" label="鍘熷洜鍒嗘瀽">
-          <a-input placeholder="璇疯緭鍏ュ師鍥犲垎鏋�" v-model="model.causeAnalysis" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inspectionResults" label="妫�鏌ョ粨鏋�">
-          <a-input placeholder="璇疯緭鍏ユ鏌ョ粨鏋�" v-model="model.inspectionResults" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="takeSteps" label="閲囧彇鎺柦">
-          <a-input placeholder="璇疯緭鍏ラ噰鍙栨帾鏂�" v-model="model.takeSteps" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="suggestionTakeSteps" label="寤鸿閲囧彇鎺柦">
-          <a-input placeholder="璇疯緭鍏ュ缓璁噰鍙栨帾鏂�" v-model="model.suggestionTakeSteps" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="suggestionTakeStepsTime" label="寤鸿閲囧彇鎺柦鏃堕棿">
-          <a-input placeholder="璇疯緭鍏ュ缓璁噰鍙栨帾鏂芥椂闂�" v-model="model.suggestionTakeStepsTime" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairConfirm" label="缁翠慨纭">
-          <a-input placeholder="璇疯緭鍏ョ淮淇‘璁�" v-model="model.repairConfirm" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairConfirmComment" label="缁翠慨纭鎰忚">
-          <a-input placeholder="璇疯緭鍏ョ淮淇‘璁ゆ剰瑙�" v-model="model.repairConfirmComment" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairConfirmTime" label="缁翠慨纭鏃堕棿">
-          <a-input placeholder="璇疯緭鍏ョ淮淇‘璁ゆ椂闂�" v-model="model.repairConfirmTime" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairGroupLeader" label="缁翠慨缁勯暱纭">
-          <a-input placeholder="璇疯緭鍏ョ淮淇粍闀跨‘璁�" v-model="model.repairGroupLeader" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairGroupLeaderComment" label="缁翠慨缁勯暱鎰忚">
-          <a-input placeholder="璇疯緭鍏ョ淮淇粍闀挎剰瑙�" v-model="model.repairGroupLeaderComment" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairGroupLeaderTime" label="缁翠慨缁勯暱纭鏃堕棿">
-          <a-input placeholder="璇疯緭鍏ョ淮淇粍闀跨‘璁ゆ椂闂�" v-model="model.repairGroupLeaderTime" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairDistrict" label="缁翠慨缁勯暱纭">
-          <a-input placeholder="璇疯緭鍏ョ淮淇粍闀跨‘璁�" v-model="model.repairDistrict" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairDistrictComment" label="缁翠慨缁勯暱鎰忚">
-          <a-input placeholder="璇疯緭鍏ョ淮淇粍闀挎剰瑙�" v-model="model.repairDistrictComment" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairDistrictTime" label="缁翠慨缁勯暱纭鏃堕棿">
-          <a-input placeholder="璇疯緭鍏ョ淮淇粍闀跨‘璁ゆ椂闂�" v-model="model.repairDistrictTime" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="checkAgree" label="鍘熷洜鍒嗘瀽鏍稿;鍚屾剰銆佷笉鍚屾剰">
-          <a-input placeholder="璇疯緭鍏ュ師鍥犲垎鏋愭牳瀵�;鍚屾剰銆佷笉鍚屾剰" v-model="model.checkAgree" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="disagreeReason" label="涓嶅悓鎰忓師鍥犲垎鏋�">
-          <a-input placeholder="璇疯緭鍏ヤ笉鍚屾剰鍘熷洜鍒嗘瀽" v-model="model.disagreeReason" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="rectificationMeasures" label="鏁存敼鎺柦">
-          <a-input placeholder="璇疯緭鍏ユ暣鏀规帾鏂�" v-model="model.rectificationMeasures" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="accidentConclusion" label="浜嬫晠缁撹">
-          <a-input placeholder="璇疯緭鍏ヤ簨鏁呯粨璁�" v-model="model.accidentConclusion" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technicalDirector" label="鎶�鏈礋璐d汉">
-          <a-input placeholder="璇疯緭鍏ユ妧鏈礋璐d汉" v-model="model.technicalDirector" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technicalDirectorTime" label="鎶�鏈礋璐d汉纭鏃堕棿">
-          <a-input placeholder="璇疯緭鍏ユ妧鏈礋璐d汉纭鏃堕棿" v-model="model.technicalDirectorTime" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technicalDirectorLeader" label="鎶�鏈富绠″绾ч瀵�">
-          <a-input placeholder="璇疯緭鍏ユ妧鏈富绠″绾ч瀵�" v-model="model.technicalDirectorLeader" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technicalDirectorLeaderTime" label="鎶�鏈富绠″绾ч瀵肩‘璁ゆ椂闂�">
-          <a-input placeholder="璇疯緭鍏ユ妧鏈富绠″绾ч瀵肩‘璁ゆ椂闂�" v-model="model.technicalDirectorLeaderTime" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technicalDirectorPart" label="涓荤閮ㄧ骇棰嗗">
-          <a-input placeholder="璇疯緭鍏ヤ富绠¢儴绾ч瀵�" v-model="model.technicalDirectorPart" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technicalDirectorPartTime" label="涓荤閮ㄧ骇棰嗗纭鏃堕棿">
-          <a-input placeholder="璇疯緭鍏ヤ富绠¢儴绾ч瀵肩‘璁ゆ椂闂�" v-model="model.technicalDirectorPartTime" />
-        </a-form-model-item>
-		
-      </a-form-model>
-    </a-spin>
-
-    <div class="drawer-bootom-button">
-      <a-button type="primary" @click="handleOk">纭畾</a-button>
-      <a-button type="primary" @click="handleCancel">鍙栨秷</a-button>
-    </div>
-  </a-drawer>
-</template>
-
-<script>
-  import { httpAction } from '@/api/manage'
-  import moment from "moment"
-
-  export default {
-    name: "EamReportAccidentsRegisterModal",
-    data () {
-      return {
-        title:"鎿嶄綔",
-        visible: false,
-        model: {},
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-
-        confirmLoading: false,
-        validatorRules:{
-        },
-        url: {
-          add: "/eam/eamReportAccidentsRegister/add",
-          edit: "/eam/eamReportAccidentsRegister/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>
-  /**Button鎸夐挳闂磋窛*/
-  .ant-btn {
-    margin-left: 30px;
-    margin-bottom: 30px;
-    float: right;
-  }
- /**鎶藉眽鎸夐挳鏍峰紡*/
-  .drawer-bootom-button {
-    position: absolute;
-    bottom: -8px;
-    width: 100%;
-    border-top: 1px solid #e8e8e8;
-    padding: 10px 16px;
-    text-align: right;
-    left: 0;
-    background: #fff;
-    border-radius: 0 0 2px 2px;
-  }
-</style>
\ No newline at end of file
diff --git "a/src/views/eam/repair/modules/EamReportProductHazardsModal.Style\043Drawer.vue" "b/src/views/eam/repair/modules/EamReportProductHazardsModal.Style\043Drawer.vue"
deleted file mode 100644
index 71d1414..0000000
--- "a/src/views/eam/repair/modules/EamReportProductHazardsModal.Style\043Drawer.vue"
+++ /dev/null
@@ -1,164 +0,0 @@
-<template>
-  <a-drawer
-      :title="title"
-      :width="800"
-      placement="right"
-      :closable="false"
-      @close="close"
-      :visible="visible">
-
-    <a-spin :spinning="confirmLoading">
-      <a-form-model ref="form" :model="model" :rules="validatorRules">
-      
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="reportId" label="鎶ヤ慨ID">
-          <a-input placeholder="璇疯緭鍏ユ姤淇甀D" v-model="model.reportId" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧ID">
-          <a-input placeholder="璇疯緭鍏ヨ澶嘔D" v-model="model.equipmentId" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmer" label="鎿嶄綔宸�">
-          <a-input placeholder="璇疯緭鍏ユ搷浣滃伐" v-model="model.confirmer" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmTime" label="鎿嶄綔宸ョ‘璁ゆ椂闂�">
-          <a-input placeholder="璇疯緭鍏ユ搷浣滃伐纭鏃堕棿" v-model="model.confirmTime" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productLoss" label="浜у搧鎹熷け鎯呭喌;鏄� 鍚�">
-          <a-input placeholder="璇疯緭鍏ヤ骇鍝佹崯澶辨儏鍐�;鏄� 鍚�" v-model="model.productLoss" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="qualityAnalysis" label="浜у搧鎹熷け璐ㄩ噺褰卞搷鍒嗘瀽">
-          <a-input placeholder="璇疯緭鍏ヤ骇鍝佹崯澶辫川閲忓奖鍝嶅垎鏋�" v-model="model.qualityAnalysis" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technologist" label="涓荤宸ヨ壓">
-          <a-input placeholder="璇疯緭鍏ヤ富绠″伐鑹�" v-model="model.technologist" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technologistTime" label="涓荤宸ヨ壓纭鏃堕棿">
-          <a-input placeholder="璇疯緭鍏ヤ富绠″伐鑹虹‘璁ゆ椂闂�" v-model="model.technologistTime" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technologistComment" label="涓荤宸ヨ壓纭鎰忚">
-          <a-input placeholder="璇疯緭鍏ヤ富绠″伐鑹虹‘璁ゆ剰瑙�" v-model="model.technologistComment" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="deputyDepartment" label="閮ㄧ骇棰嗗">
-          <a-input placeholder="璇疯緭鍏ラ儴绾ч瀵�" v-model="model.deputyDepartment" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="deputyDepartmentTime" label="閮ㄧ骇棰嗗纭鏃堕棿">
-          <a-input placeholder="璇疯緭鍏ラ儴绾ч瀵肩‘璁ゆ椂闂�" v-model="model.deputyDepartmentTime" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="deputyDepartmentComment" label="閮ㄧ骇棰嗗纭鎰忚">
-          <a-input placeholder="璇疯緭鍏ラ儴绾ч瀵肩‘璁ゆ剰瑙�" v-model="model.deputyDepartmentComment" />
-        </a-form-model-item>
-		
-      </a-form-model>
-    </a-spin>
-
-    <div class="drawer-bootom-button">
-      <a-button type="primary" @click="handleOk">纭畾</a-button>
-      <a-button type="primary" @click="handleCancel">鍙栨秷</a-button>
-    </div>
-  </a-drawer>
-</template>
-
-<script>
-  import { httpAction } from '@/api/manage'
-  import moment from "moment"
-
-  export default {
-    name: "EamReportProductHazardsModal",
-    data () {
-      return {
-        title:"鎿嶄綔",
-        visible: false,
-        model: {},
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-
-        confirmLoading: false,
-        validatorRules:{
-        },
-        url: {
-          add: "/eam/eamReportProductHazards/add",
-          edit: "/eam/eamReportProductHazards/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>
-  /**Button鎸夐挳闂磋窛*/
-  .ant-btn {
-    margin-left: 30px;
-    margin-bottom: 30px;
-    float: right;
-  }
- /**鎶藉眽鎸夐挳鏍峰紡*/
-  .drawer-bootom-button {
-    position: absolute;
-    bottom: -8px;
-    width: 100%;
-    border-top: 1px solid #e8e8e8;
-    padding: 10px 16px;
-    text-align: right;
-    left: 0;
-    background: #fff;
-    border-radius: 0 0 2px 2px;
-  }
-</style>
\ No newline at end of file
diff --git a/src/views/eam/repair/modules/EamReportRepairList/AssignRepairReportModal.vue b/src/views/eam/repair/modules/EamReportRepairList/AssignRepairReportModal.vue
deleted file mode 100644
index 5951a14..0000000
--- a/src/views/eam/repair/modules/EamReportRepairList/AssignRepairReportModal.vue
+++ /dev/null
@@ -1,74 +0,0 @@
-<template>
-  <j-modal :visible="visible" title="鎸囨淳鎶ヤ慨" :width="500" @ok="handleSubmit" @cancel="handleCancel"
-           :confirmLoading="confirmLoading">
-    <a-spin :spinning="confirmLoading">
-      <a-form-model ref="form" :model="model" :rules="validateRules" :labelCol="{span:4}" :wrapperCol="{span:18}">
-        <a-form-model-item label="缁翠慨宸�" prop="repairer">
-          <j-search-select-tag v-model="model.repairer" placeholder="璇烽�夋嫨缁翠慨宸�"
-                               dict="sys_user,realname, username, del_flag=0 and post='PCR0002' and status=1"/>
-        </a-form-model-item>
-      </a-form-model>
-    </a-spin>
-  </j-modal>
-</template>
-
-<script>
-  import { postAction } from '@/api/manage'
-
-  export default {
-    name: 'AssignRepairReportModal',
-    data() {
-      return {
-        visible: false,
-        confirmLoading: false,
-        model: {},
-        validateRules: {
-          repairer: [
-            { required: true, message: '璇烽�夋嫨缁翠慨宸�' }
-          ]
-        },
-        url: {
-          assign: '/eam/eamRepairOrder/assign'
-        }
-      }
-    },
-    methods: {
-      handleSubmit() {
-        const that = this
-        this.$refs.form.validate(valid => {
-          if (valid) {
-            that.confirmLoading = true
-            postAction(that.url.assign, that.model)
-              .then(res => {
-                if (res.success) {
-                  that.$message.success(res.message)
-                  that.handleCancel()
-                  that.$emit('ok')
-                } else {
-                  that.$message.warning(res.message)
-                }
-              })
-              .finally(() => {
-                that.confirmLoading = false
-              })
-          } else {
-            return false
-          }
-        })
-      },
-
-      handleCancel() {
-        this.visible = false
-      }
-    }
-  }
-</script>
-
-<style scoped>
-  .container {
-    display: flex;
-    flex-direction: column;
-    justify-content: center;
-    align-content: center;
-  }
-</style>
\ No newline at end of file
diff --git a/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue b/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue
index cd3bea5..183bbde 100644
--- a/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue
+++ b/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue
@@ -1,62 +1,62 @@
 <template>
-  <j-modal
-    :title="title"
-    fullscreen
-    :visible="visible"
-    centered
-    :confirmLoading="confirmLoading"
-    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
-    @ok="handleOk"
-    @cancel="handleCancel"
-    cancelText="鍏抽棴">
+  <j-modal :title="title" fullscreen :visible="visible" :confirmLoading="confirmLoading"
+           :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" @ok="handleOk" @cancel="handleCancel"
+           cancelText="鍏抽棴">
     <a-spin :spinning="confirmLoading">
       <j-form-container :disabled="disableSubmit">
         <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol"
                       :wrapperCol="wrapperCol" slot="detail">
           <a-row>
             <a-col :span="customSpan">
-              <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="customSpan">
-              <a-form-model-item label="鏄惁鍔犲伐">
-                <j-dict-select-tag dict-code="is_processed" type="radio" v-model="model.isProcessed"
-                                   @change="handleRadioChange($event,'faultStartTime,breakdownFlag,' +
-                                    'faultDescription,batchNumber,processingPart,quantity')"/>
-              </a-form-model-item>
-            </a-col>
-            <a-col :span="customSpan">
-              <a-form-model-item label="鏁呴殰寮�濮嬫椂闂�">
-                <a-date-picker :disabled="!Boolean(+model.isProcessed)" v-model="model.faultStartTime" value-format="YYYY-MM-DD" style="width:100%"/>
-              </a-form-model-item>
-            </a-col>
-            <a-col :span="customSpan">
-              <a-form-model-item label="鏄惁鍋滄満">
-                <j-dict-select-tag :disabled="!Boolean(+model.isProcessed)" dict-code="yn" placeholder="璇烽�夋嫨鏄惁鍋滄満" v-model="model.breakdownFlag"/>
+              <a-form-model-item prop="equipmentId" label="缁熶竴缂栫爜">
+                <lx-search-equipment-select placeholder="璇疯緭鍏ョ粺涓�缂栫爜鎴栧悕绉版悳绱�" v-model="model.equipmentId" :allowClear="false"/>
               </a-form-model-item>
             </a-col>
           </a-row>
 
           <a-row>
             <a-col :span="customSpan">
-              <a-form-model-item label="鏁呴殰鐜拌薄">
-                <a-input  :disabled="!Boolean(+model.isProcessed)" placeholder="璇疯緭鍏ユ晠闅滅幇璞�" v-model="model.faultDescription"/>
+              <a-form-model-item label="鏄惁鍋滄満">
+                <j-dict-select-tag type="radio" dict-code="yn" placeholder="璇烽�夋嫨鏄惁鍋滄満" v-model="model.breakdownFlag"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
-              <a-form-model-item label="鎵规鍙�">
-                <a-input  :disabled="!Boolean(+model.isProcessed)" placeholder="璇疯緭鍏ユ壒娆″彿" v-model="model.batchNumber"/>
+              <a-form-model-item label="鏁呴殰寮�濮嬫椂闂�" prop="faultStartTime">
+                <a-date-picker v-model="model.faultStartTime" :allowClear="false" value-format="YYYY-MM-DD"
+                               style="width:100%"/>
+              </a-form-model-item>
+            </a-col>
+
+            <a-col :span="12">
+              <a-form-model-item label="鏁呴殰鐜拌薄" prop="faultDescription" :labelCol="labelColLong"
+                                 :wrapperCol="wrapperColLong">
+                <a-textarea placeholder="璇疯緭鍏ユ晠闅滅幇璞�" v-model="model.faultDescription"/>
+              </a-form-model-item>
+            </a-col>
+          </a-row>
+
+          <a-row>
+            <a-col :span="customSpan">
+              <a-form-model-item label="鏄惁鍔犲伐">
+                <j-dict-select-tag dict-code="yn" type="radio" v-model="model.isProcessed"
+                                   @change="handleRadioChange($event,'batchNumber,processingPart,quantity')"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
-              <a-form-model-item label="鍔犲伐闆朵欢鍙�">
-                <a-input  :disabled="!Boolean(+model.isProcessed)" placeholder="璇疯緭鍏ュ姞宸ラ浂浠跺彿" v-model="model.processingPart"/>
+              <a-form-model-item label="鎵规鍙�" prop="batchNumber">
+                <a-input :disabled="!Boolean(+model.isProcessed)" placeholder="璇疯緭鍏ユ壒娆″彿" v-model="model.batchNumber"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
-              <a-form-model-item label="浠舵暟">
-                <a-input-number  :disabled="!Boolean(+model.isProcessed)" placeholder="璇疯緭鍏ヤ欢鏁�" v-model="model.quantity" :min="0" style="width: 100%"/>
+              <a-form-model-item label="鍔犲伐闆朵欢鍙�" prop="processingPart">
+                <a-input :disabled="!Boolean(+model.isProcessed)" placeholder="璇疯緭鍏ュ姞宸ラ浂浠跺彿"
+                         v-model="model.processingPart"/>
+              </a-form-model-item>
+            </a-col>
+            <a-col :span="customSpan">
+              <a-form-model-item label="浠舵暟" prop="quantity">
+                <a-input-number :disabled="!Boolean(+model.isProcessed)" placeholder="璇疯緭鍏ヤ欢鏁�" v-model="model.quantity"
+                                :min="0" style="width: 100%"/>
               </a-form-model-item>
             </a-col>
           </a-row>
@@ -64,22 +64,28 @@
           <a-row>
             <a-col :span="customSpan">
               <a-form-model-item label="璁惧浜嬫晠">
-                <j-dict-select-tag dict-code="yn" placeholder="璇烽�夋嫨璁惧浜嬫晠" v-model="model.isAccidentsRegister"/>
+                <j-dict-select-tag dict-code="yn" type="radio" placeholder="璇烽�夋嫨璁惧浜嬫晠"
+                                   v-model="model.isAccidentsRegister" @change="handleRadioChange($event,'scrapPartNumber,scrapPartQuantity,' +
+                                    'scrapPartValue,operationCertificate,powerOffRestart,batchFirstPiece,variableFactors,variableFactorsValue,'+
+                                    'executeNc,accidentPhenomenon,measure,causingResults')"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
-              <a-form-model-item label="搴熷搧浠跺彿">
-                <a-input placeholder="璇疯緭鍏ュ簾鍝佷欢鍙�" v-model="model.scrapPartNumber"/>
+              <a-form-model-item label="搴熷搧浠跺彿" prop="scrapPartNumber">
+                <a-input placeholder="璇疯緭鍏ュ簾鍝佷欢鍙�" :disabled="!Boolean(+model.isAccidentsRegister)"
+                         v-model="model.scrapPartNumber"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
-              <a-form-model-item label="搴熷搧浠舵暟">
-                <a-input-number placeholder="璇疯緭鍏ュ簾鍝佷欢鏁�" v-model="model.scrapPartQuantity" :min="0" style="width: 100%"/>
+              <a-form-model-item label="搴熷搧浠舵暟" prop="scrapPartQuantity">
+                <a-input-number placeholder="璇疯緭鍏ュ簾鍝佷欢鏁�" :disabled="!Boolean(+model.isAccidentsRegister)"
+                                v-model="model.scrapPartQuantity" :min="0" style="width: 100%"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
-              <a-form-model-item label="搴熷搧浠峰��">
-                <a-input placeholder="璇疯緭鍏ュ簾鍝佷环鍊�" v-model="model.scrapPartValue"/>
+              <a-form-model-item label="搴熷搧浠峰��" prop="scrapPartValue">
+                <a-input-number placeholder="璇疯緭鍏ュ簾鍝佷环鍊�" :disabled="!Boolean(+model.isAccidentsRegister)"
+                                v-model="model.scrapPartValue" style="width: 100%"/>
               </a-form-model-item>
             </a-col>
           </a-row>
@@ -87,63 +93,79 @@
           <a-row>
             <a-col :span="customSpan">
               <a-form-model-item label="鏄惁鏈夎澶囨搷浣滆瘉">
-                <j-dict-select-tag dict-code="yn" placeholder="璇烽�夋嫨鏄惁鏈夎澶囨搷浣滆瘉" v-model="model.operationCertificate"/>
+                <j-dict-select-tag dict-code="yn" type="radio" :disabled="!Boolean(+model.isAccidentsRegister)"
+                                   placeholder="璇烽�夋嫨鏄惁鏈夎澶囨搷浣滆瘉"
+                                   v-model="model.operationCertificate"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
               <a-form-model-item label="鏄惁鏂數閲嶅惎">
-                <j-dict-select-tag dict-code="yn" placeholder="璇烽�夋嫨鏄惁鏂數閲嶅惎" v-model="model.powerOffRestart"/>
+                <j-dict-select-tag dict-code="yn" type="radio" :disabled="!Boolean(+model.isAccidentsRegister)"
+                                   placeholder="璇烽�夋嫨鏄惁鏂數閲嶅惎" v-model="model.powerOffRestart"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
               <a-form-model-item label="鏄惁涓烘壒娆¢浠�">
-                <j-dict-select-tag dict-code="yn" placeholder="璇烽�夋嫨鏄惁涓烘壒娆¢浠�" v-model="model.batchFirstPiece"/>
+                <j-dict-select-tag dict-code="yn" type="radio" :disabled="!Boolean(+model.isAccidentsRegister)"
+                                   placeholder="璇烽�夋嫨鏄惁涓烘壒娆¢浠�"
+                                   v-model="model.batchFirstPiece"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
-              <a-form-model-item label="鍙樺姩鍥犵礌">
-                <j-dict-select-tag dict-code="yn" placeholder="璇烽�夋嫨鍙樺姩鍥犵礌" v-model="model.variableFactors"/>
+              <a-form-model-item label="鍙樺姩鍥犵礌" prop="variableFactors">
+                <j-dict-select-tag type="radio" dict-code="yn" :disabled="!Boolean(+model.isAccidentsRegister)"
+                                   placeholder="璇烽�夋嫨鍙樺姩鍥犵礌" v-model="model.variableFactors"
+                                   @change="handleRadioChange($event,'variableFactorsValue')"/>
               </a-form-model-item>
             </a-col>
           </a-row>
 
           <a-row>
             <a-col :span="customSpan">
-              <a-form-model-item label="鍙樺姩鍥犵礌鍐呭">
-                <j-dict-select-tag dict-code="variable_factors_value" placeholder="璇烽�夋嫨鍙樺姩鍥犵礌鍐呭" v-model="model.variableFactorsValue"/>
+              <a-form-model-item label="鍙樺姩鍥犵礌鍐呭" prop="variableFactorsValue">
+                <j-dict-select-tag dict-code="variable_factors_value" :disabled="!Boolean(+model.variableFactors)"
+                                   placeholder="璇烽�夋嫨鍙樺姩鍥犵礌鍐呭"
+                                   v-model="model.variableFactorsValue"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="customSpan">
               <a-form-model-item label="鎵ц绋嬪簭">
-                <a-input placeholder="璇疯緭鍏ユ墽琛岀▼搴�" v-model="model.executeNc"/>
+                <a-input placeholder="璇疯緭鍏ユ墽琛岀▼搴�" v-model="model.executeNc"
+                         :disabled="!Boolean(+model.isAccidentsRegister)"/>
               </a-form-model-item>
             </a-col>
-            <a-col :span="customSpan">
-              <a-form-model-item label="浜嬫晠鐜拌薄">
-                <a-input placeholder="璇疯緭鍏ヤ簨鏁呯幇璞�" v-model="model.accidentPhenomenon"/>
-              </a-form-model-item>
-            </a-col>
-            <a-col :span="customSpan">
-              <a-form-model-item label="閲囧彇鎺柦">
-                <a-input placeholder="璇疯緭鍏ラ噰鍙栨帾鏂�" v-model="model.measure"/>
+            <a-col :span="12">
+              <a-form-model-item label="浜嬫晠鐜拌薄" prop="accidentPhenomenon" :labelCol="labelColLong"
+                                 :wrapperCol="wrapperColLong">
+                <a-textarea placeholder="璇疯緭鍏ヤ簨鏁呯幇璞�" v-model="model.accidentPhenomenon"
+                            :disabled="!Boolean(+model.isAccidentsRegister)"/>
               </a-form-model-item>
             </a-col>
           </a-row>
 
           <a-row>
-            <a-col :span="customSpan">
-              <a-form-model-item label="閫犳垚缁撴灉">
-                <a-input placeholder="璇疯緭鍏ラ�犳垚缁撴灉" v-model="model.causingResults"/>
+            <a-col :span="12">
+              <a-form-model-item label="閲囧彇鎺柦" prop="measure" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
+                <a-textarea placeholder="璇疯緭鍏ラ噰鍙栨帾鏂�" v-model="model.measure"
+                            :disabled="!Boolean(+model.isAccidentsRegister)"/>
               </a-form-model-item>
             </a-col>
-
-            <a-col :span="customSpan">
-              <a-form-model-item label="澶囨敞">
-                <a-input placeholder="璇疯緭鍏ュ娉�" v-model="model.measure"/>
+            <a-col :span="12">
+              <a-form-model-item label="閫犳垚缁撴灉" prop="causingResults" :labelCol="labelColLong"
+                                 :wrapperCol="wrapperColLong">
+                <a-textarea placeholder="璇疯緭鍏ラ�犳垚缁撴灉" v-model="model.causingResults"
+                            :disabled="!Boolean(+model.isAccidentsRegister)"/>
               </a-form-model-item>
             </a-col>
           </a-row>
 
+          <a-row>
+            <a-col :span="12">
+              <a-form-model-item label="澶囨敞" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
+                <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.remark"/>
+              </a-form-model-item>
+            </a-col>
+          </a-row>
         </a-form-model>
       </j-form-container>
     </a-spin>
@@ -153,19 +175,10 @@
 <script>
   import { httpAction } from '@/api/manage'
   import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
-  import moment from 'moment'
 
   export default {
     name: 'EamReportRepairModal',
     components: { LxSearchEquipmentSelect },
-    props: {
-      breakdownFlagList: {
-        type: Array
-      },
-      faultReasonList: {
-        type: Array
-      }
-    },
     data() {
       return {
         title: '鎿嶄綔',
@@ -192,21 +205,60 @@
         },
         confirmLoading: false,
         validatorRules: {
-          faultStartTime: [
-            { required: true, message: '璇烽�夋嫨鏁呴殰寮�濮嬫椂闂�' }
-          ],
-          breakdownFlag: [
-            { required: true, message: '璇烽�夋嫨鏄惁鍋滄満' }
-          ],
-          equipmentId: [
-            { required: true, message: '璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储' }
-          ],
-          faultName: [
-            { required: true, message: '璇烽�夋嫨鏁呴殰绠�绉�' }
-          ],
-          faultDescription: [
-            { required: true, message: '璇疯緭鍏ユ晠闅滄弿杩�' }
-          ]
+          equipmentId: [{ required: true, message: '璇疯緭鍏ョ粺涓�缂栫爜鎴栧悕绉版悳绱�', trigger: 'change' }],
+          faultStartTime: [{ required: true, message: '璇烽�夋嫨鏁呴殰寮�濮嬫椂闂�', trigger: 'change' }],
+          faultDescription: [{ required: true, message: '璇疯緭鍏ユ晠闅滅幇璞�', trigger: 'change' }],
+          batchNumber: [{
+            validator: this.isProcessedRelatedValidator,
+            message: '璇疯緭鍏ユ壒娆″彿',
+            trigger: 'change'
+          }],
+          processingPart: [{
+            validator: this.isProcessedRelatedValidator,
+            message: '璇疯緭鍏ュ姞宸ラ浂浠跺彿',
+            trigger: 'change'
+          }],
+          quantity: [{
+            validator: this.isProcessedRelatedValidator,
+            message: '璇疯緭鍏ヤ欢鏁�',
+            trigger: 'change'
+          }],
+          scrapPartNumber: [{
+            validator: this.isAccidentsRegisterRelatedValidator,
+            message: '璇疯緭鍏ュ簾鍝佷欢鍙�',
+            trigger: 'change'
+          }],
+          scrapPartQuantity: [{
+            validator: this.isAccidentsRegisterRelatedValidator,
+            message: '璇疯緭鍏ュ簾鍝佷欢鏁�',
+            trigger: 'change'
+          }],
+          scrapPartValue: [{
+            validator: this.isAccidentsRegisterRelatedValidator,
+            message: '璇疯緭鍏ュ簾鍝佷环鍊�',
+            trigger: 'change'
+          }],
+          variableFactors: [{
+            validator: this.isAccidentsRegisterRelatedValidator,
+            message: '璇烽�夋嫨鍙樺姩鍥犵礌',
+            trigger: 'change'
+          }],
+          variableFactorsValue: [{
+            validator: this.variableFactorsValueValidator,
+            message: '璇烽�夋嫨鍙樺姩鍥犵礌鍐呭',
+            trigger: 'change'
+          }],
+          accidentPhenomenon: [{
+            validator: this.isAccidentsRegisterRelatedValidator,
+            message: '璇疯緭鍏ヤ簨鏁呯幇璞�',
+            trigger: 'change'
+          }],
+          measure: [{ validator: this.isAccidentsRegisterRelatedValidator, message: '璇疯緭鍏ラ噰鍙栨帾鏂�', trigger: 'change' }],
+          causingResults: [{
+            validator: this.isAccidentsRegisterRelatedValidator,
+            message: '璇疯緭鍏ラ�犳垚缁撴灉',
+            trigger: 'change'
+          }]
         },
         url: {
           add: '/eam/eamReportRepair/add',
@@ -219,21 +271,16 @@
         this.editable = true
         //鍒濆鍖栭粯璁ゅ��
         this.model = {
-          isProcessed: 0,
+          breakdownFlag: '1',
+          isProcessed: '0',
+          isAccidentsRegister: '0'
         }
         this.visible = true
       },
 
       edit(record) {
-        this.model = Object.assign({}, record, { imageFilesResult: record.imageFiles && this.isJSON(record.imageFiles) ? JSON.parse(record.imageFiles) : null })
+        this.model = Object.assign({}, record)
         this.visible = true
-      },
-
-      handleFaultNameChange(value) {
-        const faultReasonItem = this.faultReasonList.find(item => item.faultName === value)
-        this.model.faultType = faultReasonItem.faultCategory
-        this.model.faultType_dictText = faultReasonItem.faultCategory_dictText
-        this.model.faultDescription = faultReasonItem.faultDescription
       },
 
       handleOk() {
@@ -252,31 +299,29 @@
               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()
-            })
+            httpAction(httpUrl, this.model, method)
+              .then((res) => {
+                if (res.success) {
+                  that.$notification.success({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                  that.$emit('ok')
+                  that.close()
+                } else {
+                  that.$notification.warning({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                }
+              })
+              .finally(() => {
+                that.confirmLoading = false
+              })
           } else {
             return false
           }
         })
-      },
-
-      // 鍒ゆ柇鏄笉鏄疛SON瀛楃涓�
-      isJSON(str) {
-        try {
-          JSON.parse(str)
-          return true // 濡傛灉杩欓噷娌℃湁鎶涘嚭寮傚父锛岃鏄庢槸JSON鏍煎紡鐨勫瓧绗︿覆
-        } catch (e) {
-          return false // 濡傛灉鎶涘嚭寮傚父锛岃鏄庝笉鏄疛SON鏍煎紡鐨勫瓧绗︿覆
-        }
       },
 
       /**\
@@ -289,39 +334,66 @@
         if (key.includes(',')) {
           const keys = key.split(',')
           keys.forEach(key => {
-            if (value === '0') delete this.model[key]
+            if (value != '1') delete this.model[key]
+            this.$refs.form.clearValidate(key)
           })
-        }else {
-          if (value === '0') delete this.model[key]
+        } else {
+          if (value != '1') delete this.model[key]
+          this.$refs.form.clearValidate(key)
         }
       },
 
       /**
-       * 绂佺敤鏃ユ湡
-       * @params current 琚鐢ㄧ殑鏃堕棿
+       * 鏍规嵁鏄惁鍔犲伐瀛楁鏍¢獙鐩稿叧瀛楁
+       * @param rule
+       * @param value 鐩稿叧瀛楁鍊�
+       * @param callback 缁撴灉鍥炶皟鍑芥暟
        */
-      disabledDate(current) {
-        // Can not select days after today
-        return current > moment().endOf('day')
-      },
-
-      /**
-       * 绂佺敤鏃ユ湡涓殑鏃堕棿
-       * @returns {{disabledHours: (function(): Array), disabledMinutes: (function(): Array)}}
-       */
-      disabledTime() {
-        function range(start, end) {
-          const result = []
-          for (let i = start; i < end; i++) {
-            result.push(i)
+      isProcessedRelatedValidator(rule, value, callback) {
+        if (this.model.isProcessed == '1') {
+          if (!value) {
+            callback(new Error())
+          } else {
+            callback()
           }
-          return result
+        } else {
+          callback()
         }
+      },
 
-        return {
-          disabledHours: () => range(moment().hour() + 1, 24),
-          disabledMinutes: () => range(moment().minute() + 1, 60),
-          disabledSeconds: () => range(moment().second() + 1, 60)
+      /**
+       * 鏍规嵁璁惧浜嬫晠瀛楁鏍¢獙鐩稿叧瀛楁
+       * @param rule
+       * @param value 鐩稿叧瀛楁鍊�
+       * @param callback 缁撴灉鍥炶皟鍑芥暟
+       */
+      isAccidentsRegisterRelatedValidator(rule, value, callback) {
+        if (this.model.isAccidentsRegister == '1') {
+          if (!value) {
+            callback(new Error())
+          } else {
+            callback()
+          }
+        } else {
+          callback()
+        }
+      },
+
+      /**
+       * 鍙樺姩鍥犵礌鍐呭鏍¢獙
+       * @param rule
+       * @param value 鍙樺姩鍥犵礌鍐呭瀛楁鍊�
+       * @param callback 缁撴灉鍥炶皟鍑芥暟
+       */
+      variableFactorsValueValidator(rule, value, callback) {
+        if (this.model.variableFactors == '1') {
+          if (!value) {
+            callback(new Error())
+          } else {
+            callback()
+          }
+        } else {
+          callback()
         }
       },
 
@@ -332,7 +404,7 @@
       },
       handleCancel() {
         this.close()
-      },
+      }
     }
   }
 </script>
diff --git "a/src/views/eam/repair/modules/EamReportThreeNoSpareModal.Style\043Drawer.vue" "b/src/views/eam/repair/modules/EamReportThreeNoSpareModal.Style\043Drawer.vue"
deleted file mode 100644
index 00c1a60..0000000
--- "a/src/views/eam/repair/modules/EamReportThreeNoSpareModal.Style\043Drawer.vue"
+++ /dev/null
@@ -1,155 +0,0 @@
-<template>
-  <a-drawer
-      :title="title"
-      :width="800"
-      placement="right"
-      :closable="false"
-      @close="close"
-      :visible="visible">
-
-    <a-spin :spinning="confirmLoading">
-      <a-form-model ref="form" :model="model" :rules="validatorRules">
-      
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="delFlag" label="鍒犻櫎鏍囪">
-          <a-input-number v-model="model.delFlag" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="causeAnalysis" label="鍘熷洜鍒嗘瀽">
-          <a-input placeholder="璇疯緭鍏ュ師鍥犲垎鏋�" v-model="model.causeAnalysis" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="isTrainingEducation" label="鍩硅鏁欒偛;鏄� 鍚�">
-          <a-input placeholder="璇疯緭鍏ュ煿璁暀鑲�;鏄� 鍚�" v-model="model.isTrainingEducation" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="trainingFormat" label="鍩硅褰㈠紡">
-          <a-input placeholder="璇疯緭鍏ュ煿璁舰寮�" v-model="model.trainingFormat" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="trainingContent" label="鍩硅鍐呭">
-          <a-input placeholder="璇疯緭鍏ュ煿璁唴瀹�" v-model="model.trainingContent" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="trainingUser" label="鍩硅浜�">
-          <a-input placeholder="璇疯緭鍏ュ煿璁汉" v-model="model.trainingUser" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="trainingUserTime" label="鍩硅鏃堕棿">
-          <a-input placeholder="璇疯緭鍏ュ煿璁椂闂�" v-model="model.trainingUserTime" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="reportId" label="鎶ヤ慨ID">
-          <a-input placeholder="璇疯緭鍏ユ姤淇甀D" v-model="model.reportId" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧ID">
-          <a-input placeholder="璇疯緭鍏ヨ澶嘔D" v-model="model.equipmentId" />
-        </a-form-model-item>
-		
-      </a-form-model>
-    </a-spin>
-
-    <div class="drawer-bootom-button">
-      <a-button type="primary" @click="handleOk">纭畾</a-button>
-      <a-button type="primary" @click="handleCancel">鍙栨秷</a-button>
-    </div>
-  </a-drawer>
-</template>
-
-<script>
-  import { httpAction } from '@/api/manage'
-  import moment from "moment"
-
-  export default {
-    name: "EamReportThreeNoSpareModal",
-    data () {
-      return {
-        title:"鎿嶄綔",
-        visible: false,
-        model: {},
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-
-        confirmLoading: false,
-        validatorRules:{
-        },
-        url: {
-          add: "/eam/eamReportThreeNoSpare/add",
-          edit: "/eam/eamReportThreeNoSpare/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>
-  /**Button鎸夐挳闂磋窛*/
-  .ant-btn {
-    margin-left: 30px;
-    margin-bottom: 30px;
-    float: right;
-  }
- /**鎶藉眽鎸夐挳鏍峰紡*/
-  .drawer-bootom-button {
-    position: absolute;
-    bottom: -8px;
-    width: 100%;
-    border-top: 1px solid #e8e8e8;
-    padding: 10px 16px;
-    text-align: right;
-    left: 0;
-    background: #fff;
-    border-radius: 0 0 2px 2px;
-  }
-</style>
\ No newline at end of file
diff --git a/src/views/flowable/workflow/FlowTodo.vue b/src/views/flowable/workflow/FlowTodo.vue
index 78481be..67c1d04 100644
--- a/src/views/flowable/workflow/FlowTodo.vue
+++ b/src/views/flowable/workflow/FlowTodo.vue
@@ -102,6 +102,10 @@
     <technical-status-evaluation-order-change-approval-modal ref="evaluationOrderChangeApprovalModal"
                                                              :selectShenpiData="selectedRowData"
                                                              @modalFormOk="modalFormOk"/>
+
+    <!--缁翠慨宸ュ崟-->
+    <repair-order-approval-modal ref="repairOrderApprovalModal" :selectShenpiData="selectedRowData"
+                                 @modalFormOk="modalFormOk"/>
   </a-card>
 </template>
 
@@ -116,11 +120,13 @@
   import ThirdMaintenanceApprovalModal from './thirdMaintenance/ThirdMaintenanceApprovalModal'
   import TechnicalStatusEvaluationOrderChangeApprovalModal
     from './TechnicalStatusEvaluation/TechnicalStatusEvaluationOrderChangeApprovalModal'
+  import RepairOrderApprovalModal from './repairOrder/RepairOrderApprovalModal'
 
   export default {
     name: 'FlowTodo',
     mixins: [JeecgListMixin],
     components: {
+      RepairOrderApprovalModal,
       TechnicalStatusEvaluationOrderChangeApprovalModal,
       ThirdMaintenanceApprovalModal,
       SecondMaintenanceApprovalModal,
@@ -215,9 +221,6 @@
           case 'sbdjApproval':
             this.handInspectionOrder(record)
             break
-          case 'eam_repair':
-            this.handleRepairOrder(record)
-            break
           case 'second_maintenance':
             this.handleSecondMaintenance(record)
             break
@@ -229,6 +232,9 @@
             break
           case 'EVALUATION_ORDER_CHANGE_PROCESS':
             this.handleEvaluationOrderChange(record)
+            break
+          case 'eam_repair_order':
+            this.handleRepairOrder(record)
             break
           default:
             alert('娌℃壘鍒拌娴佺▼')
@@ -303,11 +309,10 @@
        * @param record
        */
       handleRepairOrder(record) {
-        this.selectRepairOrderData = Object.assign({}, record)
+        this.selectedRowData = Object.assign({}, record)
         this.$refs.repairOrderApprovalModal.visible = true
         this.$refs.repairOrderApprovalModal.title = record.name
-        this.$refs.repairOrderApprovalModal.getAllApproveData(record)
-        this.$refs.repairOrderApprovalModal.getBasicInformation(record)
+        this.$refs.repairOrderApprovalModal.handleDetail(record)
       },
 
       batchHandle() {
diff --git a/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue b/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue
index 50aebc3..d54b171 100644
--- a/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue
+++ b/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue
@@ -1,268 +1,97 @@
 <template>
-  <j-modal
-    :width="1200"
-    :visible="visible"
-    :title="title"
-    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
-    @cancel="handCancel"
-    @ok="submitForm"
-    :mask-closable="false"
-    :confirmLoading="confirmLoading"
-    centered
-  >
+  <j-modal :width="1200" :visible="visible" :title="title" :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+           @cancel="handCancel" @ok="submitForm" :mask-closable="false" :confirmLoading="confirmLoading" fullscreen>
     <a-spin :spinning="spinning">
-      <a-form-model ref="form" :model='tableRowRecord' :rules='validatorRules' :labelCol='labelCol'
-                    :wrapperCol='wrapperCol'>
-        <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">鎶ヤ慨鍩虹淇℃伅</a-divider>
+      <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelColLong"
+                    :wrapperCol="wrapperColLong">
+        <a-row :gutter="24" id="outer-row">
+          <a-col :span="8" class="scroll-col">
+            <a-tabs>
+              <a-tab-pane tab="鍩虹淇℃伅">
+                <a-row>
+                  <a-col :span="12">
+                    <a-form-model-item label="缁翠慨寮�濮嬫椂闂�" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                      <a-input v-model="model.actualStartTime" readOnly/>
+                    </a-form-model-item>
+                  </a-col>
+                  <a-col :span="12">
+                    <a-form-model-item label="缁翠慨缁撴潫鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                      <a-input v-model="model.actualEndTime" readOnly/>
+                    </a-form-model-item>
+                  </a-col>
+                  <a-col :span="24">
+                    <a-form-model-item label="鏁呴殰鍘熷洜">
+                      <a-textarea v-model="model.faultReason" readOnly/>
+                    </a-form-model-item>
+                  </a-col>
+                  <a-col :span="24">
+                    <a-form-model-item label="鏁呴殰鍒嗘瀽">
+                      <a-textarea v-model="model.faultAnalysis" readOnly/>
+                    </a-form-model-item>
+                  </a-col>
+                  <a-col :span="24">
+                    <a-form-model-item label="鎺掓晠杩囩▼">
+                      <a-textarea v-model="model.faultProcess" readOnly/>
+                    </a-form-model-item>
+                  </a-col>
+                  <a-col :span="24">
+                    <a-form-model-item label="棰勯槻鎺柦">
+                      <a-textarea v-model="model.faultPrevent" readOnly/>
+                    </a-form-model-item>
+                  </a-col>
+                </a-row>
+              </a-tab-pane>
+            </a-tabs>
+          </a-col>
 
-        <a-row>
-          <a-col :span='threeColSpan'>
-            <a-form-model-item label='宸ュ崟缂栧彿'>
-              <a-input :readOnly='inputReadOnly' v-model='tableRowRecord.repairCode'/>
-            </a-form-model-item>
+          <!--缁翠慨浜烘槑缁�-->
+          <a-col class="scroll-col" :span="10">
+            <a-tabs v-model="activeTabKey">
+              <a-tab-pane key="1" tab="缁翠慨浜烘槑缁�">
+                <j-vxe-table ref="editableDetailTable" rowNumber bordered keep-source :dataSource="detail.dataSource"
+                             :columns="detail.columns"/>
+              </a-tab-pane>
+
+              <template v-if="selectShenpiData.procInstId">
+                <a-tab-pane key='2' tab='娴佺▼鍥�'>
+                  <img :src="imageSrc" alt="Fetched Image"/>
+                </a-tab-pane>
+              </template>
+            </a-tabs>
           </a-col>
-          <a-col :span='threeColSpan'>
-            <a-form-model-item label='璁惧缂栧彿'>
-              <lx-search-equipment-select disabled v-model='tableRowRecord.equipmentId'/>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span='threeColSpan'>
-            <a-form-model-item label='缁翠慨璐熻矗浜�'>
-              <a-input :readOnly='inputReadOnly' v-model='tableRowRecord.repairer'/>
-            </a-form-model-item>
+
+          <!--鍙充晶瀹℃壒鍒�-->
+          <a-col :span="6" class="scroll-col">
+            <a-tabs>
+              <a-tab-pane tab="鎿嶄綔宸ョ‘璁�">
+                <a-row>
+                  <a-col :span="24">
+                    <a-form-model-item prop="confirmResult" label="纭绫诲瀷">
+                      <j-dict-select-tag type='radio' v-model='model.confirmResult' dictCode='approve_reject'
+                                         placeholder="璇烽�夋嫨纭绫诲瀷"
+                                         :disabled="disableSubmit || model.repairStatus!='PENDING_CONFIRMATION'"/>
+                    </a-form-model-item>
+                  </a-col>
+                  <a-col :span="24">
+                    <a-form-model-item label="纭鎰忚">
+                      <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.confirmComment"
+                                  :disabled="disableSubmit || model.repairStatus!='PENDING_CONFIRMATION'"/>
+                    </a-form-model-item>
+                  </a-col>
+                </a-row>
+              </a-tab-pane>
+            </a-tabs>
           </a-col>
         </a-row>
-
-        <a-row>
-          <a-col :span="threeColSpan">
-            <a-form-model-item label="鏁呴殰寮�濮嬫椂闂�">
-              <a-input :readOnly='inputReadOnly' v-model="tableRowRecord.faultStartTime"/>
-            </a-form-model-item>
-          </a-col>
-
-          <a-col :span="threeColSpan">
-            <a-form-model-item label="鏄惁鍋滄満">
-              <j-dict-select-tag type='radio' v-model='tableRowRecord.breakdownFlag' dictCode='breakdown_flag'
-                                 disabled/>
-            </a-form-model-item>
-          </a-col>
-        </a-row>
-
-        <a-row>
-          <a-col :span='threeColSpan*3'>
-            <a-form-model-item label='鎶ヤ慨鍥剧墖' :labelCol='labelColLong' :wrapperCol='wrapperColLong'>
-              <lx-upload :returnUrl="false" :isMultiple="true" file-type="image" disabled :number="3"
-                         v-model="tableRowRecord.reportImageFiles"/>
-            </a-form-model-item>
-          </a-col>
-        </a-row>
-
-        <a-tabs v-model="activeTabKey">
-          <a-tab-pane key="1" tab="缁翠慨澶勭悊">
-
-            <div v-if="repairConfirm">
-              <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">缁翠慨纭</a-divider>
-
-              <a-row :gutter="24">
-                <a-col :span="12">
-                  <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairConfirm" label="鏄惁鍐呴儴鍙淮淇�">
-                    <j-dict-select-tag type='radio' v-model='tableRowRecord.repairConfirm' dictCode='yn'
-                                       placeholder="璇烽�夋嫨" :disabled="disableSubmit || tableRowRecord.repairStatus !== 'WAIT_INTERNAL_CONFIRM'"/>
-                  </a-form-model-item>
-                </a-col>
-                <a-col :span="12">
-                  <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairConfirmComment" label="缁翠慨纭鎰忚">
-                    <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="tableRowRecord.repairConfirmComment"
-                                :readOnly="disableSubmit || tableRowRecord.repairStatus !== 'WAIT_INTERNAL_CONFIRM'"/>
-                  </a-form-model-item>
-                </a-col>
-              </a-row>
-            </div>
-            <div v-if="underInternalRepair && tableRowRecord.repairConfirm === '1'">
-              <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">缁翠慨缁撴灉</a-divider>
-              <a-row>
-                <a-col :span="twoColSpan*2">
-                  <a-form-model-item label="鏁呴殰鍘熷洜" prop="faultReason" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
-                    <a-input :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'"
-                             v-model="tableRowRecord.faultReason" rows="4"
-                             placeholder="璇疯緭鍏ユ晠闅滃師鍥�"/>
-                  </a-form-model-item>
-                </a-col>
-                <a-col :span="twoColSpan*2">
-                  <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairDescription" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
-                    <a-textarea :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'"
-                                v-model="tableRowRecord.repairDescription"
-                                placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"/>
-                  </a-form-model-item>
-                </a-col>
-                <a-col :span="twoColSpan*2">
-                  <a-form-model-item label="缁翠慨鍥剧墖" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
-                    <lx-upload :returnUrl="false" :isMultiple="true" file-type="image" :number="3"
-                               :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'"
-                               v-model="tableRowRecord.imageFiles"/>
-                  </a-form-model-item>
-                </a-col>
-              </a-row>
-            </div>
-            <div v-if="leaderConfirm && tableRowRecord.repairConfirm === '0'">
-              <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">棰嗗纭</a-divider>
-
-              <a-row :gutter="24">
-                <a-col :span="12">
-                  <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leaderConfirm" label="鏄惁鍚屾剰澶栭儴缁翠慨">
-                    <j-dict-select-tag type='radio' v-model='tableRowRecord.leaderConfirm' dictCode='approved_rejected'
-                                       placeholder="璇烽�夋嫨" :disabled="disableSubmit || tableRowRecord.repairStatus!=='WAIT_LEADER_CONFIRM'"/>
-                  </a-form-model-item>
-                </a-col>
-                <a-col :span="12">
-                  <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leaderConfirmComment" label="纭鎰忚">
-                    <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="tableRowRecord.leaderConfirmComment"
-                                :readOnly="disableSubmit || tableRowRecord.repairStatus!=='WAIT_LEADER_CONFIRM'"/>
-                  </a-form-model-item>
-                </a-col>
-              </a-row>
-            </div>
-            <div v-if="underInternalRepair && tableRowRecord.leaderConfirm === '2'">
-              <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">缁翠慨缁撴灉</a-divider>
-              <a-row>
-                <a-col :span="twoColSpan*2">
-                  <a-form-model-item label="鏁呴殰鍘熷洜" prop="faultReason" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
-                    <a-input :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'"
-                             v-model="tableRowRecord.faultReason" rows="4"
-                             placeholder="璇疯緭鍏ユ晠闅滃師鍥�"/>
-                  </a-form-model-item>
-                </a-col>
-                <a-col :span="twoColSpan*2">
-                  <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairDescription" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
-                    <a-textarea :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'"
-                                v-model="tableRowRecord.repairDescription"
-                                placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"/>
-                  </a-form-model-item>
-                </a-col>
-                <a-col :span="twoColSpan*2">
-                  <a-form-model-item label="缁翠慨鍥剧墖" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
-                    <lx-upload :returnUrl="false" :isMultiple="true" file-type="image" :number="3"
-                               :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'"
-                               v-model="tableRowRecord.imageFiles"/>
-                  </a-form-model-item>
-                </a-col>
-              </a-row>
-            </div>
-            <div v-if="externalConfirm && tableRowRecord.leaderConfirm === '1'">
-              <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">鏈哄姩鍔炵‘璁�</a-divider>
-
-              <a-row :gutter="24">
-                <a-col :span="12">
-                  <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="externalConfirm" label="鏈哄姩鍔炴槸鍚﹀彲缁翠慨">
-                    <j-dict-select-tag type='radio' v-model='tableRowRecord.externalConfirm' dictCode='yn'
-                                       placeholder="璇烽�夋嫨" :disabled="disableSubmit||tableRowRecord.repairStatus!=='WAIT_EXTERNAL_CONFIRM'"/>
-                  </a-form-model-item>
-                </a-col>
-                <a-col :span="12">
-                  <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="externalConfirmComment" label="纭鎰忚">
-                    <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="tableRowRecord.externalConfirmComment"
-                                :readOnly="disableSubmit || tableRowRecord.repairStatus!=='WAIT_EXTERNAL_CONFIRM'"/>
-                  </a-form-model-item>
-                </a-col>
-              </a-row>
-            </div>
-            <div v-if="underExternalRepair && tableRowRecord.externalConfirm === '1'">
-              <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">鏈哄姩鍔炵淮淇粨鏋�</a-divider>
-              <a-row>
-                <a-col :span="twoColSpan*2">
-                  <a-form-model-item label="鏁呴殰鍘熷洜" prop="faultReason" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
-                    <a-input :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_EXTERNAL_REPAIR'"
-                             v-model="tableRowRecord.faultReason" rows="4"
-                             placeholder="璇疯緭鍏ユ晠闅滃師鍥�"/>
-                  </a-form-model-item>
-                </a-col>
-                <a-col :span="twoColSpan*2">
-                  <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairDescription" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
-                    <a-textarea :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_EXTERNAL_REPAIR'"
-                                v-model="tableRowRecord.repairDescription"
-                                placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"/>
-                  </a-form-model-item>
-                </a-col>
-                <a-col :span="twoColSpan*2">
-                  <a-form-model-item label="缁翠慨鍥剧墖" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
-                    <lx-upload :returnUrl="false" :isMultiple="true" file-type="image" :number="3"
-                               :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_EXTERNAL_REPAIR'"
-                               v-model="tableRowRecord.imageFiles"/>
-                  </a-form-model-item>
-                </a-col>
-              </a-row>
-            </div>
-            <div v-if="underOutsideRepair && tableRowRecord.externalConfirm === '0'">
-              <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">濮斿缁翠慨缁撴灉</a-divider>
-              <a-row>
-                <a-col :span="twoColSpan*2">
-                  <a-form-model-item label="鏁呴殰鍘熷洜" prop="faultReason" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
-                    <a-input :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_OUTSIDE_REPAIR'"
-                             v-model="tableRowRecord.faultReason" rows="4"
-                             placeholder="璇疯緭鍏ユ晠闅滃師鍥�"/>
-                  </a-form-model-item>
-                </a-col>
-                <a-col :span="twoColSpan*2">
-                  <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairDescription" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
-                    <a-textarea :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_OUTSIDE_REPAIR'"
-                                v-model="tableRowRecord.repairDescription"
-                                placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"/>
-                  </a-form-model-item>
-                </a-col>
-                <a-col :span="twoColSpan*2">
-                  <a-form-model-item label="缁翠慨鍥剧墖" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
-                    <lx-upload :returnUrl="false" :isMultiple="true" file-type="image" :number="3"
-                               :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_OUTSIDE_REPAIR'"
-                               v-model="tableRowRecord.imageFiles"/>
-                  </a-form-model-item>
-                </a-col>
-              </a-row>
-            </div>
-            <div v-if="operatorConfirm">
-              <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">鎿嶄綔宸ョ‘璁�</a-divider>
-
-              <a-row :gutter="24">
-                <a-col :span="24">
-                  <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" prop="confirmComment" label="纭鎰忚">
-                    <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="tableRowRecord.confirmComment"
-                                :readOnly="disableSubmit || tableRowRecord.repairStatus!=='WAIT_CONFIRM'"/>
-                  </a-form-model-item>
-                </a-col>
-              </a-row>
-            </div>
-          </a-tab-pane>
-
-          <template v-if="selectShenpiData.procInstId">
-            <a-tab-pane key='2' tab='娴佺▼鑺傜偣'>
-              <a-card :bordered="false">
-                <a-timeline>
-                  <a-timeline-item v-for="(item,index) in hitaskDataSource" :key="index">
-                    <div>
-                      <h3 style="font-weight: bold;">{{item.taskName}}</h3>
-                      <div>澶勭悊浜猴細{{item.assignee_dictText}}</div>
-                      <div v-if="index !==0">澶勭悊鏃堕暱锛歿{item.duration}}</div>
-                      <div v-if="item.name !== '鎻愪氦鐢宠'">澶勭悊绫诲瀷锛歿{item.sequenceFlowName}}</div>
-                      <div v-if="item.description">澶勭悊鎰忚锛歿{item.description}}</div>
-                    </div>
-                  </a-timeline-item>
-                </a-timeline>
-              </a-card>
-            </a-tab-pane>
-
-            <a-tab-pane key='3' tab='娴佺▼鍥�'>
-              <img :src="imageSrc" alt="Fetched Image"/>
-            </a-tab-pane>
-          </template>
-        </a-tabs>
       </a-form-model>
     </a-spin>
   </j-modal>
 </template>
 
 <script>
-  import '@assets/less/TableExpand.less'
   import { getAction, downFile, httpAction } from '@api/manage'
   import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect'
+  import { JVXETypes } from '@comp/jeecg/JVxeTable'
 
   export default {
     name: 'RepairOrderApprovalModal',
@@ -276,151 +105,170 @@
     data() {
       return {
         title: '',
-        threeColSpan: 8,
-        twoColSpan: 12,
-        inputReadOnly: true,
         disableSubmit: false,
         confirmLoading: false,
         spinning: false,
-        tableRowRecord: {},
-        hitaskDataSource: [],
+        model: {},
         imageSrc: null,
         activeTabKey: '1',
         labelCol: {
           xs: { span: 24 },
-          sm: { span: 6 }
+          sm: { span: 10 }
         },
         wrapperCol: {
           xs: { span: 24 },
-          sm: { span: 16 }
+          sm: { span: 14 }
         },
         labelColLong: {
           xs: { span: 24 },
-          sm: { span: 2 }
+          sm: { span: 5 }
         },
         wrapperColLong: {
           xs: { span: 24 },
-          sm: { span: 20 }
+          sm: { span: 19 }
         },
-        validatorRules: {
-          repairConfirm: [
-            { required: true, message: '璇烽�夋嫨鏄惁鍐呴儴鍙淮淇紒' }
+        validatorRules: { confirmResult: [{ required: true, message: '璇烽�夋嫨纭绫诲瀷' }] },
+        detail: {
+          dataSource: [],
+          columns: [
+            {
+              title: 'ID',
+              key: 'id',
+              type: JVXETypes.hidden
+            },
+            {
+              title: '缁翠慨浜�',
+              key: 'repairUser',
+              align: 'center',
+              type: JVXETypes.normal
+            },
+            {
+              title: '鏄惁鏄富缁翠慨浜�',
+              key: 'repairPrimary_dictText',
+              align: 'center',
+              type: JVXETypes.normal
+            },
+            {
+              title: '缁翠慨鏃堕暱',
+              key: 'repairDuration',
+              align: 'center',
+              type: JVXETypes.normal
+            },
+            {
+              title: '澶囨敞',
+              key: 'remark',
+              align: 'center',
+              type: JVXETypes.normal
+            }
           ],
-          repairConfirmComment: [
-            { required: true, message: '璇疯緭鍏ョ淮淇‘璁ゆ剰瑙�' }
-          ],
-          leaderConfirm: [
-            { required: true, message: '璇烽�夋嫨鏄惁鍚屾剰澶栭儴缁翠慨锛�' }
-          ],
-          leaderConfirmComment: [
-            { required: true, message: '璇疯緭鍏ラ瀵肩‘璁ゆ剰瑙�' }
-          ],
-          externalConfirm: [
-            { required: true, message: '璇烽�夋嫨鏈哄姩鍔炴槸鍚﹀彲缁翠慨锛�' }
-          ],
-          externalConfirmComment: [
-            { required: true, message: '璇疯緭鍏ユ満鍔ㄥ姙纭鎰忚' }
-          ],
-          confirmComment: [
-            { required: true, message: '璇疯緭鍏ユ搷浣滃伐纭鎰忚' }
-          ],
-          faultReason: [
-            { required: true, message: '璇疯緭鍏ユ晠闅滃師鍥�' }
-          ],
-          repairDescription: [
-            { required: true, message: '璇疯緭鍏ョ淮淇粨鏋滄弿杩�' }
-          ]
+          toolbarConfig: {
+            // prefix 鍓嶇紑锛泂uffix 鍚庣紑
+            slot: ['prefix', 'suffix'],
+            // add 鏂板鎸夐挳锛況emove 鍒犻櫎鎸夐挳锛沜learSelection 娓呯┖閫夋嫨鎸夐挳
+            btn: ['add', 'remove', 'clearSelection']
+          }
         },
-        approveData: {},
         visible: false,
         // 琛ㄥご
         url: {
-          queryBomDataById: '/eam/eamRepairOrder/queryById',
+          queryById: '/eam/eamRepairOrder/queryByReportId',
           diagramView: '/assign/flow/diagramView',
-          queryHisTaskList: '/assign/flow/queryHisTaskList',
-          approve: '/eam/eamRepairOrder/perform'
+          approve: '/eam/eamRepairOrder/perform',
+          detail: '/eam/eamRepairPerson/list'
         }
       }
     },
     computed: {
-      repairConfirm() {
-        return ['WAIT_INTERNAL_CONFIRM', 'UNDER_INTERNAL_REPAIR', 'WAIT_LEADER_CONFIRM', 'WAIT_EXTERNAL_CONFIRM', 'UNDER_EXTERNAL_REPAIR', 'UNDER_OUTSIDE_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus)
-      },
-      underInternalRepair() {
-        return ['UNDER_INTERNAL_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus)
-      },
-      leaderConfirm() {
-        return ['UNDER_INTERNAL_REPAIR', 'WAIT_LEADER_CONFIRM', 'WAIT_EXTERNAL_CONFIRM', 'UNDER_EXTERNAL_REPAIR', 'UNDER_OUTSIDE_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus)
-      },
-      externalConfirm() {
-        return ['WAIT_EXTERNAL_CONFIRM', 'UNDER_EXTERNAL_REPAIR', 'UNDER_OUTSIDE_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus)
-      },
-      underExternalRepair() {
-        return ['UNDER_EXTERNAL_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus)
-      },
-      underOutsideRepair() {
-        return ['UNDER_OUTSIDE_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus)
-      },
       operatorConfirm() {
-        return ['WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus)
+        return ['WAIT_CONFIRM', 'COMPLETE'].includes(this.model.repairStatus)
       }
     },
     methods: {
       /**
-       * 鑾峰彇娴佺▼鑺傜偣鍜屾祦绋嬪浘
-       * @param record 寰呭姙璁板綍淇℃伅
+       * 涓婚〉闈㈢偣鍑绘墽琛屽鎵规椂瑙﹀彂
+       * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍
        */
-      getAllApproveData(record) {
-        if (!record.procInstId) return
-        console.log('record----->', record)
-        const { procInstId, processDefinitionId, processInstanceId, processDefinitionKey } = record
-        const param = { procInstId }
-        const imageParam = { processDefinitionId, processInstanceId, TaskDefinitionKey: processDefinitionKey }
+      async handleDetail(record) {
+        this.spinning = true
+        this.activeTabKey = '1'
+        this.model = {}
+        this.getBasicInformationByApi(record)
+        this.getFlowChartImageByApi(record)
+        this.loadDetail(record.dataId)
+      },
+
+      /**
+       * 涓婚〉闈㈢偣鍑昏鎯呮椂瑙﹀彂
+       * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍
+       */
+      recordDetail(record) {
+        this.spinning = true
+        this.activeTabKey = 1
+        this.model = Object.assign({}, record)
+        this.loadDetail(record.id)
+      },
+
+      /**
+       * 鑾峰彇鍩虹淇℃伅
+       * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍
+       */
+      getBasicInformationByApi(record) {
         const that = this
-
-        getAction(this.url.queryHisTaskList, param)
+        getAction(this.url.queryById, { id: record.dataId })
           .then(res => {
-            that.hitaskDataSource = res.result
+            if (res.success) {
+              that.model = Object.assign({}, res.result[0])
+              that.model.dataId = record.dataId
+              that.model.taskId = record.id
+              that.model.userId = record.assignee
+              that.model.instanceId = record.procInstId
+            }
+            else {
+              that.$notification.warning({
+                message: '娑堟伅',
+                description: res.message
+              })
+            }
           })
+      },
 
-        downFile(this.url.diagramView, imageParam, 'get')
+      /**
+       * 鑾峰彇娴佺▼鍥�
+       * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍
+       */
+      getFlowChartImageByApi(record) {
+        const { processDefinitionId, processInstanceId, processDefinitionKey } = record
+
+        downFile(this.url.diagramView, {
+          processDefinitionId,
+          processInstanceId,
+          TaskDefinitionKey: processDefinitionKey
+        }, 'get')
           .then((res => {
-            const urlObject = window.URL.createObjectURL(new Blob([res]))
-            that.imageSrc = urlObject
+            this.imageSrc = window.URL.createObjectURL(new Blob([res]))
           }))
           .catch(err => {
-            that.$notification.error({
+            this.$notification.error({
               message: '娑堟伅',
-              description: res.message
+              description: err.message
             })
           })
       },
 
       /**
-       * 鑾峰彇寰呭姙璁板綍鐨勫熀鏈俊鎭�
-       * @param record 寰呭姙璁板綍淇℃伅
+       * 鑾峰彇缁翠慨浜烘槑缁�
+       * @param repairId
        */
-      getBasicInformation(record) {
-        this.spinning = true
-        const that = this
-        const param = { id: record.dataId }
-        this.tableRowRecord = {}
-        this.activeTabKey = '1'
-        getAction(this.url.queryBomDataById, param)
-          .then((res => {
-            if (res.success) {
-              that.tableRowRecord = Object.assign({}, res.result, {
-                isUseSpare: res.result.isUseSpare === null ? 0 : res.result.isUseSpare,
-                imageFiles: JSON.parse(res.result.imageFiles),
-                reportImageFiles: JSON.parse(res.result.reportImageFiles)
-              })
-              console.log('this.tableRowRecord----->', that.tableRowRecord)
-            }
-          }))
+      loadDetail(repairId) {
+        getAction(this.url.detail, { repairId })
+          .then(res => {
+            if (res.success) this.detail.dataSource = res.result
+          })
           .finally(() => {
-            that.spinning = false
+            this.spinning = false
           })
       },
+
 
       submitForm() {
         const that = this
@@ -428,41 +276,25 @@
         this.$refs.form.validate(valid => {
           if (valid) {
             that.confirmLoading = that.spinning = true
-            const { confirmComment, externalConfirm, externalConfirmComment, repairConfirm, repairConfirmComment, leaderConfirm, leaderConfirmComment, faultReason, repairDescription, imageFiles, equipmentId } = that.tableRowRecord
-            const { dataId, id, procInstId, taskDefKey, variables } = that.selectShenpiData
-
-            const flowTaskVo = {}
-            flowTaskVo.repairConfirm = repairConfirm
-            flowTaskVo.repairConfirmComment = repairConfirmComment
-            flowTaskVo.leaderConfirm = leaderConfirm
-            flowTaskVo.leaderConfirmComment = leaderConfirmComment
-            flowTaskVo.externalConfirm = externalConfirm
-            flowTaskVo.externalConfirmComment = externalConfirmComment
-            flowTaskVo.confirmComment = confirmComment
-
-            flowTaskVo.faultReason = faultReason
-            flowTaskVo.repairDescription = repairDescription
-            flowTaskVo.imageFilesResult = imageFiles
-            flowTaskVo.equipmentId = equipmentId
-            flowTaskVo.id = dataId
-            flowTaskVo.dataId = dataId
-            flowTaskVo.taskId = id
-            flowTaskVo.instanceId = procInstId
-            flowTaskVo.targetKey = taskDefKey
-            flowTaskVo.values = variables
-            console.log('琛ㄥ崟鎻愪氦鏁版嵁', flowTaskVo)
-            httpAction(this.url.approve, flowTaskVo, 'post')
+            httpAction(this.url.approve, that.model, 'post')
               .then((res) => {
                 if (res.success) {
-                  that.$message.success(res.message)
+                  that.$notification.success({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
                   that.handCancel()
-                  that.$emit('searchReset')
+                  that.$emit('modalFormOk')
                 } else {
-                  that.$message.warning(res.message)
+                  that.$notification.warning({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
                 }
-              }).finally(() => {
-              that.confirmLoading = that.spinning = false
-            })
+              })
+              .finally(() => {
+                that.confirmLoading = that.spinning = false
+              })
           } else {
             return false
           }
@@ -475,4 +307,27 @@
       }
     }
   }
-</script>
\ No newline at end of file
+</script>
+
+<style scoped lang="less">
+  /deep/ .ant-spin-nested-loading {
+    height: 100%;
+
+    .ant-spin-container {
+      height: 100%;
+
+      .ant-form {
+        height: 100%;
+
+        #outer-row {
+          height: 100%;
+
+          .scroll-col {
+            height: 100%;
+            overflow: auto;
+          }
+        }
+      }
+    }
+  }
+</style>

--
Gitblit v1.9.3