廖井涛
8 小时以前 f7a2fcdda7f1120498c5c5f75c5a99955fc54b43
north-glass-erp/northglass-erp/src/views/sd/glassPrice/ProducePriceCompute.vue
@@ -7,6 +7,8 @@
import {ElMessage} from "element-plus";
import request from "@/utils/request";
import router from "@/router";
import {multiply,multiplyAuto,divideAuto} from '@/utils/decimal'
import footSum from "@/hook/footSum";
const { t } = useI18n()
let dialogVisible = ref(false)
const xGrid = ref()
@@ -20,11 +22,12 @@
  stripe:true,//斑马纹
  rowConfig: {isCurrent: true, isHover: true,height: 30},//鼠标移动或选择高亮
  //virtualScroll: true, // 开启虚拟滚动功能
  id: 'CreateOrder123',
  id: 'producePriceCompute1',
  printConfig: {},
  importConfig: {},
  exportConfig: {},
  showOverflow:true,
  showFooter: true,
  columnConfig: {
    resizable: true,
    useKey: true
@@ -58,6 +61,9 @@
    {field: 'width',  title: t('order.width') ,editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'height',  title: t('order.height'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'quantity', title: t('order.quantity'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'area', title: t('order.area'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'grossArea', title: t('order.grossArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'grossAmount', title: t('order.grossAmount'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
  ],
@@ -70,6 +76,21 @@
    ],
    zoom: true,
    custom: true
  },
  //table body实际数据
  footerMethod ({ columns, data }) {//页脚函数
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
          return t('basicData.total')+':'
        }
        const List = ["quantity",'grossAmount','grossArea']
        if (List.includes(column.field)) {
          return footSum(data, column.field)
        }
        return ''
      })
    ]
  }
@@ -108,10 +129,25 @@
  request.post(`/glassPriceBasic/glassPriceComputed/${product.id}`).then(res => {
    if (res.code === '200' ) {
      data.price = res.data
      data.area = divideAuto(multiplyAuto(data.width,data.height,2),1000000,2)
      data.grossArea = multiplyAuto(data.area,data.quantity,2)
      data.grossAmount = multiplyAuto(data.price,data.grossArea,2)
      xGrid.value.insertAt(data)
      dialogVisible.value = false
    }
  })
}
const editClosedEvent = ({ row, column }) => {
  //判断修改相应的数值修改面积与金额
  if (['width', 'height', 'quantity', 'price'].includes(column.property)) {
    row.area = divideAuto(multiplyAuto(row.width,row.height,2),1000000,2)
    row.grossArea = multiplyAuto(row.area,row.quantity,2)
    row.grossAmount = multiplyAuto(row.price,row.grossArea,2)
  }
  xGrid.value.updateFooter()
}
</script>
@@ -124,6 +160,7 @@
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
        @edit-closed="editClosedEvent"
    >
      <template #num1_filter="{ column, $panel }">