guoyuji
2024-07-15 911a75c347f8bb9707924069fc70ed39cf242e89
结算面积显示保留三位
6个文件已修改
82 ■■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet2.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/en.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/ru.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/zh.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet2.vue
@@ -242,7 +242,7 @@
<style scoped>
#sheet{
  width: 100%;
  width: 98%;
  height: 100%;
  text-align: center;
}
@@ -294,4 +294,9 @@
.notChangeRow{
  white-space: nowrap;
}
@media print {
  @page {
    margin: 5mm; /* 设置打印页面的边距 */
  }
}
</style>
north-glass-erp/northglass-erp/src/lang/en.js
@@ -61,6 +61,8 @@
            max255:"The value contains a maximum of 255 characters",
            range99999Dec2:
                "Please enter a number between 0 and 99999 with a maximum of two decimals",
            range99999Dec3:
                "Please enter a number between 0 and 99999 with a maximum of three decimals",
            range999999Dec2:
                "Please enter a number between 0 and 999999 with a maximum of two decimals",
            greater0:"Please enter an integer greater than 0",
north-glass-erp/northglass-erp/src/lang/ru.js
@@ -61,6 +61,8 @@
            max255:"Введите 255 символов.",
            range99999Dec2:
                "Введите число между 0 - 99999 и сохраните до двух десятичных знаков.",
            range99999Dec3:
                "Введите число между 0-9999999 и сохраните до трех десятичных точек.",
            range999999Dec2:
                "Введите число между 0 - 999999 и сохраните до двух десятичных знаков.",
            greater0:"Введите целое число больше 0",
north-glass-erp/northglass-erp/src/lang/zh.js
@@ -68,6 +68,8 @@
            max255:"最多输入255个字符",
            range99999Dec2:
                "请输入0-99999之间的数字,最多保留两位小数",
            range99999Dec3:
                "请输入0-99999之间的数字,最多保留三位小数",
            range999999Dec2:
                "请输入0-999999之间的数字,最多保留两位小数",
            greater0:"请输入大于0的整数",
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -58,7 +58,7 @@
  deliveryAddress:'',
  otherMoney:'',
  otherMoneyRemarks:'',
  processingNote:'',
  processingNote:t('order.processingNote')+':',
  createOrder:0,
  creatorId:userStore.user.userId,
  creator:userStore.user.userName,
@@ -192,7 +192,8 @@
    computeArea: [
      {
        validator ({ cellValue }) {
          const regex = /^(0(\.\d{1,2})?|([1-9]\d{0,4})(\.\d{1,2})?|99999(\.9{1,2})?)$/
          const decValue = company.decValue*1
          const regex =new RegExp(`^(0(\\.\\d{1,${decValue}})?|([1-9]\\d{0,4})(\\.\\d{1,${decValue}})?|99999(\\.9{1,${decValue}})?)$`)
          if (!regex.test(cellValue)) {
            return new Error(t('basicData.msg.range99999Dec2'))
          }
@@ -311,7 +312,7 @@
            ElMessage.error( t('order.msg.tableLengthNot'))
            return
          }
          computedMoney()
          computedMoney(null)
          if(!gridOptions.menuConfig.body.options[0][5].disabled){
            ElMessage.error(t('order.msg.amountReset'))
            return
@@ -491,7 +492,7 @@
              }
            })
          }
          computedMoney()
          computedMoney(null)
          break
        }
        case 'copyChecked' :{
@@ -526,7 +527,7 @@
              })
            }
          }
          computedMoney()
          computedMoney(result.cell)
          gridOptions.menuConfig.body.options[0][5].disabled=false
          break
        }
@@ -564,7 +565,7 @@
            }
          }
          computedMoney()
          computedMoney(result.cell)
          gridOptions.menuConfig.body.options[0][5].disabled=false
          break
        }
@@ -578,12 +579,12 @@
              }
            })
          }
          computedMoney()
          computedMoney(result.cell)
          gridOptions.menuConfig.body.options[0][5].disabled=false
          break
        }
        case 'computedMoney' :{
          computedMoney()
          computedMoney(null)
          break
        }
@@ -778,13 +779,18 @@
    }
  })
}
const computedMoney = () => {
const computedMoney = (cell) => {
  const  dataList = xGrid.value.getTableData().fullData
  dataList.forEach((item,index) =>{
    item.area = area(item)
    item.grossArea = countArea(item)
    item.computeArea = item.area
    item.computeGrossArea = item.grossArea
    if(['width', 'height', 'quantity'].includes(cell)){
      item.area = area(item)
      item.grossArea = countArea(item)
      item.computeArea = item.area
      item.computeGrossArea = item.grossArea
    }else if(cell==='computeArea'){
      item.computeGrossArea = item.computeArea * item.quantity
    }
    if(titleUploadData.value.calculateType===3){
      item.grossAmount=parseFloat((item.price * item.quantity).toFixed(2))
    }else{
@@ -979,19 +985,20 @@
}
const area = (row) => {
  return parseFloat((row.width * row.height/1000000).toFixed(2))
  return parseFloat((row.width * row.height/1000000).toFixed(company.decValue))
}
const countArea = (row) => {
  const area = parseFloat((row.width * row.height/1000000).toFixed(2))
  const area = parseFloat((row.width * row.height/1000000).toFixed(company.decValue))
  let areaSum = 0
  // 获取保留面积
  const decValue = company.decValue
  switch (titleUploadData.value.calculateType){
    case 2:{
      areaSum = parseFloat((row.width * row.height * row.quantity/1000000).toFixed(2))
      areaSum = parseFloat((row.width * row.height * row.quantity/1000000).toFixed(decValue))
      break
    }
    default :{
      areaSum = parseFloat((row.computeArea * row.quantity).toFixed(2))
      areaSum = parseFloat((row.computeArea * row.quantity).toFixed(decValue))
      break
    }
  }
@@ -1040,18 +1047,17 @@
      }
      item.area = area(item)
      item.grossArea = countArea(item)
      const decValue = company.decValue
      if(item.computeGrossArea === undefined){
        if(titleUploadData.value.calculateType===1){
          item.computeGrossArea = parseFloat((item.computeArea*item.quantity).toFixed(2))
        }else if(titleUploadData.value.calculateType===2){
          item.computeGrossArea = item.grossArea
        }
        if(titleUploadData.value.calculateType===3){
          item.grossAmount=parseFloat((item.price * item.quantity).toFixed(2))
        }else{
          item.grossAmount=parseFloat((item.price * item.computeGrossArea).toFixed(2))
        }
      if(titleUploadData.value.calculateType===1){
        item.computeGrossArea = parseFloat((item.computeArea*item.quantity).toFixed(decValue))
      }else if(titleUploadData.value.calculateType===2){
        item.computeGrossArea = item.grossArea
      }
      if(titleUploadData.value.calculateType===3){
        item.grossAmount=parseFloat((item.price * item.quantity).toFixed(2))
      }else{
        item.grossAmount=parseFloat((item.price * 1 * item.computeGrossArea).toFixed(2))
      }
    })
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -577,10 +577,11 @@
            List<OrderDetail> orderDetails = orderDetailMapper.getOrderProductByProductId(map.get("productId"),orderId);
            orderDetails.forEach(orderDetail->{
                orderDetail.setGrossArea(
                        Double.parseDouble(String.format("%.3f",Double.parseDouble(
                        /*Double.parseDouble(String.format("%.3f",Double.parseDouble(
                                String.format("%.3f",
                                        orderDetail.getWidth()*orderDetail.getHeight()/1000000)
                        ) * orderDetail.getQuantity()))
                        ) * orderDetail.getQuantity()))*/
                        orderDetail.getComputeGrossArea()
                );
                List<OrderGlassDetail> orderGlassDetails =