guoyuji
2024-04-12 febc34d3642ad7d1b68be5ac49eea48089b3e2e0
north-glass-erp/northglass-erp/src/views/pp/machine/MaintenanceAndRepair.vue
@@ -4,9 +4,9 @@
import {useRouter} from 'vue-router'
import {changeFilterEvent, filterChanged} from "@/hook"
import {useI18n} from 'vue-i18n'
import deepClone from "@/utils/deepClone";
import {ElMessage} from "element-plus";
import {ElDatePicker, ElMessage} from "element-plus";
import request from "@/utils/request";
import {Search} from "@element-plus/icons-vue";
//语言获取
const {t} = useI18n()
let router = useRouter()
@@ -15,15 +15,26 @@
const getTableRow = (row, type) => {
  switch (type) {
    case 'edit' : {
      //alert('我接收到子组件传送的编辑信息')
      router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: {id: row.id}})
      request.post(`/maintenance/openSelectId/${row.id}`).then((res) => {
        if (res.code == 200) {
          getMaintenanceRepair.value = res.data.data[0]
          dialogTableVisible.value=true
        } else {
          ElMessage.warning(res.msg)
        }
      })
      break
    }
    case 'delete': {
      let startTime = form.date1[0]
      let endTime = form.date1[1]
      request.post(`/maintenance/deleteMaintenance/${row.id}`).then((res) => {
        if (res.code === 200) {
        if (res.code == 200) {
          ElMessage.success(t('workOrder.deleteOk'))
          router.push({path: '/main/machine/MaintenanceAndRepair', query: {random:Math.random()}})
          router.push({path: '/main/machine/MaintenanceAndRepair', query: {startTime:startTime,endTime:endTime,random:Math.random()}})
        } else {
          ElMessage.warning(res.msg)
@@ -48,6 +59,69 @@
  return count.toFixed(2)
}
//获取3天前到当前时间
function getNowTime() {
  const start = new Date(new Date().getTime() - 3600 * 1000 * 24 * 3)
      .toISOString()
      .replace('T', ' ')
      .slice(0, 10) //默认开始时间7天前
  const end = new Date(new Date().getTime()+3600 * 1000 * 24)
      .toISOString()
      .replace('T', ' ')
      .slice(0, 10)//默认结束时间当前时间
  return [start, end]
}
const form = reactive({
  date1: '',
})
const getMaintenanceRepair = ref({
  id: '',
  device_id: '',
  type: '',
  device_name: '',
  fault_time: '',
  fault_reason: '',
  maintenance_time: '',
  maintenance_illustrate: '',
  start_time: '',
  stop_time: '',
  process: '',
  personnel: '',
  cost: '',
})
//第一次加载获取近3天时间和默认状态
form.date1 = getNowTime()
let startTime = form.date1[0]
let endTime = form.date1[1]
//首次加载
request.post(`/maintenance/selectMaintenance/${startTime}/${endTime}`).then((res) => {
  if (res.code == 200) {
    xGrid.value.loadData(res.data.data)
    gridOptions.loading = false
  } else {
    ElMessage.warning(res.msg)
  }
})
const getWorkOrder = () => {
  let startTime = form.date1[0]
  let endTime = form.date1[1]
  request.post(`/maintenance/selectMaintenance/${startTime}/${endTime}`).then((res) => {
    if (res.code == 200) {
      console.log(res.data.data)
      xGrid.value.loadData(res.data.data)
      gridOptions.loading = false
    } else {
      ElMessage.warning(res.msg)
    }
  })
}
//子组件接收参数
const xGrid = ref()
@@ -147,24 +221,36 @@
const size = ref<'default' | 'large' | 'small'>('default')
const value1 = ref('')
const dialogFormVisible = ref(false)
const dialogTableVisible = ref(false)
const formLabelWidth = '140px'
const form = reactive({
  name: '',
  region: '',
  date1: '',
  date2: '',
  delivery: false,
  type: [],
  resource: '',
  desc: '',
})
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
        <el-date-picker
            v-model="form.date1"
            type="daterange"
            format="YYYY/MM/DD"
            value-format="YYYY-MM-DD"
            :start-placeholder="$t('basicData.startDate')"
            :end-placeholder="$t('basicData.endDate')"
            :default-time="defaultTime"
        />
        &nbsp;&nbsp;
        <el-button
            @click="getWorkOrder()"
            id="select"
            type="primary" :icon="Search">{{$t('basicData.search')}}
        </el-button>
      </el-row>
    </div>
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
@@ -185,7 +271,7 @@
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button link size="small" type="primary" @click="dialogFormVisible = true">编辑</el-button>
        <el-button @click="getTableRow(row,'edit');" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
        <el-button link size="small" type="primary" @click="getTableRow(row,'delete')">删除</el-button>
      </template>
@@ -200,7 +286,7 @@
    </vxe-grid>
    <el-dialog v-model="dialogFormVisible" title="保养与维修编辑">
    <el-dialog v-model="dialogTableVisible" title="保养与维修编辑">
      <el-form :model="form">
        <el-row>
@@ -296,9 +382,9 @@
      </el-form>
      <template #footer>
      <span class="dialog-footer">
        <el-button @click="dialogFormVisible = false">取消</el-button>
        <el-button type="primary" @click="dialogFormVisible = false">
          确认
        <el-button @click="dialogTableVisible = false">取消</el-button>
        <el-button type="primary" @click="updateBasic">
          修改
        </el-button>
      </span>
      </template>
@@ -311,4 +397,8 @@
  width: 99%;
  height: 100%;
}
#selectForm {
  width: 40%;
  text-align: center;
}
</style>