廖井涛
2024-08-05 43e115a7de2c763c36d79e610a3abb1d833ea892
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -4,11 +4,13 @@
import request from "@/utils/request";
import {ElMessage} from "element-plus";
import {changeFilterEvent, filterChanged} from "@/hook"
import domZIndex from 'dom-zindex'
import {indexOf} from "xe-utils";
import {addListener, toolbarButtonClickEvent} from "@/hook/mouseMove";
import userInfo from "@/stores/userInfo"
import { useI18n } from 'vue-i18n'
import footSum from "@/hook/footSum"
domZIndex.setCurrent(3000)
//语言获取
const { t } = useI18n()
let brokenVisible = ref(false)
@@ -131,6 +133,7 @@
          titleUploadData.value.qualityInspector=user.user.userName
        }
        gridOptions.toolbarConfig.buttons.push(button)
      }
     // getQuantity()
@@ -228,6 +231,13 @@
          {
            code: 'clearChecked',
            name: t('basicData.clearSelection'),
            prefixIcon: 'vxe-icon-indicator',
            visible: true,
            disabled: false
          },
          {
            code: 'SecondaryBreakage',
            name: "次破相同",
            prefixIcon: 'vxe-icon-indicator',
            visible: true,
            disabled: false
@@ -408,13 +418,26 @@
          break
        }
        case 'update':  {
          getQuantity()
          const errMap = await $grid.validate(true)
          if (errMap) {
            ElMessage.error(t('basicData.msg.checkoutLose'))
            return
          }
          saveReportingWork(0,'update')
          //根据补片状态判断是否能修改
          request.post(`/reportingWork/getPatchCondition/${route.query.reportingWorkId}`).then(async (res) => {
            if (res.code == 200) {
              if (res.data > 0) {
                ElMessage.error("该报工包含已补片数据,不可修改!")
                return
              } else {
                getQuantity()
                const errMap = await $grid.validate(true)
                if (errMap) {
                  ElMessage.error(t('basicData.msg.checkoutLose'))
                  return
                }
                saveReportingWork(0, 'update')
              }
            } else {
              ElMessage.warning(res.msg)
            }
          })
          break
        }
      }
@@ -479,6 +502,36 @@
                  item[result.cell] = ''
                }
              })
            }
          }
          break
        }
        case 'SecondaryBreakage' : {
          let result = toolbarButtonClickEvent()
          if (result.cell === "breakageQuantity"){
            if (result) {
              const dataList = xGrid.value.getTableData().visibleData
              const seenOrders = {}
              dataList.forEach((item, index) => {
                const list = item.damageDetails
                if (list!== null || list.length > 0){
                  const { order_number, damageDetails, breakageQuantity } = item;
                  // 如果 order_number 还没有处理过
                  if (!seenOrders[order_number]) {
                    // 记录第一个出现的 damageDetails 和 breakageQuantity
                    seenOrders[order_number] = {
                      damageDetails,
                      breakageQuantity
                    };
                  } else {
                    // 将后续的 damageDetails 和 breakageQuantity 更新为第一个的
                    item.damageDetails = seenOrders[order_number].damageDetails;
                    item.breakageQuantity = seenOrders[order_number].breakageQuantity;
                  }
                }
              })
              console.log(dataList)
            }
          }
          break
@@ -569,7 +622,7 @@
    },
    {
      field: 'responsiblePersonnel',
      title: t('reportingWorks.responsiblePersonnel'),
      title: '责任信息',
      editRender: {name: 'input', attrs: {placeholder: ''}}
    },
@@ -785,7 +838,6 @@
    }
  }
  titleUploadData.value.creator = user.user.userName
  titleUploadData.value.creatorId = user.user.userId
  const requestDetailData = xGrid.value.getTableData().fullData.filter((row) => {
@@ -801,7 +853,9 @@
  const requestData = {
    title:titleUploadData.value,
    detail:xGrid.value.getTableData().fullData,
    type:state//审核状态
    type:state,//审核状态
    userId:user.user.userId,
    userName:user.user.userName,
  }
  gridOptions.toolbarConfig.buttons[0].disabled=true
  gridOptions.toolbarConfig.buttons[1].disabled=true
@@ -815,7 +869,6 @@
}
const saveReportingWorkRequest = (requestData) =>{
  //request.post(`/reportingWork/saveReportingWorkLog`, requestData)
  request.post(`/reportingWork/saveReportingWork`,requestData).then(res =>{
    if (res.code == 200){
      ElMessage.success(t('reportingWorks.successfulJobApplication'))
@@ -868,6 +921,7 @@
})
// 查询责任班组
const computedResponsibleTeam = computed((responsibleProcess) => {
  titleSelectJson.value.historyTeams.push({basic_name: user.user.userName, process: titleUploadData.value.thisProcess, basic_type: 'teamsgroups', basic_category: 179, id: 555})
  return function (responsibleProcess){
    return titleSelectJson.value.historyTeams.filter((item) => {
      return item.process === responsibleProcess
@@ -992,9 +1046,6 @@
      titleSelectJson.value.thisProcessType = res.data.thisProcess
      //历史班组
      titleSelectJson.value.historyTeams= res.data.historyTeams
      if (titleSelectJson.value.historyTeams.length == 0){
        titleSelectJson.value.historyTeams.push({basic_name: user.user.userName, process: '切割', basic_type: 'teamsgroups', basic_category: 179, id: 555})
      }
      //历史设备
      titleSelectJson.value.historyDevice = res.data.historyDevice
      //历史工序
@@ -1190,6 +1241,10 @@
  }
}
const changeRowClass =  ({ row, rowIndex, $rowIndex }) => {
    return row?.rowClass
}
</script>
@@ -1359,8 +1414,9 @@
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          :row-class-name="changeRowClass"
          max-height="100%"
          height="400px"
          height="100%"
          size="small"
          v-bind="gridOptions"
          v-on="gridEvents"
@@ -1563,4 +1619,8 @@
  color: #fff;
}
::v-deep(.latter) {
  //display: none;
}
</style>