chenlu
2024-12-02 e50fa16b6dbc4e7c50d5fbdbc04d2a556ca01c4e
north-glass-erp/northglass-erp/src/views/pp/machine/MaintenanceAndRepair.vue
@@ -70,14 +70,14 @@
//定义接收加载弹窗的值
const getBasicData = ref({
  deviceName: '',
  device_name: '',
  type: '',
  faultTime: '',
  faultReason: '',
  maintenanceTime: '',
  maintenanceIllustrate: '',
  startTime: '',
  stopTime: '',
  fault_time: '',
  fault_reason: '',
  maintenance_time: '',
  maintenance_illustrate: '',
  start_time: '',
  stop_time: '',
  process: '',
  personnel: '',
  cost: '',
@@ -164,38 +164,38 @@
  },//表头参数
  columns: [
    {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50},
    {title: '操作', width: 140, slots: {default: 'button_slot'}, fixed: "left"},
    {title: t('basicData.operate'), width: 140, slots: {default: 'button_slot'}, fixed: "left"},
    {
      field: 'id', width: 130, title: 'Id'
    },
    {
      field: 'deviceName', width: 130, title: '设备名称', filters: [{data: ''}],
      field: 'deviceName', width: 130, title: t('machine.basicName'), filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
    },
    {
      field: 'type', width: 120, title: '类型', filters: [{data: ''}],
      field: 'type', width: 120, title: t('machine.type'), filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
    },
    {field: 'faultTime', width: 100, title: '故障日期', showOverflow: "ellipsis"},
    {field: 'faultTime', width: 100, title: t('machine.faultTime'), showOverflow: "ellipsis"},
    {
      field: 'faultReason', width: 100, title: '故障原因', filters: [{data: ''}],
      field: 'faultReason', width: 100, title: t('machine.faultReason'), filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
    },
    {field: 'maintenanceTime', width: 100, title: '保养日期'},
    {field: 'maintenanceIllustrate', width: 120, title: '保养说明', showOverflow: "ellipsis"},
    {field: 'startTime', width: 160, title: '维修/保养开始时间'},
    {field: 'stopTime', width: 160, title: '维修/保养结束时间'},
    {field: 'maintenanceTime', width: 100, title: t('machine.maintenanceTime')},
    {field: 'maintenanceIllustrate', width: 120, title: t('machine.maintenanceIllustrate'), showOverflow: "ellipsis"},
    {field: 'startTime', width: 160, title: t('machine.startTime')},
    {field: 'stopTime', width: 160, title: t('machine.stopTime')},
    {
      field: 'process', width: 120, title: '所在工艺', filters: [{data: ''}],
      field: 'process', width: 120, title: t('machine.process'), filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
    },
    {field: 'personnel', width: 150, title: '维修/保养人员'},
    {field: 'cost', width: 120, title: '费用'},
    {field: 'personnel', width: 150, title: t('machine.personnel')},
    {field: 'cost', width: 120, title: t('machine.cost')},
  ],//表头按钮
  toolbarConfig: {
@@ -211,11 +211,11 @@
  data: [],//table body实际数据
  //脚部求和
  footerMethod({columns, data}) {//页脚函数
    let footList = ['费用']
    let footList = ['']
    return [
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
          return '合计:'
          return t('basicData.total')
        }
        if (footList.includes(column.field)) {
          return sumNum(data, column.field)
@@ -235,15 +235,19 @@
const updateBasic = () => {
  // request.post(`/basicDataProduce/updateBasic/${id}/${process}/${name}/${type}`).then((res) => {
  //   if (res.code == 200) {
  //     ElMessage.success(t('processCard.modifySuccessfully'))
  //     router.push({path: '/main/productionBasicData/SelectProductionBasicData', query: {random:Math.random()}})
  //   } else {
  //
  //     ElMessage.warning(res.msg)
  //   }
  // })
  let machineData = ref({
    machine: getBasicData.value
  })
  request.post(`/maintenance/updateMaintenance`,machineData.value).then((res) => {
    if (res.code == 200 && res.data===true) {
      ElMessage.success(t('processCard.modifySuccessfully'))
      router.push({path: '/main/machine/MaintenanceAndRepair', query: {random:Math.random()}})
    } else {
      ElMessage.warning(res.msg)
    }
  })
}
</script>
@@ -293,19 +297,21 @@
      <template #button_slot="{ row }">
<!--        <el-button @click="getTableRow(row,'edit');" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>-->
        <el-button @click="getTableRow(row,'edit')"
                   v-if="userStore.user.permissions.indexOf('MaintenanceAndRepair.edit') > -1"
                   v-if="userStore.user.permissions.indexOf('maintenanceAndRepair.edit') > -1"
                   link
                   type="primary"
                   size="small">
          {{ $t('basicData.edit') }}
        </el-button>
        <el-button link size="small" type="primary" @click="getTableRow(row,'delete')">删除</el-button>
        <el-button link size="small" type="primary" @click="getTableRow(row,'delete')">{{$t('basicData.delete')}}</el-button>
      </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="text" @input="changeFilterEvent($event, option, $panel)"/>
            <input v-model="option.data" type="text"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
          </div>
        </div>
      </template>
@@ -313,83 +319,86 @@
    </vxe-grid>
    <el-dialog v-model="dialogTableVisible" title="保养与维修编辑">
    <el-dialog v-model="dialogTableVisible" :title="$t('machine.maintenanceAndRepairEdit')">
      <el-form :model="form">
        <el-row>
          <el-col :span="12">
            <el-form-item :label-width="formLabelWidth" label="设备名称">
              <el-input v-model="getBasicData.deviceName" autocomplete="off" style="width: 220px"/>
            <el-form-item :label-width="formLabelWidth" :label="$t('machine.basicName')">
              <el-input v-model="getBasicData.device_name" autocomplete="off" style="width: 220px"/>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item :label-width="formLabelWidth" label="类型">
              <el-select v-model="form.region" placeholder="维修" style="width: 220px">
                <el-option label="保养" value="shanghai"/>
                <el-option label="维修" value="mobian"/>
            <el-form-item :label-width="formLabelWidth" :label="$t('machine.type')">
              <el-select v-model="getBasicData.type" :placeholder="$t('machine.service')" style="width: 220px">
                <el-option :label="$t('machine.maintain')" value="1"/>
                <el-option :label="$t('machine.service')" value="2"/>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item :label-width="formLabelWidth" label="故障日期">
            <el-form-item :label-width="formLabelWidth" :label="$t('machine.faultTime')">
              <el-date-picker
                  v-model="getBasicData.faultTime"
                  v-model="getBasicData.fault_time"
                  :size="size"
                  placeholder="2023-01-01"
                  type="date"
                  format="YYYY/MM/DD"
                  value-format="YYYY-MM-DD"
              />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item :label-width="formLabelWidth" label="故障原因">
              <el-input v-model="getBasicData.faultReason" autocomplete="off" style="width: 220px"/>
            <el-form-item :label-width="formLabelWidth" :label="$t('machine.faultReason')">
              <el-input v-model="getBasicData.fault_reason" autocomplete="off" style="width: 220px"/>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item :label-width="formLabelWidth" label="保养日期">
            <el-form-item :label-width="formLabelWidth" :label="$t('machine.maintenanceTime')">
              <el-date-picker
                  v-model="getBasicData.maintenanceTime"
                  v-model="getBasicData.maintenance_time"
                  :size="size"
                  placeholder="2023-02-01"
                  type="date"
                  format="YYYY/MM/DD"
                  value-format="YYYY-MM-DD"
              />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item :label-width="formLabelWidth" label="保养说明">
              <el-input v-model="getBasicData.maintenanceIllustrate" autocomplete="off" style="width: 220px"/>
            <el-form-item :label-width="formLabelWidth" :label="$t('machine.maintenanceIllustrate')">
              <el-input v-model="getBasicData.maintenance_illustrate" autocomplete="off" style="width: 220px"/>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item :label-width="formLabelWidth" label="保养/维修开始时间">
            <el-form-item :label-width="formLabelWidth" :label="$t('machine.startTime')">
              <el-date-picker
                  v-model="getBasicData.startTime"
                  :size="size"
                  placeholder="2023-02-01"
                  v-model="getBasicData.start_time"
                  type="date"
                  format="YYYY/MM/DD"
                  value-format="YYYY-MM-DD"
              />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item :label-width="formLabelWidth" label="保养/维修完成时间">
            <el-form-item :label-width="formLabelWidth" :label="$t('machine.stopTime')">
              <el-date-picker
                  v-model="getBasicData.stopTime"
                  v-model="getBasicData.stop_time"
                  :size="size"
                  placeholder="2023-02-01"
                  type="date"
                  format="YYYY/MM/DD"
                  value-format="YYYY-MM-DD"
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item :label-width="formLabelWidth" label="所在工艺">
            <el-form-item :label-width="formLabelWidth" :label="$t('machine.process')">
              <el-select  v-model="getBasicData.process" clearable placeholder="" style="width: 220px"
              >
                <el-option
@@ -402,20 +411,20 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item :label-width="formLabelWidth" label="保养/维修人员">
            <el-form-item :label-width="formLabelWidth" :label="$t('machine.personnel')">
              <el-input v-model="getBasicData.personnel" autocomplete="off" style="width: 220px"/>
            </el-form-item>
          </el-col>
        </el-row>
        <el-form-item :label-width="formLabelWidth" label="费用">
        <el-form-item :label-width="formLabelWidth" :label="$t('machine.cost')">
          <el-input v-model="getBasicData.cost" autocomplete="off" style="width: 220px"/>
        </el-form-item>
      </el-form>
      <template #footer>
      <span class="dialog-footer">
        <el-button @click="dialogTableVisible = false">取消</el-button>
        <el-button @click="dialogTableVisible = false">{{$t('basicData.cancelButtonText')}}</el-button>
        <el-button type="primary" @click="updateBasic">
          修改
          {{$t('basicData.update')}}
        </el-button>
      </span>
      </template>