guoyuji
2025-02-07 82685a4ec94db01c564561582141c03054012ea3
north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue
@@ -52,20 +52,25 @@
let column = [1,3,8]
//点击查询
const getWorkOrder = () => {
  request.post(`/report/processCardProgress/${form.orderId}`,column).then((res) => {
  request.post(`/report/processCardProgress/${form.orderId}`, column).then((res) => {
    if (res.code == 200) {
      if(res.data.data.length===0){
      if (res.data.data.length === 0) {
        ElMessage.warning(t('report.noDataFoundForThisOrder'))
        return
      }
      //gridOptions.columns = JSON.parse(JSON.stringify(columns))
      res.data.title.forEach(item =>{
        let column = {slots: { default: 'quantitySum' }, width: 90,title: item.process}
      // 动态添加列
      res.data.title.forEach((item, index) => {
        let column = {
          slots: { default: 'quantitySum' },
          width: 90,
          title: item.process,
          field: `dynamicColumn${index}` // 为动态列添加唯一的 field
        }
        gridOptions.columns.push(column)
      })
      res.data.data.forEach(item => {
        item.reportWorkQuantity=JSON.parse(item.reportWorkQuantity)
        item.reportWorkQuantityCount=JSON.parse(item.reportWorkQuantityCount)
        item.reportWorkQuantity = JSON.parse(item.reportWorkQuantity)
        item.reportWorkQuantityCount = JSON.parse(item.reportWorkQuantityCount)
      })
      mergeCells.value = res.data.mergeCell
      xGrid.value.loadData(res.data.data)
@@ -74,6 +79,16 @@
    }
  })
}
const footSumDynamic = (data, columnTitle) => {
  let sum = 0;
  data.forEach(item => {
    const value = Number(item.reportWorkQuantity[columnTitle]) || 0; // 从 reportWorkQuantity 中提取值并转换为数字
    sum += value;
  });
  return sum.toFixed(2);
}
const quantitySum = ( row,column )=>{
  const reportWorkQuantity = row.reportWorkQuantity[column.title] || 0
  const reportWorkQuantityCount = row.reportWorkQuantityCount[column.title] || 0
@@ -169,24 +184,24 @@
  data:  [
  ],//table body实际数据
  //脚部求和
  footerMethod ({ columns, data }) {//页脚函数
    return[
  footerMethod ({ columns, data }) {
    return [
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
          return t('basicData.total')
        }
        const List = ["quantity","broken_num","inventory",]
        const List = ["quantity", "broken_num", "inventory", "inventoryArea"]; // 静态列的求和
        if (List.includes(column.field)) {
          console.log(data)
          console.log(column.field)
          return footSum(data, column.field)
        }
        // 动态列的求和
        if (column.field && column.field.startsWith('dynamicColumn')) {
          return footSumDynamic(data, column.title)
        }
        return ''
      })
    ]
  },
  }
})