From b903759eab59a5f4ad35af0985da12d42d419ec0 Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期四, 10 四月 2025 10:46:14 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue         |  337 +++++++++++++++++++++++++++++++++++++
 src/views/flowable/workflow/FlowTodo.vue                                     |   27 ++
 src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue |  118 ++++--------
 3 files changed, 396 insertions(+), 86 deletions(-)

diff --git a/src/views/flowable/workflow/FlowTodo.vue b/src/views/flowable/workflow/FlowTodo.vue
index 510cacd..42b5430 100644
--- a/src/views/flowable/workflow/FlowTodo.vue
+++ b/src/views/flowable/workflow/FlowTodo.vue
@@ -105,7 +105,8 @@
     <DispatchFileBachHandleStyle ref="modalFormDispatchFileBatch" @searchReset="searchReset" @ok="modalFormOk"></DispatchFileBachHandleStyle>
     <InspectionOrderHandle ref="modalFormInspectionOrder" :selectShenpiData="selectInspectionOrderData" @searchReset="searchReset"></InspectionOrderHandle>
     <InspectionOrderHandleBzz ref="modalFormInspectionOrderBzz" :selectShenpiData="selectInspectionOrderDataBzz" @searchReset="searchReset"></InspectionOrderHandleBzz>
-    <week-maintenance-approval-modal ref = "weekMaintenanceApprovalModal" :maintenanceId="dataId"></week-maintenance-approval-modal>
+    <week-maintenance-approval-modal ref = "weekMaintenanceApprovalModal" ></week-maintenance-approval-modal>
+    <repair-order-approval-modal ref="repairOrderApprovalModal" :selectShenpiData="selectRepairOrderData" ></repair-order-approval-modal>
   </a-card>
 </template>
 
@@ -118,9 +119,10 @@
 import AssignFileStreamHandle from '@views/flowable/workflow/assignFileStream/AssignFileStreamHandle.vue'
 import DispatchFileHandle from '@views/flowable/workflow/dispatchFile/DispatchFileHandle.vue'
 import DispatchFileBachHandleStyle from '@views/flowable/workflow/dispatchFile/DispatchFileBachHandleStyle#Drawer.vue'
+import WeekMaintenanceApprovalModal from '@views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal'
+import RepairOrderApprovalModal from '@views/flowable/workflow/repairOrder/RepairOrderApprovalModal'
 import InspectionOrderHandle from '@views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue'
 import InspectionOrderHandleBzz from '@views/flowable/workflow/InspectionOrder/InspectionOrderHandleBzz.vue'
-import WeekMaintenanceApprovalModal from '@views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal';
 
 import { getAction } from '@api/manage'
 export default {
@@ -131,9 +133,10 @@
     JDictSelectTag,
     DispatchFileHandle,
     DispatchFileBachHandleStyle,
+    WeekMaintenanceApprovalModal,
+    RepairOrderApprovalModal,
     InspectionOrderHandle,
     InspectionOrderHandleBzz,
-    WeekMaintenanceApprovalModal
   },
   data () {
     return {
@@ -211,6 +214,7 @@
       selectInspectionOrderData:{},
       selectInspectionOrderDataBzz:{},
       selectBachData:{},
+      selectRepairOrderData: {},
       //涓氬姟淇℃伅ID
       dataId: undefined,
     }
@@ -241,6 +245,9 @@
           break
         case 'WEEK_MAINTENANCE':
           this.handleWeekMaintenance(item)
+          break
+        case 'eam_repair':
+          this.handleRepairOrder(item)
           break
         default:
           alert('娌℃壘鍒拌娴佺▼')
@@ -308,10 +315,16 @@
       }
     },
     handleWeekMaintenance(item) {
-      this.dataId = item.dataId;
-      this.$refs.weekMaintenanceApprovalModal.add()
-      this.$refs.weekMaintenanceApprovalModal.title = item.preNode;
-      this.$refs.weekMaintenanceApprovalModal.disableSubmit = false;
+      if(item && item.dataId) {
+        this.$refs.weekMaintenanceApprovalModal.handleDetail(item.dataId)
+        this.$refs.weekMaintenanceApprovalModal.title = item.name;
+        this.$refs.weekMaintenanceApprovalModal.disableSubmit = false;
+      }
+    },
+    handleRepairOrder(item) {
+      this.selectRepairOrderData = item
+      this.$refs.repairOrderApprovalModal.clearTableSource()
+      this.$refs.repairOrderApprovalModal.getAllApproveData(item)
     }
   }
 }
diff --git a/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue b/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue
new file mode 100644
index 0000000..01a921c
--- /dev/null
+++ b/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue
@@ -0,0 +1,337 @@
+<template>
+  <a-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    :footer="null"
+    @cancel="handCancel"
+  >
+    <a-card :bordered="false">
+      <div>
+        <b>{{ selectShenpiData.title }}</b>
+        <br>
+        <br>
+        <a-tag color="blue">
+          澶勭悊浜� {{ selectShenpiData.assignee }}
+        </a-tag>
+        <a-tag color="blue">
+          鍒涘缓鏃堕棿 {{ selectShenpiData.createTime }}
+        </a-tag>
+        <br>
+        <br>
+        <button @click="fetchAndShowBmp" class="btn-custom">鎵撳紑娴佺▼鍥�</button>
+        <div v-if="imageSrc">
+          <img :src="imageSrc" alt="Fetched Image" />
+        </div>
+        <hr class="shallow-hr">
+      </div>
+      <div>
+        <b>鎸囨淳璇︽儏</b>
+        <br>
+        <a-form :form='form'>
+          <a-spin :spinning="spinning">
+            <a-tabs default-active-key='1' @change='callback'>
+              <a-tab-pane key='1' tab='鍩烘湰淇℃伅'>
+                <a-form-model ref='form' :model='tableRowRecord' :rules='validatorRules'>
+                  <a-row>
+                    <a-col :span='span'>
+                      <a-form-model-item label='浜у搧鍚嶇О' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='productName'>
+                        <a-input :disabled='coldisabled' v-model='tableRowRecord.productName'></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item label='閮ㄤ欢鍚嶇О' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='componentId'>
+                        <a-input :disabled='coldisabled' v-model='tableRowRecord.componentName'></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                  </a-row>
+                </a-form-model>
+              </a-tab-pane>
+              <a-tab-pane key='2' tab='娴佺▼鑺傜偣'>
+                <a-card>
+                  <a-timeline style="padding:0 1% 0 12%" >
+                    <a-timeline-item color='white' v-for="(item,index1) in hitaskDataSource" :key="index1">
+                      <div class="bottom">
+                        <p>寮�濮嬫椂闂达細{{item.startTime}}</p>
+                        <p>缁撴潫鏃堕棿锛歿{item.endTime}}</p>
+                        <p>澶勭悊浜猴細{{item.assignee}}</p>
+                        <p>鍔炵悊绫诲瀷锛歿{item.bllx_dictText}}</p>
+                        <p v-if="item.name == '鎻愪氦鐢宠'">鎸囨淳鍘熷洜锛歿{item.cause}}</p>
+                        <p v-else >澶勭悊鎰忚锛歿{item.cause}}</p>
+                        <div  class="left_qiu"><span>{{item.name}}</span></div>
+                      </div>
+                    </a-timeline-item>
+                  </a-timeline>
+                </a-card>
+              </a-tab-pane>
+            </a-tabs>
+          </a-spin>
+        </a-form>
+      </div>
+      <div>
+        <hr class="shallow-hr">
+        <br>
+        <b>瀹℃壒璇︽儏</b>
+        <br>
+        <a-form-model ref="form" :model="approveData" :rules="validatorRules" slot="detail">
+          <a-row>
+            <a-col :span="24" class="btxx">
+              <a-form-item label="瀹℃壒鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                <j-dict-select-tag  type='list' v-model='assignFileStream.status' dictCode='dnc_assign_stream_status' placeholder="璇烽�夋嫨瀹℃壒鐘舵��"  />
+              </a-form-item>
+            </a-col>
+            <a-col :span="24" class="btxx">
+              <a-form-model-item  label="瀹℃壒鎰忚" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                <a-textarea v-model="assignFileStream.approveContent" rows="4" placeholder="璇疯緭鍏ュ鎵规剰瑙�"/>
+              </a-form-model-item >
+            </a-col>
+          </a-row>
+          <div class="table-operator" style="text-align: right;">
+            <a-button  @click="handleQueXiaoTask" type="primary" icon="close">鍙栨秷</a-button>
+            <a-button @click="submitForm">鎻� 浜�</a-button>
+          </div>
+        </a-form-model>
+      </div>
+    </a-card>
+
+
+  </a-modal>
+</template>
+
+<script>
+
+import '@assets/less/TableExpand.less'
+import { mixinDevice } from '@/utils/mixin'
+import { getAction, deleteAction, postAction, downFile, httpAction } from '@api/manage'
+
+export default {
+  name: 'RepairOrderApprovalModal',
+  mixins: [mixinDevice],
+  props: {
+    selectShenpiData: {
+      type: Object,
+      required: true
+    }
+  },
+
+  data() {
+    return {
+      form: this.$form.createForm(this),
+      span: 12,
+      span1: 8,
+      coldisabled: true,
+      spinning: false,
+      tableRowRecord: {},
+      assignFileStream:{},
+      tableDataSource: [],
+      usageDataSource: [],
+      hitaskDataSource:[],
+      bomForm: {},
+      approveContent:"",
+      imageSrc: null,
+      drawerVisible: true,
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 5 }
+      },
+      wrapperCol: {
+        xs: { span: 30 },
+        sm: { span: 16 }
+      },
+      validatorRules: {
+      },
+      approveData: {},
+      flowData: {},
+      title: '',
+      width: 1000,
+      visible: false,
+      // 琛ㄥご
+      url: {
+        queryBomDataById: '/eam/eamRepairOrder/queryById',
+        diagramView: '/assign/flow/diagramView',
+        queryHisTaskList:'/assign/flow/queryHisTaskList',
+        approve:"/activit/assign/file/approve",
+      },
+      dictOptions: {},
+      superFieldList: [],
+      workflowSource: []
+    }
+  },
+  created() {
+  },
+  computed: {},
+  methods: {
+    callback() {
+    },
+    handCancel() {
+      this.visible = false
+    },
+    clearTableSource() {
+      this.tableDataSource = []
+      this.usageDataSource = []
+    },
+    fetchAndShowBmp() {
+      console.log('flowData----->', this.flowData)
+      try {
+        let parm = {
+          processDefinitionId: this.flowData.processDefinitionId,
+          processInstanceId:this.flowData.processInstanceId,
+          TaskDefinitionKey:this.flowData.processDefinitionKey
+        }
+        downFile(this.url.diagramView,parm,'get').then((res=>{
+          console.log('Pica------>',res)
+          const urlObject = window.URL.createObjectURL(new Blob([res]))
+          this.imageSrc = urlObject
+        }))
+      } catch (error) {
+        console.error('Error fetching image blob:', error)
+        alert('鏃犳硶鍔犺浇鍥剧墖锛岃绋嶅悗鍐嶈瘯銆�')
+      }
+    },
+    handleQueXiaoTask(){
+      this.visible = false
+      this.routeReload()
+    },
+    submitForm () {
+      const that = this;
+      if (!that.assignFileStream.status==null || that.assignFileStream.status===undefined){
+        this.$message.warning('璇烽�夋嫨瀹℃壒鐘舵�侊紒')
+        return false;
+      }
+      if (!that.assignFileStream.approveContent==null || that.assignFileStream.approveContent===undefined) {
+        this.$message.warning('璇疯緭鍏ュ鎵规剰瑙侊紒')
+        return false;
+      }
+      // 瑙﹀彂琛ㄥ崟楠岃瘉
+      this.form.validateFields((err, values) => {
+        if (!err) {
+          that.confirmLoading = true;
+          let url=this.url.approve
+          let method = 'post';
+          let flowTaskVo = {}
+          flowTaskVo.status=that.assignFileStream.status;
+          flowTaskVo.approveContent =that.assignFileStream.approveContent;
+          flowTaskVo.comment =that.assignFileStream.approveContent;
+          flowTaskVo.secretLevel = that.assignFileStream.secretLevel;
+          flowTaskVo.dataId = this.selectShenpiData.dataId
+          flowTaskVo.taskId = this.selectShenpiData.id
+          flowTaskVo.userId = this.selectShenpiData.assignee
+          flowTaskVo.instanceId = this.selectShenpiData.procInstId
+          flowTaskVo.targetKey = this.selectShenpiData.taskDefKey
+          flowTaskVo.values = this.selectShenpiData.variables
+          flowTaskVo.assignee = this.selectShenpiData.assignee
+          flowTaskVo.secretLevel = that.assignFileStream.secretLevel;
+          console.log("琛ㄥ崟鎻愪氦鏁版嵁",flowTaskVo)
+          httpAction(url,flowTaskVo,method).then((res)=>{
+            if(res.success){
+              that.$message.success(res.message);
+              that.$emit('ok');
+            }else{
+              that.$message.warning(res.message);
+            }
+          }).finally(() => {
+            that.confirmLoading = false;
+          })
+        }
+
+      })
+    },
+    getAllApproveData(item) {
+      console.log('selectShenpiData----->', this.selectShenpiData)
+      this.flowData = item
+      let param = {
+        'id': item.dataId
+      }
+      let parmhis={
+        'procInstId': item.dataId
+      }
+      getAction(this.url.queryHisTaskList,parmhis).then(res=>{
+        this.hitaskDataSource=res.result
+        getAction(this.url.queryBomDataById, param).then((res => {
+          if (res.success) {
+            this.tableRowRecord = res.result
+            console.log('this.tableRowRecord----->', this.tableRowRecord)
+          }
+        }))
+      }).finally(
+        this.visible = true,
+        console.log('this.approveData---->', this.approveData)
+      )
+    }
+  }
+}
+</script>
+<style scoped>
+.shallow-hr {
+  border: 0;
+  height: 1px; /* 鍒嗙晫绾跨殑楂樺害 */
+  background-color: rgba(0, 0, 0, 0.1); /* 浣跨敤 RGBA 棰滆壊锛屽苟璁剧疆杈冧綆鐨勯�忔槑搴� */
+  margin: 20px 0; /* 鍒嗙晫绾夸笂涓嬬殑澶栬竟璺� */
+}
+.btn-custom {
+  background-color: #4CAF50; /* 缁胯壊鑳屾櫙 */
+  color: white; /* 鐧借壊鏂囧瓧 */
+  border: none; /* 鏃犺竟妗� */
+  padding: 5px 15px; /* 鍐呰竟璺� */
+  text-align: center; /* 鏂囧瓧灞呬腑 */
+  text-decoration: none; /* 鏃犱笅鍒掔嚎 */
+  display: inline-block; /* 琛屽唴鍧楀厓绱� */
+  font-size: 12px; /* 瀛椾綋澶у皬 */
+  margin: 4px 2px; /* 澶栬竟璺� */
+  cursor: pointer; /* 榧犳爣鎮仠鏃舵樉绀烘墜鍨� */
+  border-radius: 4px; /* 鍦嗚杈规 */
+}
+
+.bold-large-label {
+  font-weight: bold;
+  font-size: 20px; /* 鎴栦綘闇�瑕佺殑浠讳綍澶у皬 */
+}
+.left_qiu{
+  position: absolute;
+  left: -74px;
+  top: 0;
+  width:54px;
+  border-radius: 50%;
+  height:54px;
+  font-size: 13px;
+  margin: auto;
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  justify-content: center;
+  background: #0099ff;
+  transform: translate(0, 0);
+}
+/deep/ .ant-timeline-item-tail{
+  left: -29px !important;
+}
+.left_qiu span{
+  width: 3em;
+  display: block;
+  color: #fff;
+  text-align: center;
+}
+.img{
+  width: 75%;
+}
+
+.wrap{
+  clear: both;
+  width: 100%;
+  display: flex;
+  height: 50px;
+  border: 1px solid #ccc;
+  /* background-color: aqua; */
+}
+.box{
+  width:21%;
+  height:50px;
+  border-right: 1px solid #ccc;
+  line-height: 50px;
+  /* background: red; */
+  text-align:center;
+  margin: auto;
+}
+
+@import '~@assets/less/common.less';
+</style>
\ No newline at end of file
diff --git a/src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue b/src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue
index 220a1e6..aed2480 100644
--- a/src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue
+++ b/src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue
@@ -11,7 +11,7 @@
 
     <a-spin :spinning="confirmLoading">
       <a-form-model ref="form" :model="model" :rules="validatorRules">
-        <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 璁惧鍩虹淇℃伅
+        <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 淇濆吇鍩虹淇℃伅
         </a-divider>
         <a-row :gutter="24">
           <a-col :span="8">
@@ -23,7 +23,7 @@
             <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧缂栫爜">
               <maintenance-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="model.equipmentId"
                                             :maintenanceCategory="maintenanceCategory"
-                                            @autocompleteForm="autocompleteForm" :disabled="editable"></maintenance-equipment-select>
+                                            @autocompleteForm="autocompleteForm" disabled></maintenance-equipment-select>
             </a-form-model-item>
           </a-col>
           <a-col :span="8">
@@ -35,13 +35,13 @@
         <a-row :gutter="24">
           <a-col :span="8">
             <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenanceDate" label="淇濆吇鏃ユ湡">
-              <a-date-picker placeholder="璇烽�夋嫨璁″垝淇濆吇鏃ユ湡" v-model="model.maintenanceDate" format="YYYY-MM-DD"
+              <a-date-picker placeholder="璇烽�夋嫨璁″垝淇濆吇鏃ユ湡" v-model="model.maintenanceDate" format="YYYY-MM-DD" disabled
                              style="width: 100%" />
             </a-form-model-item>
           </a-col>
           <a-col :span="8">
             <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operator" label="淇濆吇浜�">
-              <j-search-select-tag v-model="model.operator" placeholder="璇烽�夋嫨淇濆吇浜�"
+              <j-search-select-tag v-model="model.operator" placeholder="璇烽�夋嫨淇濆吇浜�" disabled
                                    :dictOptions="maintenanceOperatorOptions" />
             </a-form-model-item>
           </a-col>
@@ -53,9 +53,12 @@
         </a-row>
         <a-row :gutter="24">
           <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" prop="remark" label="澶囨敞">
-            <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.remark" />
+            <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.remark" disabled />
           </a-form-model-item>
         </a-row>
+
+        <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 淇濆吇椤逛俊鎭�
+        </a-divider>
         <a-row :gutter="24">
           <j-vxe-table
             ref="editableDetailTable"
@@ -72,6 +75,12 @@
             :columns="detail.columns"
             style="margin-top: 8px;" />
         </a-row>
+        <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 鐝粍闀跨‘璁や俊鎭�
+        </a-divider>
+        <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 鍒濋獙鏀朵俊鎭�
+        </a-divider>
+        <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 缁堥獙鏀朵俊鎭�
+        </a-divider>
       </a-form-model>
     </a-spin>
   </j-modal>
@@ -84,15 +93,8 @@
 import MaintenanceEquipmentSelect from '@views/eam/equipment/modules/MaintenanceEquipmentSelect'
 
 export default {
-  name: 'EamWeekMaintenanceOrderModal',
+  name: 'WeekMaintenanceApprovalModal',
   mixins: [JVxeTableModelMixin],
-  props: {
-    maintenanceId: {
-      type: String,
-      default: '',
-      required: true,
-    }
-  },
   components: {
     MaintenanceEquipmentSelect
   },
@@ -100,6 +102,12 @@
     return {
       title: '鎿嶄綔',
       visible: false,
+      //鐘舵�佹帶鍒�
+      //淇濆吇涓� 涓嶅彲缂栬緫
+      underMaintenanceDisable : false,
+      confirmDisable : false,
+      initialAcceptanceDisable : false,
+      finalAcceptanceDisable : false,
       editable: false,
       model: {},
       maintenanceCategory: 'WEEK_MAINTENANCE',
@@ -124,10 +132,9 @@
       validatorRules: {
       },
       url: {
-        add: '/eam/weekMaintenanceOrder/add',
-        edit: '/eam/weekMaintenanceOrder/edit',
-        standardDetail: '/eam/eamMaintenanceStandardDetail/queryList',
+        queryById: '/eam/weekMaintenanceOrder/queryById',
         detail: '/eam/weekMaintenanceOrderDetail/queryList',
+        approval : '/eam/weekMaintenanceOrder/approval',
         userSelect: '/eam/user_select/list',
       },
       detail: {
@@ -147,46 +154,37 @@
           {
             title: '搴忓彿',
             key: 'itemCode',
-            type: JVXETypes.inputNumber,
+            type: JVXETypes.normal,
             width: '10%',
             align: 'center',
-            validateRules: [
-              { required: true, unique: true, message: '搴忓彿涓嶈兘閲嶅' }
-            ]
           },
           {
             title: '淇濆吇椤�',
             key: 'itemName',
-            type: JVXETypes.textarea,
+            type: JVXETypes.normal,
             width: '20%',
             align: 'center',
-            validateRules: [
-              { required: true, message: '淇濆吇椤逛笉鑳戒负绌猴紒' }
-            ]
           },
           {
             title: '瀛愪繚鍏婚」',
             key: 'subItemName',
-            type: JVXETypes.textarea,
+            type: JVXETypes.normal,
             width: '25%',
             align: 'center'
           },
           {
             title: '淇濆吇瑕佹眰',
             key: 'itemDemand',
-            type: JVXETypes.textarea,
+            type: JVXETypes.normal,
             width: '30%',
             align: 'center',
-            validateRules: [
-              { required: true, message: '淇濆吇瑕佹眰涓嶈兘涓虹┖锛�' }
-            ]
           }
         ],
         toolbarConfig: {
           // prefix 鍓嶇紑锛泂uffix 鍚庣紑
           slot: ['prefix', 'suffix'],
           // add 鏂板鎸夐挳锛況emove 鍒犻櫎鎸夐挳锛沜learSelection 娓呯┖閫夋嫨鎸夐挳
-          btn: ['add', 'remove', 'clearSelection']
+          btn: ['clearSelection']
         }
       }
     }
@@ -194,20 +192,14 @@
   created() {
   },
   methods: {
-    add() {
-      //鍒濆鍖栭粯璁ゅ��
-      this.model = {}
-      this.visible = true
-      this.editable = false
+    async handleDetail(dataId) {
+      this.loading = true;
+      this.visible = true;
       this.detail.dataSource = []
-      this.loadMaintenanceOperatorList();
-    },
-    edit(record) {
-      this.model = Object.assign({}, record)
-      this.visible = true
-      this.editable = true
-      this.detail.dataSource = []
-      this.loadDetail(record.id)
+      let res = await getAction(this.url.queryById, {id: dataId});
+      this.model = Object.assign({}, res.result);
+      await this.loadDetail(dataId);
+      this.loading = false;
     },
     close() {
       this.$emit('close')
@@ -225,20 +217,12 @@
       this.$refs.form.validate(valid => {
         if (valid) {
           let tableData = that.$refs.editableDetailTable.getTableData()
-          let removeData = that.$refs.editableDetailTable.getDeleteData()
           that.model.tableDetailList = [...tableData]
-          that.model.removeDetailList = [...removeData]
 
           that.confirmLoading = true
-          let httpurl = ''
-          let method = ''
-          if (!this.model.id) {
-            httpurl += this.url.add
-            method = 'post'
-          } else {
-            httpurl += this.url.edit
-            method = 'put'
-          }
+          let httpurl = this.url.approval
+          let method = 'put'
+
           httpAction(httpurl, this.model, method).then((res) => {
             if (res.success) {
               that.$message.success(res.message)
@@ -259,16 +243,6 @@
       this.close()
     },
     autocompleteForm(selectObj) {
-      //鏍囧噯鍚嶇О锛屼繚鍏诲懆鏈熶笉鍒锋柊瑙e喅鍔炴硶
-      //鍔炴硶涓�  validatorRules equipmentId 杩樻槸鏈夐棶棰�
-      // const newObj = {
-      //   standardName: selectObj.standardName,
-      //   maintenancePeriod: selectObj.maintenancePeriod,
-      //   standardId : selectObj.id,
-      //   equipmentId: selectObj.equipmentId,
-      // };
-      // this.model = Object.assign({}, newObj, this.model)
-      //鍔炴硶浜�
       this.$set(this.model, 'standardName', selectObj.standardName)
       this.$set(this.model, 'maintenancePeriod', selectObj.maintenancePeriod)
       this.$set(this.model, 'standardId', selectObj.id)
@@ -277,22 +251,8 @@
       if (!this.model.id) {
         this.loadStandardDetail(selectObj.id)
       }
+      debugger
       this.loadMaintenanceOperatorList(this.model.equipmentId);
-    },
-    //鍔犺浇璇︽儏鏁版嵁
-    loadStandardDetail(standardId) {
-      if (standardId) {
-        getAction(this.url.standardDetail, { standardId: standardId }).then(res => {
-          if (res.success) {
-            this.detail.dataSource = res.result.map(item => ({
-              itemCode: item.itemCode,
-              itemName: item.itemName,
-              subItemName: item.subItemName,
-              itemDemand: item.itemDemand
-            }))
-          }
-        })
-      }
     },
     //鏍囧噯閫夋嫨鍙樺寲
     loadDetail(orderId) {

--
Gitblit v1.9.3