From 28c3bcfbacc7af60e93210ba654fd681002a6849 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期四, 14 八月 2025 15:59:09 +0800
Subject: [PATCH] 加流程节点  维修工单添加 领取按钮 领取后 生成维修开始时间  提交后 生成维修结束时间 计算 维修时长  故障时长

---
 src/views/eam/repair/modules/EamReportThreeNoSpareModal.vue |  119 ++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 93 insertions(+), 26 deletions(-)

diff --git a/src/views/eam/repair/modules/EamReportThreeNoSpareModal.vue b/src/views/eam/repair/modules/EamReportThreeNoSpareModal.vue
index 5fcb92f..4e9d98d 100644
--- a/src/views/eam/repair/modules/EamReportThreeNoSpareModal.vue
+++ b/src/views/eam/repair/modules/EamReportThreeNoSpareModal.vue
@@ -1,60 +1,127 @@
 <template>
   <j-modal
     :title="title"
-    :width="width"
+    :width="800"
     :visible="visible"
+    :confirmLoading="confirmLoading"
     switchFullscreen
     @ok="handleOk"
-    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
     @cancel="handleCancel"
     cancelText="鍏抽棴">
-    <eam-report-three-no-spare-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></eam-report-three-no-spare-form>
+
+    <a-spin :spinning="confirmLoading">
+      <a-form-model ref="form" :model="model" :rules="validatorRules">
+        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="causeAnalysis" label="鍘熷洜鍒嗘瀽">
+          <a-textarea :rows="3" placeholder="璇疯緭鍏ュ師鍥犲垎鏋�" v-model="model.causeAnalysis"/>
+        </a-form-model-item>
+        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="causeAnalysis" label="棰勯槻鎺柦">
+          <a-textarea :rows="3" placeholder="璇疯緭鍏ラ闃叉帾鏂�" v-model="model.preventionMeasures"/>
+        </a-form-model-item>
+        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="isTrainingEducation" label="鍩硅鏁欒偛">
+          <j-dict-select-tag dict-code="yn"  placeholder="璇烽�夋嫨鍩硅鏁欒偛" v-model="model.isTrainingEducation"/>
+        </a-form-model-item>
+        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="trainingFormat" label="鍩硅褰㈠紡">
+          <a-textarea :rows="3" placeholder="璇疯緭鍏ュ煿璁舰寮�" v-model="model.trainingFormat"/>
+        </a-form-model-item>
+        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="trainingContent" label="鍩硅鍐呭">
+          <a-textarea :rows="3" placeholder="璇疯緭鍏ュ煿璁唴瀹�" v-model="model.trainingContent"/>
+        </a-form-model-item>
+
+      </a-form-model>
+    </a-spin>
   </j-modal>
 </template>
 
 <script>
+  import { httpAction } from '@/api/manage'
+  import moment from "moment"
 
-  import EamReportThreeNoSpareForm from './EamReportThreeNoSpareForm'
   export default {
-    name: 'EamReportThreeNoSpareModal',
-    components: {
-      EamReportThreeNoSpareForm
-    },
+    name: "EamReportThreeNoSpareModal",
     data () {
       return {
-        title:'',
-        width:800,
+        title:"鎿嶄綔",
         visible: false,
-        disableSubmit: 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: {
+      handleFillIn(record) {
+        this.visible = true
+        this.model = Object.assign({}, record)
+        this.getRepairDetailByApi(record.id)
+      },
       add () {
-        this.visible=true
-        this.$nextTick(()=>{
-          this.$refs.realForm.add();
-        })
+        //鍒濆鍖栭粯璁ゅ��
+        this.edit({});
       },
       edit (record) {
-        this.visible=true
-        this.$nextTick(()=>{
-          this.$refs.realForm.edit(record);
-        })
+        this.model = Object.assign({}, record);
+        this.visible = true;
       },
       close () {
         this.$emit('close');
         this.visible = false;
+        this.$refs.form.clearValidate();
       },
       handleOk () {
-        this.$refs.realForm.submitForm();
-      },
-      submitCallback(){
-        this.$emit('ok');
-        this.visible = false;
+        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>
\ No newline at end of file
+</script>
+
+<style lang="less" scoped>
+
+</style>
\ No newline at end of file

--
Gitblit v1.9.3