廖井涛
2024-07-03 c5151996182a7342bed2d62fcbd99349b9b2e3a1
north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue
@@ -146,7 +146,7 @@
  align: 'center',//文字居中
  stripe: true,//斑马纹
  rowConfig: {isCurrent: true, isHover: true, height: 30, useKey: false},//鼠标移动或选择高亮
  id: 'CustomerList',
  id: 'CustomerListRight',
  showFooter: true,//显示脚
  printConfig: {},
  importConfig: {},
@@ -207,7 +207,7 @@
    {field: 'computeGrossArea', title: t('processCard.areaToDivided'), width: '60px'},
    {field: 'totalThickness', title: t('processCard.totalThickness'), width: '80px'},
    {field: 'thickness', title: t('processCard.glassThickness'), width: '60px'},
    {field: 'weight', title: t('processCard.weight')}
    {field: 'weight', title: t('processCard.weight'),slots:{default:'weight_sum'}}
  ],//表头按钮
  toolbarConfig: {
@@ -222,20 +222,38 @@
  },
  data: [],//table body实际数据
  //脚部求和
  weighAllAmount(data) {
    let count = 0
    data.forEach(row => {
      count += row.weight
    })
    return count
  },
  footerMethod ({ columns, data }) {//页脚函数
    let count = 0
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
          return t('basicData.total')
        }
        const List = ["baiscQuantity",'computeGrossArea','weight','perimeter']
        const List = ["baiscQuantity",'computeGrossArea']
        if (List.includes(column.field)) {
          return footSum(data, column.field)
        }
        if (column.field === 'weight'){
          data.forEach(row => {
            count += weightSum(row)
          })
          return  parseFloat(count.toFixed(2))
        }
        return ''
      })
    ]
  }
  },
})
@@ -289,7 +307,7 @@
    },
    {
      field: 'landingSequence',
      title: '落架顺序',
      title: t('processCard.landingSequence'),
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
@@ -325,7 +343,7 @@
        if (columnIndex === 0) {
          return t('basicData.total')
        }
        const List = ["quantity",'goodsQuantity','area','perimeter']
        const List = ["quantity",'goodsQuantity','area']
        if (List.includes(column.field)) {
          return footSum(data, column.field)
        }
@@ -430,8 +448,11 @@
      //对选中的左边表格数据进行循环
      checkedList.forEach((item) => {
        //判断可用数量是否大于等于输入的数量,不满足则抛出异常
        if (item.quantity < checkedNum.value) throw new Error(t('processCard.schedulingQuantity'));
        //左边表格可用数量减去输入的数量
       // if (item.quantity < checkedNum.value*1) throw new Error(t('processCard.schedulingQuantity'));
        if (item.quantity < checkedNum.value*1){
          ElMessage.warning(t('processCard.schedulingQuantity'))
        }
            //左边表格可用数量减去输入的数量
        item.quantity = item.quantity - checkedNum.value
        //右边表格数据
        let rightData = $grid.getTableData().fullData
@@ -482,8 +503,8 @@
        } else {
          item.baiscQuantity = item.baiscQuantity * 1 + leftData[leftfilterIndex].quantity * 1
          item.computeGrossArea=(item.width*item.height*item.baiscQuantity/1000000).toFixed(2)
          // item.baiscQuantity = item.baiscQuantity * 1 + leftData[leftfilterIndex].quantity * 1
          // item.computeGrossArea=(item.width*item.height*item.baiscQuantity/1000000).toFixed(2)
          //item.computeGrossArea=(item.width*item.height*item.baiscQuantity/1000000).toFixed(2)
          // for (let i = 0; i <checkedList.length ; i++) {
          //
@@ -585,21 +606,24 @@
            if (leftData[i].orderNumber === item.orderNumber && leftData[i].processId === item.processId) {
              leftData[i].quantity = leftData[i].quantity * 1 + checkedNum.value * 1
              leftData[i].computeGrossArea=(leftData[i].computeGrossArea-leftData[i].width*leftData[i].height*leftData[i].baiscQuantity/1000000).toFixed(2)
              break
            } else if (leftData[i].orderNumber === item.orderNumber && leftData[i].processId !== item.processId) {
              delete item._X_ROW_KEY
              $gridLeft.insert(item)
              item._X_ROW_KEY = key
              break
            } else if (leftData[i].orderNumber !== item.orderNumber && leftData[i].processId !== item.processId) {
              delete item._X_ROW_KEY
              $gridLeft.insert(item)
              item._X_ROW_KEY = key
              break
            }else if (leftData[i].orderNumber !== item.orderNumber && leftData[i].processId == item.processId) {
              delete item._X_ROW_KEY
              $gridLeft.insert(item)
              item._X_ROW_KEY = key
              break
            }
          }
        }
@@ -681,6 +705,10 @@
  },
}
const weightSum =  (row) =>{
    return parseFloat((row.baiscQuantity*row.thickness*row.width*row.height*2.5/1000000).toFixed(2))
}
</script>
<template>
@@ -739,6 +767,7 @@
            </template>
          </vxe-grid>
        </el-aside>
@@ -785,6 +814,9 @@
                  </li>
                </ul>
              </template>
              <template #weight_sum="{ row }">
                <span>{{ weightSum(row) }} </span>
              </template>
              <template #num1_filter="{ column, $panel }">
                <div>