“linengliang”
2023-12-12 16d99a3f6da4cebed2376fa42e025b53c2891818
src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue
@@ -4,35 +4,74 @@
    :width="drawerWidth"
    :visible="visible"
    @close="handleCancel"
    :confirmLoading="confirmLoading"
    :loading="confirmLoading"
    :maskClosable="maskClosable"
  >
    <a-card :style="getBackground()">
      <template>
        <a-card>
          <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}">
            <a-row :style="{textAlign:'left'}">
              <a-button
                :style="{marginRight: '8px'}"
                @click="handleStart"
                :loading="confirmLoading"
                :disabled="repairOrder.status!='2'"
                type="primary"
              >开工</a-button>
              <a-button
                :style="{marginRight: '8px'}"
                @click="handleReport"
                :disabled="repairOrder.status!='3'"
                @click="handleSpare"
                :loading="confirmLoading"
                :disabled="repairOrder.status!=='3'
                ||repairOrder.repairOrderUda1==='needSpare'||repairOrder.repairOrderUda1==='needPart'
                ||(repairOrder.repairOrderUda2!==null&&repairOrder.repairOrderUda3!==null)"
                type="primary"
              >报工</a-button>
                v-if="repairOrder.repairOrderUda1!=='needSpare'"
              >等采购件</a-button>
              <a-button
                :style="{marginRight: '8px'}"
                @click="handleSpareStop"
                :loading="confirmLoading"
                type="primary"
                v-if="repairOrder.repairOrderUda1==='needSpare'"
              >等采购件停止</a-button>
              <a-button
                :style="{marginRight: '8px'}"
                @click="handlePart"
                :loading="confirmLoading"
                :disabled="repairOrder.status!='3'
                ||repairOrder.repairOrderUda1==='needPart'||repairOrder.repairOrderUda1==='needSpare'
                ||(repairOrder.repairOrderUda4!==null&&repairOrder.repairOrderUda5!==null)"
                type="primary"
                v-if="repairOrder.repairOrderUda1!=='needPart'"
              >等加工件</a-button>
              <a-button
                :style="{marginRight: '8px'}"
                @click="handlePartStop"
                :loading="confirmLoading"
                type="primary"
                v-if="repairOrder.repairOrderUda1==='needPart'"
              >等加工件停止</a-button>
              <a-button
                :style="{marginRight: '8px'}"
                @click="handleReportPro"
                :loading="confirmLoading"
                :disabled="repairOrder.status!='3'||repairOrder.repairOrderUda1==='needPart'||repairOrder.repairOrderUda1==='needSpare'"
                type="primary"
              >修完</a-button>
              <!-- <a-button
                :style="{marginRight: '8px'}"
                @click="handleRevoke"
                :loading="confirmLoading"
                :disabled="repairOrder.status!='4'"
                type="primary"
              >撤销</a-button>
              >撤销</a-button> -->
            </a-row>
          </div>
          <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}">
            <a-divider
            orientation="center"
            style="font-size: large;font-style: italic;color: #66aeed;"
          > 基础信息 </a-divider>
            <a-row :gutter="24">
              <a-col :span="6">
                <a-form-item
@@ -45,6 +84,23 @@
                    v-if="this.repairOrder != null"
                    class="hightColor"
                  >{{this.repairOrder.status_dictText}}</span>
                  <span
                    v-else
                    class="frozenRowClass"
                  >-</span>
                </a-form-item>
              </a-col>
              <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="维修状态"
                  class="hightColor"
                >
                  <span
                    v-if="this.repairOrder != null"
                    class="hightColor"
                  >{{this.repairOrder.repairOrderUda1_dictText}}</span>
                  <span
                    v-else
                    class="frozenRowClass"
@@ -85,11 +141,13 @@
                  >-</span>
                </a-form-item>
              </a-col>
            </a-row>
            <a-row :gutter="24">
              <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="设备编码"
                  label="统一编码"
                  class="hightColor"
                >
                  <span
@@ -102,8 +160,6 @@
                  >-</span>
                </a-form-item>
              </a-col>
            </a-row>
            <a-row :gutter="24">
              <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
@@ -139,30 +195,13 @@
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="工时定额"
                  label="关键设备?"
                  class="hightColor"
                >
                  <span
                    v-if="this.repairOrder != null"
                    class="hightColor"
                  >{{ this.repairOrder.workingHourQuota }}</span>
                  <span
                    v-else
                    class="frozenRowClass"
                  >-</span>
                </a-form-item>
              </a-col>
              <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="执行人"
                  class="hightColor"
                >
                  <span
                    v-if="this.repairOrder != null"
                    class="hightColor"
                  >{{ this.repairOrder.recipientUserId_dictText}}</span>
                  >{{ this.repairOrder.specificEquipment_dictText}}</span>
                  <span
                    v-else
                    class="frozenRowClass"
@@ -170,15 +209,19 @@
                </a-form-item>
              </a-col>
            </a-row>
            <a-divider
            orientation="center"
            style="font-size: large;font-style: italic;color: #66aeed;"
          > 报修领取信息 </a-divider>
            <a-row :gutter="24">
              <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="开始时间"
                  label="报修时间"
                  class="hightColor"
                >
                  <span v-if="this.repairOrder != null">{{ this.repairOrder.actualStartTime }}</span>
                  <span v-if="this.repairOrder != null">{{ this.repairOrder.faultTime }}</span>
                  <span
                    v-else
                    class="frozenRowClass"
@@ -189,13 +232,10 @@
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="创建人"
                  label="报修人"
                  class="hightColor"
                >
                  <span
                    v-if="this.repairOrder != null"
                    class="hightColor"
                  >{{ this.repairOrder.createBy}}</span>
                  <span v-if="this.repairOrder != null">{{ this.repairOrder.errUda2 }}</span>
                  <span
                    v-else
                    class="frozenRowClass"
@@ -206,13 +246,239 @@
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="创建人"
                  label="领取时间"
                  class="hightColor"
                >
                  <span v-if="this.repairOrder != null">{{ this.repairOrder.createTime }}</span>
                  <span
                    v-if="this.repairOrder != null"
                    class="hightColor"
                  >{{ this.repairOrder.createTime}}</span>
                    v-else
                    class="frozenRowClass"
                  >-</span>
                </a-form-item>
              </a-col>
              <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="领取人"
                  class="hightColor"
                >
                  <span v-if="this.repairOrder != null">{{ this.repairOrder.responsibilityName }}</span>
                  <span
                    v-else
                    class="frozenRowClass"
                  >-</span>
                </a-form-item>
              </a-col>
            </a-row>
            <a-divider
            orientation="center"
            style="font-size: large;font-style: italic;color: #66aeed;"
          > 维修信息 </a-divider>
            <a-row
              :gutter="24"
            >
            <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="开工时间"
                  class="hightColor"
                >
                  <span v-if="this.repairOrder != null">{{ this.repairOrder.actualStartTime}}</span>
                  <span
                    v-else
                    class="frozenRowClass"
                  >-</span>
                </a-form-item>
              </a-col>
              <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="完工时间"
                  class="hightColor"
                >
                  <span v-if="this.repairOrder != null">{{ this.repairOrder.actualEndTime }}</span>
                  <span
                    v-else
                    class="frozenRowClass"
                  >-</span>
                </a-form-item>
              </a-col>
              <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="维修时长"
                  class="hightColor"
                >
                  <span v-if="this.repairOrder != null">{{this.formattedElapsedTime}}</span>
                  <span
                    v-else
                    class="frozenRowClass"
                  >-</span>
                </a-form-item>
              </a-col>
              <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="完成人"
                  class="hightColor"
                >
                  <span v-if="this.repairOrder != null">{{ this.repairOrder.recipientUserId}}</span>
                  <span
                    v-else
                    class="frozenRowClass"
                  >-</span>
                </a-form-item>
              </a-col>
            </a-row>
            <a-divider
            orientation="center"
            style="font-size: large;font-style: italic;color: #66aeed;"
          > 等采购件 </a-divider>
            <a-row
            :gutter="24"
            >
            <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="等采购件开始"
                  class="hightColor"
                >
                  <span v-if="this.repairOrder != null">{{ this.repairOrder.repairOrderUda2}}</span>
                  <span
                    v-else
                    class="frozenRowClass"
                  >-</span>
                </a-form-item>
              </a-col>
              <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="等采购件结束"
                  class="hightColor"
                >
                  <span v-if="this.repairOrder != null">{{ this.repairOrder.repairOrderUda3 }}</span>
                  <span
                    v-else
                    class="frozenRowClass"
                  >-</span>
                </a-form-item>
              </a-col>
              <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="累计时长"
                  class="hightColor"
                >
                  <span v-if="this.repairOrder != null">{{ this.time1 }}</span>
                  <span
                    v-else
                    class="frozenRowClass"
                  >-</span>
                </a-form-item>
              </a-col>
            </a-row>
            <a-divider
            orientation="center"
            style="font-size: large;font-style: italic;color: #66aeed;"
          > 等加工件 </a-divider>
            <a-row
            :gutter="24"
            >
            <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="等加工件开始"
                  class="hightColor"
                >
                  <span v-if="this.repairOrder != null">{{ this.repairOrder.repairOrderUda4 }}</span>
                  <span
                    v-else
                    class="frozenRowClass"
                  >-</span>
                </a-form-item>
              </a-col>
              <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="等加工件结束"
                  class="hightColor"
                >
                  <span v-if="this.repairOrder != null">{{ this.repairOrder.repairOrderUda5 }}</span>
                  <span
                    v-else
                    class="frozenRowClass"
                  >-</span>
                </a-form-item>
              </a-col>
              <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="累计时长"
                  class="hightColor"
                >
                  <span v-if="this.repairOrder != null">{{ this.time2 }}</span>
                  <span
                    v-else
                    class="frozenRowClass"
                  >-</span>
                </a-form-item>
              </a-col>
            </a-row>
            <a-divider
            orientation="center"
            style="font-size: large;font-style: italic;color: #66aeed;"
          > 验收信息 </a-divider>
            <a-row
              :gutter="24"
            >
            <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="验收时间"
                  class="hightColor"
                >
                  <span v-if="this.repairOrder != null">{{ this.repairOrder.acceptTime }}</span>
                  <span
                    v-else
                    class="frozenRowClass"
                  >-</span>
                </a-form-item>
              </a-col>
              <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="验收人"
                  class="hightColor"
                >
                  <span v-if="this.repairOrder != null">{{ this.repairOrder.errUda3 }}</span>
                  <span
                    v-else
                    class="frozenRowClass"
                  >-</span>
                </a-form-item>
              </a-col>
              <a-col :span="6">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label="故障时长"
                  class="hightColor"
                >
                  <span v-if="this.repairOrder != null">{{ this.time3 }}</span>
                  <span
                    v-else
                    class="frozenRowClass"
@@ -221,47 +487,39 @@
              </a-col>
            </a-row>
          </div>
    </a-card>
    <a-card :style="getBackground()">
          <a-tabs
            type="card"
            defaultActiveKey="1"
          >
            <a-tab-pane
              tab='实际用料'
          <a-tab-pane
              tab='故障分析'
              key="1"
              class="hightColor"
            >
              <!-- <actual-material-edit-table
                :repairOrderId="repairOrder.id"
                :repairOrderStatus="repairOrder.status"
              ></actual-material-edit-table> -->
              <RepairOrderActualMaterialList :mainId="repairOrder"/>
              <RepairOrderFaultAnalysisList :repairOrder="repairOrder"/>
            </a-tab-pane>
            <a-tab-pane
              tab='实际工时'
              key="2"
              class="hightColor"
            >
              <!-- <actual-work-hours-edit-table
                :repairOrderId="repairOrder.id"
                :repairOrderStatus="repairOrder.status"
              ></actual-work-hours-edit-table> -->
              <RepairOrderActualWorkHoursList :mainId="repairOrder"/>
            </a-tab-pane>
            <a-tab-pane
              tab='故障分析'
              key="3"
              class="hightColor"
            >
              <!-- <fault-analysis-edit-table
              <RepairOrderActualWorkHoursList
                :repairOrderId="repairOrder.id"
                :repairOrderStatus="repairOrder.status"
              ></fault-analysis-edit-table> -->
              <RepairOrderFaultAnalysisList :mainId="repairOrder"/>
                :teamId="repairOrder.teamId"
              />
            </a-tab-pane>
            <a-tab-pane
              tab='实际用料'
              key="2"
              class="hightColor"
            >
              <RepairOrderActualMaterialList :mainId="repairOrder" />
            </a-tab-pane>
          </a-tabs>
        </a-card>
      </template>
    </a-card>
    <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}">
      <a-row :style="{textAlign:'right'}">
        <a-button
@@ -278,30 +536,35 @@
<script>
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import { putAction } from '@/api/manage'
import dayjs from 'dayjs'
import Tooltip from 'ant-design-vue/es/tooltip'
import ActualMaterialEditTable from './moudles/ActualMaterialEditTable.vue'
import ActualWorkHoursEditTable from './moudles/ActualWorkHoursEditTable.vue'
import FaultAnalysisEditTable from './moudles/FaultAnalysisEditTable.vue'
import RepairOrderActualMaterialList from './moudles/RepairOrderActualMaterialReport.vue'
import RepairOrderActualWorkHoursList from './moudles/RepairOrderActualHoursReport.vue'
import RepairOrderActualMaterialList from './moudles/RepairOrderActualMaterialReport'
import RepairOrderActualWorkHoursList from './moudles/RepairOrderActualHoursReport'
import RepairOrderFaultAnalysisList from './moudles/RepairOrderFaultAnalysisReport.vue'
import { getAction } from '../../../../api/manage'
export default {
  name: 'RepairOrderExcuteDrawer',
  mixins: [JeecgListMixin],
  components: {
    Tooltip,
    ActualMaterialEditTable,
    ActualWorkHoursEditTable,
    FaultAnalysisEditTable,
    RepairOrderActualMaterialList,
    RepairOrderActualWorkHoursList,
    RepairOrderFaultAnalysisList
    RepairOrderFaultAnalysisList,
    dayjs
  },
  props: {
    repairOrder: {
      type: Object,
      required: false,
      default: {}
    },
    repairOrderId: {
      type: String,
      default:'',
    },
    status:{
      type: String,
      default:'',
    }
  },
  data() {
@@ -316,24 +579,43 @@
      dataSource: [],
      labelCol: {
        xs: { span: 24 },
        sm: { span: 6 },
        sm: { span: 12 },
      },
      wrapperCol: {
        xs: { span: 24 },
        sm: { span: 18 },
        sm: { span: 12 },
      },
      url: {
        orderStart: "eam/repairOrder/start",
        orderReport: "eam/repairOrder/report",
        orderRevoke: "eam/repairOrder/revoke"
        orderRevoke: "eam/repairOrder/revoke",
        reload:"/eam/repairOrder/list",
        handleSpare:"/eam/repairOrder/handleSpare",
        handlePart:"/eam/repairOrder/handlePart",
        handleSpareStop:"/eam/repairOrder/handleSpareStop",
        handlePartStop:"/eam/repairOrder/handlePartStop",
        getInfo:'/eam/repairOrderFaultAnalysis/list',
      },
      elapsedTime: 0, // 记录已过去的时间(单位:毫秒)
      formattedElapsedTime: '0秒',
      time1:'0秒',
      time2:'0秒',
      time3:'0秒',
      timer:null // 格式化后的已过去时间
    }
  },
  mounted() {
    this.$bus.$on('closeDrawer', (data) => {
      this.visible = false;
    })
    // this.$bus.$on('closeDrawer', (data) => {
    //   this.handleCancel()
    // })
    this.timer = setInterval(() => {
      this.updateElapsedTime();
    }, 1000);
  },
  beforeDestroy() {
    // 在组件销毁前清除计时器
    clearInterval(this.timer);
  },
  methods: {
@@ -357,40 +639,250 @@
      this.visible = false;
      //this.repairOrder.id = "-1"
    },
    handleStart(record) {
      putAction(this.url.orderStart, this.repairOrder).then(res => {
        if (res.result) {
          this.$message.success('开工成功');
          this.repairOrder.status = '3'
          this.$emit('loadData');
        } else {
          this.$message.error('开工出现异常')
        }
    //开工
    handleStart() {
      const that = this;
      that.confirmLoading = true;
      this.$confirm({
        title: '维修工单开工',
        content: '提示:开工后无法撤回,请谨慎操作!',
        okText: '确认',
        cancelText: '取消',
        onOk() {
          putAction(that.url.orderStart, that.repairOrder).then(res => {
            if (res.result) {
              that.$message.success('开工成功');
              that.repairOrder.status = '3'
              that.$emit('loadData');
              that.reload();
            } else {
              that.$message.error('开工出现异常')
            }
          }).finally(() => {
            that.confirmLoading = false;
            // that.close();
          })
        },
      })
    },
    //报工
    handleReportPro(){
      let that = this;
      getAction(that.url.getInfo,{repairOrderId:this.repairOrder.id}).then(res=>{
                if(res.success){
                   if(res.result.records.length===0){
                      that.$message.warning("故障分析尚未填写,请填写后再报工")
                   }else if(res.result.records[0].repairOrderFaultAnalysisUda1===null||res.result.records[0].repairOrderFaultAnalysisUda1===undefined||res.result.records[0].repairOrderFaultAnalysisUda1===''){
                      that.$message.warning("故障现象尚未填写,请填写后再报工")
                   }else if(res.result.records[0].faultCause===null||res.result.records[0].faultCause===undefined||res.result.records[0].faultCause===''){
                      that.$message.warning("故障检查尚未填写,请填写后再报工")
                   }else if(res.result.records[0].maintenanceMeasures===null||res.result.records[0].maintenanceMeasures===undefined||res.result.records[0].maintenanceMeasures===''){
                      that.$message.warning("故障维修尚未填写,请填写后再报工")
                   }else if(res.result.records[0].suggestion===null||res.result.records[0].suggestion===undefined||res.result.records[0].suggestion===''){
                      that.$message.warning("故障预防尚未填写,请填写后再报工")
                   }else{
                      that.handleReport();
                   }
                }
      })
    },
    handleReport() {
      putAction(this.url.orderReport, this.repairOrder).then(res => {
        if (res.result) {
          this.$message.success('报工成功');
          this.repairOrder.status = '4'
          this.$emit('loadData');
        } else {
          this.$message.error('报工出现异常')
        }
      const that = this;
      that.confirmLoading = true;
      this.$confirm({
        title: '维修工单报工',
        content: '提示:报工后维修完工,请谨慎操作!',
        okText: '确认',
        cancelText: '取消',
        onOk() {
          putAction(that.url.orderReport, that.repairOrder).then(res => {
            if (res.result) {
              that.$message.success('报工成功');
              that.reload();
              that.$emit('loadData');
            } else {
              that.$message.error(res.message)
            }
          }).finally(() => {
            that.confirmLoading = false;
            //
          })
        },
      })
    },
    //撤销
    handleRevoke() {
      putAction(this.url.orderRevoke, this.repairOrder).then(res => {
        if (res.result) {
          this.$message.success('撤销成功');
          this.repairOrder.status = '3'
          this.$emit('loadData');
        } else {
          this.$message.error('撤销出现异常')
      const that = this;
      that.confirmLoading = true;
      this.$confirm({
        title: '完工撤销',
        content: '提示:完工撤销后可继续报工操作!',
        okText: '确认',
        cancelText: '取消',
        onOk() {
          putAction(that.url.orderRevoke, that.repairOrder).then(res => {
            if (res.result) {
              that.$message.success('撤销成功');
              that.$emit('loadData');
            } else {
              that.$message.error('撤销出现异常')
            }
          }).finally(() => {
            that.confirmLoading = false;
            // that.close();
          })
        },
      })
    },
    handleSpare(){
      const that = this;
      that.confirmLoading = true;
      this.$confirm({
        title: '等采购件',
        content: '提示:该操作不可撤销,确认开始等采购件?',
        okText: '确认',
        cancelText: '取消',
        onOk() {
          putAction(that.url.handleSpare, that.repairOrder).then(res => {
            if (res.result) {
              that.$message.success('操作成功');
              that.reload();
              that.$emit('loadData');
            } else {
              that.$message.error('操作出现异常')
            }
          }).finally(() => {
            that.confirmLoading = false;
            // that.close();
          })
        },
      })
    },
    handleSpareStop(){
      const that = this;
      that.confirmLoading = true;
      this.$confirm({
        title: '停止等采购件',
        content: '提示:该操作不可撤销,确认停止等采购件?',
        okText: '确认',
        cancelText: '取消',
        onOk() {
          putAction(that.url.handleSpareStop, that.repairOrder).then(res => {
            if (res.result) {
              that.$message.success('操作成功');
              that.reload();
              that.$emit('loadData');
            } else {
              that.$message.error('操作出现异常')
            }
          }).finally(() => {
            that.confirmLoading = false;
            // that.close();
          })
        },
      })
    },
    handlePart(){
      const that = this;
      that.confirmLoading = true;
      this.$confirm({
        title: '等采购件',
        content: '提示:该操作不可撤销,确认等采购件?',
        okText: '确认',
        cancelText: '取消',
        onOk() {
          putAction(that.url.handlePart, that.repairOrder).then(res => {
            if (res.result) {
              that.$message.success('操作成功');
              that.reload();
              that.$emit('loadData');
            } else {
              that.$message.error('操作出现异常')
            }
          }).finally(() => {
            that.confirmLoading = false;
            // that.close();
          })
        },
      })
    },
    handlePartStop(){
      const that = this;
      that.confirmLoading = true;
      this.$confirm({
        title: '停止等采购件',
        content: '提示:该操作不可撤销,确认停止等采购件?',
        okText: '确认',
        cancelText: '取消',
        onOk() {
          putAction(that.url.handlePartStop, that.repairOrder).then(res => {
            if (res.result) {
              that.$message.success('操作成功');
              that.reload();
              that.$emit('loadData');
            } else {
              that.$message.error('操作出现异常')
            }
          }).finally(() => {
            that.confirmLoading = false;
            // that.close();
          })
        },
      })
    },
    reload(){
      getAction(this.url.reload,{id:this.repairOrder.id}).then(res=>{
        if( res.result.records.length!==0){
          this.repairOrder = res.result.records[0];
        }
      })
    },
    updateElapsedTime() {
      const stardand = new Date();
      if(this.repairOrder.actualEndTime!==null&&this.repairOrder.actualEndTime!==undefined&&this.repairOrder.actualEndTime!==''){
        this.formattedElapsedTime = this.repairOrder.actualHour+'时';
      }else if(this.repairOrder.actualStartTime!==null&&this.repairOrder.actualStartTime!==undefined&&this.repairOrder.actualStartTime!==''){
        const startDateTime = dayjs(this.repairOrder.actualStartTime, { format: 'YYYY-MM-DD HH:mm:ss' });
        this.elapsedTime = stardand-startDateTime;
        this.formattedElapsedTime = this.formatTime(this.elapsedTime);
      }else{
        this.formattedElapsedTime="开工后计算时长";
      }
      if(this.repairOrder.repairOrderUda3!==null&&this.repairOrder.repairOrderUda3!==undefined&&this.repairOrder.repairOrderUda3!==''){
        this.time1 = this.repairOrder.spareTime+'时';
      }else if(this.repairOrder.repairOrderUda2!==null&&this.repairOrder.repairOrderUda2!==undefined&&this.repairOrder.repairOrderUda2!==''){
        const startDateTime1 = dayjs(this.repairOrder.repairOrderUda2, { format: 'YYYY-MM-DD HH:mm:ss' });
        this.time1 = this.formatTime(stardand-startDateTime1);
      }else{
        this.time1 = "等采购件后计算时长"
      }
      if(this.repairOrder.repairOrderUda5!==null&&this.repairOrder.repairOrderUda5!==undefined&&this.repairOrder.repairOrderUda5!==''){
        this.time2 = this.repairOrder.partTime+'时';
      }else if(this.repairOrder.repairOrderUda4!==null&&this.repairOrder.repairOrderUda4!==undefined&&this.repairOrder.repairOrderUda4!==''){
        const startDateTime2 = dayjs(this.repairOrder.repairOrderUda4, { format: 'YYYY-MM-DD HH:mm:ss' });
        this.time2 = this.formatTime(stardand-startDateTime2);
      }else{
        this.time2 = "等加工件后计算时长"
      }
      if(this.repairOrder.acceptTime!==null&&this.repairOrder.acceptTime!==undefined&&this.repairOrder.acceptTime!==''){
        this.time3 = this.repairOrder.faultHour+'时';
      }else if(this.repairOrder.faultTime!==null&&this.repairOrder.faultTime!==undefined&&this.repairOrder.faultTime!==''){
        const startDateTime3 = dayjs(this.repairOrder.faultTime, { format: 'YYYY-MM-DD HH:mm:ss' });
        this.time3 = this.formatTime(stardand-startDateTime3);
      }else{
        this.time3 = "验收后计算时长"
      }
    },
    formatTime(timeInMilliseconds) {
      // 将毫秒转换为更友好的格式(例如:x小时x分钟x秒)
      // 这里只是一个简单的实现,你可能需要根据需求进行更改
      const seconds = Math.floor(timeInMilliseconds / 1000);
      const minutes = Math.floor(seconds / 60);
      const hours = Math.floor(minutes / 60);
      return `${hours}时 ${minutes % 60}分 ${seconds % 60}秒`;
    },
  },
}