廖井涛
2025-04-02 6146ab970705d0233a12b9fe475f9756e3271aa1
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -23,6 +23,8 @@
const user=userInfo()
//定义表头数据
const titleUploadData = ref({
  //是否合片工序
  laminating:'',
  reportingWorkId: null,
  //流程卡号
  processId: null,
@@ -90,9 +92,19 @@
let inputDisabled = ref(false)
onMounted(() =>{
onMounted(async () =>{
  await initTiltle()
  if(route.query.processId !== undefined && route.query.processId!=='' && route.query.processId!=null ){
    titleUploadData.value.processId = route.query.processId
    //当质检审核后加载明细信息
    if(route.query.reviewStatus === '1'){
      if(titleUploadData.value.thisProcess !== undefined
          && titleUploadData.value.thisProcess!==''
          && titleUploadData.value.thisProcess!=null){
        getWork()
        getQuantity()
      }
    }
  }
   //route.query.reportingWorkId = 'BG2403150004'
  //判断是否传入报工编号
@@ -339,6 +351,13 @@
    },
    {field: 'completed', width: 90, title:t('reportingWorks.completed'),},
    {field: 'onceBroken', width: 90, title: t('reportingWorks.onceBroken'),},
    {
      field: 'reviewed_state',
      title: t('processCard.reviewedState'),
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
    },
  ],
//表单验证
@@ -779,11 +798,11 @@
  })
  const maxQuantity =  Math.max(...equalByOrderNum.map(item =>item.breakageQuantity || 0))
  let process = titleUploadData.value.thisProcess
  let laminating = titleUploadData.value.laminating
  equalByOrderNum.forEach((row) =>{
    if (process=='夹胶' || process=='中空' || process=='包装' ||process=='打胶和粘框'){
    if (laminating == 'laminating'){
      row.completedQuantity= brokenRow.value.quantity*1-maxQuantity
    }
  })
@@ -795,23 +814,26 @@
//第一次加载数据
let groupChangeProcess = ref(false)//用于本班组显示问题
request.post(`/reportingWork/selectProcess/${user.user.userId}`).then((res) => {
  if (res.code == 200) {
    titleSelectJson.value.processType = res.data.process
    if(user.user.address!==null && user.user.address!==''){
      titleUploadData.value.thisProcess = user.user.address
      titleUploadData.value.teamsGroupsName = user.user.userName
      groupChangeProcess.value = true
      if (user.user.address==='技术部多曲' || user.user.address==='夹胶'){
        groupChangeProcess.value = false
const initTiltle = async () => {
  await request.post(`/reportingWork/selectProcess/${user.user.userId}`).then((res) => {
    if (res.code == 200) {
      titleSelectJson.value.processType = res.data.process
      if(user.user.address!==null && user.user.address!==''){
        titleUploadData.value.thisProcess = user.user.address
        titleUploadData.value.teamsGroupsName = user.user.userName
        groupChangeProcess.value = true
        if (user.user.address==='技术部多曲' || user.user.address==='夹胶'){
          groupChangeProcess.value = false
        }
        gridOptions.toolbarConfig.buttons[1].visible=false
      }
      gridOptions.toolbarConfig.buttons[1].visible=false
    }
  } else {
    ElMessage.warning(res.msg)
  }
})
    } else {
      ElMessage.warning(res.msg)
    }
  })
}
function checkSameNumForId(data, targetId) {
  // 初始化一个对象来存储遇到的id及其对应的num值
@@ -944,13 +966,15 @@
    reviewState = 'review'
  }
  request.post(`/reportingWork/updateReportingWork/${reviewState}`,requestData).then(res =>{
    if (res.code == 200){
    if (res.code == 200 && res.data===true){
      ElMessage.success(t('reportingWorks.successfulModificationOfWorkApplication'))
      router.push({path:'/main/reportingWorks/AddReportingWork',
        query:{
          processId:titleUploadData.value.processId,
          random:Math.random()}
      })
    } else {
      ElMessage.warning(t('reportingWorks.changeFailed'))
    }
  })
}
@@ -1029,6 +1053,7 @@
      router.push({path:'/main/reportingWorks/AddReportingWork',
        query:{
          processId:titleUploadData.value.processId,
          reviewStatus:1,
          random:Math.random()
        }
      })
@@ -1094,6 +1119,7 @@
      titleUploadData.value = res.data.data
      titleUploadData.value.processId = processId
      titleUploadData.value.teamsGroupsName = user.user.userName
      titleUploadData.value.laminating = res.data.laminating
      //设备下拉框
      titleSelectJson.value.deviceType = res.data.device
      //班组下拉框
@@ -1148,7 +1174,20 @@
      //绑定下方表格
      detail.value = res.data.Detail
      xGrid.value.reloadData(detail.value)
      // 使用map方法来处理每个对象
      let modifiedCollection = detail.value.map(item => {
        if (item.reviewed_state === 1) {
          return { ...item, reviewed_state: "已审核" };
        }
        else if (item.reviewed_state === 0) {
          return { ...item, reviewed_state: "未审核" };
        }
        else {
          // 其他情况保持不变
          return item;
        }
      });
      xGrid.value.reloadData(modifiedCollection)
    } else {
      ElMessage.warning(res.msg)
    }
@@ -1201,9 +1240,10 @@
const editClosedEvent = ({ row, column }) => {
  let process = titleUploadData.value.thisProcess
  let laminating = titleUploadData.value.laminating
  if (column.property==='completedQuantity') {
    xGrid.value.getTableData().fullData.forEach((item, index) =>{
      if(item.order_number===row.order_number && (process=='夹胶' || process=='中空' || process=='包装' ||process=='打胶和粘框')){
      if(item.order_number===row.order_number && laminating == 'laminating'){
        item.completedQuantity=row.completedQuantity
      }
    })
@@ -1213,12 +1253,15 @@
const  getQuantity = () => {
  titleUploadData.value.thisCompletedQuantity = 0
  titleUploadData.value.thisWornQuantity = 0
  let laminating = titleUploadData.value.laminating
  const arr = xGrid.value.getTableData().fullData
  const returnArr =  arr.filter((obj, index, self) =>
      self.findIndex((t) => t.order_number === obj.order_number) === index
  )
  //根据是否合片工序过滤
  const returnArr =
      laminating === "laminating"
          ? arr.filter((obj, index, self) =>
              self.findIndex((t) => t.order_number === obj.order_number) === index
          )
          : arr;
  let sumBreak = 0
  let sumQuantity = 0
  returnArr.forEach((item)=>{