廖井涛
2025-07-25 3def2ae30b07bb1f9ed8627de90b821481e5e2d5
north-glass-erp/northglass-erp/src/components/sd/order/OrderProcess.vue
@@ -1,7 +1,6 @@
<script setup>
import {computed, onMounted, reactive, ref, watch} from "vue";
import {changeFilterEvent, filterChanged} from "@/hook"
import footSum from "@/hook/footSum"
import {useI18n} from "vue-i18n"
import request from "@/utils/request"
import {ElMessage} from "element-plus"
@@ -99,7 +98,7 @@
})
let mergeCells = ref()
const getWorkOrder = () => {
  gridOptions.loading = true
  request.post(`/report/processCardProgress/${props.orderId}`,column).then(async (res) => {
@@ -121,10 +120,12 @@
      res.data.data.forEach(item => {
        item.reportWorkQuantity=JSON.parse(item.reportWorkQuantity)
        item.reportWorkQuantityCount=JSON.parse(item.reportWorkQuantityCount)
        item.reportWorkQuantityShow=JSON.parse(item.reportWorkQuantityShow)
      })
      await xGrid.value.loadData(res.data.data)
      await xGrid.value.setMergeCells(res.data.mergeCells)
      mergeCells.value = res.data.mergeCells
      gridOptions.loading = false
    } else {
@@ -133,14 +134,41 @@
  })
}
const quantitySum = ( row,column )=>{
  const reportWorkQuantity = row.reportWorkQuantity[column.title] || ''
  const reportWorkQuantityCount = row.reportWorkQuantityCount[column.title] || ''
  if(reportWorkQuantity===reportWorkQuantityCount){
    return reportWorkQuantity
const filterChange = () =>{
  if(xGrid.value.isFilter()){
    xGrid.value.clearMergeCells()
    xGrid.value.clearMergeFooterItems()
  }else{
    xGrid.value.setMergeCells(mergeCells.value)
    xGrid.value.updateFooter()
  }
  return (reportWorkQuantity
}
const footSum =(list, field) => {
  if(xGrid.value.isFilter()){
    return
  }
  let count = 0
  list.forEach(item => {
    if(field.indexOf('.')>-1){
      let  array = field.split('.')
      count += Number(item[array[0]][array[1]]) || 0
    }else {
      count += Number(item[field])  || 0
    }
  })
  return count.toFixed(2)
}
const quantitySum = ( row,column )=>{
  const reportWorkQuantityCount = row.reportWorkQuantityCount[column.title] || ''
  const reportWorkQuantityShow = row.reportWorkQuantityShow[column.title] || ''
  if(reportWorkQuantityShow===reportWorkQuantityCount){
    return reportWorkQuantityShow
  }
  return (reportWorkQuantityShow
      +'('
      +reportWorkQuantityCount
      +')' )
@@ -151,6 +179,7 @@
<template>
  <div style="width: 100%;height: 100%">
    <vxe-grid
        @filter-change ='filterChange'
        height="100%"
        size="mini"
        class="mytable-scrollbar"