廖井涛
6 天以前 a660db06773007b1be690e0674829c00a57aeb7b
north-glass-erp/northglass-erp/src/views/pp/machine/AddMaintenanceAndRepair.vue
@@ -73,63 +73,63 @@
    showStatus: true
  },//表头参数
  columns: [
    {type: 'seq', fixed: "left", title: '自序', width: 50},
    {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50},
    {
      field: 'deviceName',
      title: '设备名称',
      title: t('machine.basicName'),
      editRender: {},
      slots: {default: 'basicCategory_default', edit: 'deviceName'}
    },
    {
      field: 'type',
      title: '类型',
      title: t('machine.type'),
      editRender: {name: 'input', attrs: {placeholder: ''}},
    },
    {
      field: 'faultTime',
      title: '故障日期',
      title: t('machine.faultTime'),
      editRender: {name: 'input', attrs: {placeholder: '', type: 'date'}},
    },
    {
      field: 'faultReason',
      title: '故障原因',
      title: t('machine.faultReason'),
      editRender: {name: 'input', attrs: {placeholder: ''}},
    },
    {
      field: 'maintenanceTime',
      title: '保养日期',
      title: t('machine.maintenanceTime'),
      editRender: {name: 'input', attrs: {placeholder: '', type: 'date'}},
    },
    {
      field: 'maintenanceIllustrate',
      title: '保养说明',
      title: t('machine.maintenanceIllustrate'),
      editRender: {name: 'input', attrs: {placeholder: ''}},
    },
    {
      field: 'startTime',
      title: '维修/保养开始时间',
      title: t('machine.startTime'),
      editRender: {name: 'input', attrs: {placeholder: '', type: 'date'}},
    },
    {
      field: 'stopTime',
      title: '维修/保养结束时间',
      title: t('machine.stopTime'),
      editRender: {name: 'input', attrs: {placeholder: '', type: 'date'}},
    },
    {
      field: 'process',
      title: '所在工序',
      title: t('machine.process'),
      editRender: {},
      slots: {default: 'reportingDeviceSort_default', edit: 'process'}
    },
    {
      field: 'personnel',
      title: '维修/保养人员',
      title: t('machine.personnel'),
      editRender: {name: 'input', attrs: {placeholder: ''}},
    },
    {
      field: 'cost',
      title: '费用',
      title: t('machine.cost'),
      editRender: {name: 'input', attrs: {placeholder: ''}},
    },
  ],
@@ -138,7 +138,7 @@
    buttons: [
      {code: 'removeRow', name: t('basicData.delete'), status: 'primary', icon: 'vxe-icon-delete'},
      {code: 'addRow', name: t('reportingWorks.increase'), status: 'primary', icon: 'vxe-icon-square-plus'},
      {code: 'save', name: '保存', status: 'primary', icon: 'vxe-icon-save'},
      {code: 'save', name: t('basicData.save'), status: 'primary', icon: 'vxe-icon-save'},
    ],
    // import: false,
    // export: true,
@@ -153,7 +153,7 @@
    return [
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
          return '合计:'
          return ''
        }
        if (footList.includes(column.field)) {
          return sumNum(data, column.field)
@@ -189,7 +189,7 @@
          })
          request.post("/maintenance/saveMaintenanceAndRepair", machineData.value).then((res) => {
            if (res.code == 200) {
              ElMessage.success("保存成功")
              ElMessage.success(t('basicData.msg.saveSuccess'))
              //router.push('/main/processCard/SplittingDetails?orderId=${orderId}')
              router.push({
                path: '/main/machine/AddMaintenanceAndRepair',
@@ -224,64 +224,70 @@
</script>
<template>
  <div class="main-div-customer">
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        height="650px"
        max-height="100%"
        v-bind="gridOptions"
        v-on="teamGridEvents"
        @filter-change="filterChanged"
    >
  <div  style="width: 100%;height: 100%">
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
          v-on="teamGridEvents"
      >
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="type" @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data" type="text"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
      <!--设备-->
      <template #deviceName="{ row }">
        <vxe-select v-model="row.deviceName"
                    clearable
                    filterable
                    placeholder="">
          <vxe-option v-for="item in titleSelectJson.deviceType"
                      :key="item.basic_name"
                      :label="item.basic_name"
                      :value="item.basic_name"/>
        </vxe-select>
      </template>
      <template #basicCategory_default="{ row }">
        <span>{{ row.deviceName }}</span>
      </template>
        </template>
        <!--设备-->
        <template #deviceName="{ row }">
          <vxe-select v-model="row.deviceName"
                      clearable
                      filterable
                      placeholder="">
            <vxe-option v-for="item in titleSelectJson.deviceType"
                        :key="item.basic_name"
                        :label="item.basic_name"
                        :value="item.basic_name"/>
          </vxe-select>
        </template>
        <template #basicCategory_default="{ row }">
          <span>{{ row.deviceName }}</span>
        </template>
      <!--工序-->
      <template #process="{ row }">
        <vxe-select v-model="row.process"
                    clearable
                    filterable
                    placeholder="">
          <vxe-option v-for="item in computedDevice(row.deviceName)" :key="item.id" :label="item.basic_category"
                      :value="item.basic_category"/>
        </vxe-select>
      </template>
      <template #reportingDeviceSort_default="{ row }">
        <span>{{ row.process }}</span>
      </template>
        <!--工序-->
        <template #process="{ row }">
          <vxe-select v-model="row.process"
                      clearable
                      filterable
                      placeholder="">
            <vxe-option v-for="item in computedDevice(row.deviceName)" :key="item.id" :label="item.basic_category"
                        :value="item.basic_category"/>
          </vxe-select>
        </template>
        <template #reportingDeviceSort_default="{ row }">
          <span>{{ row.process }}</span>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 0px);
}
.vxe-grid {