chenlu
2025-07-29 1bc669f980c7cdb13d96eec27053ead30f2f6aec
north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
@@ -862,45 +862,95 @@
  datas8.value=(maxY - minY) / big
  //points.value=[0, heightAgv, 0, 0, widthAgv, 0, widthAgv,heightAgv]
  if(point[0]*big===0){
  let numbers = [point[0], point[2], point[4], point[6]]; // 示例数组
  let maxX1 = Math.max(...numbers); // 找到最大值
  let maxIndex = numbers.findIndex(num => num === maxX1); // 定位第一个匹配索引
  let remaining = [...numbers]; // 复制原数组避免突变
  remaining.splice(maxIndex, 1); // 仅移除第一个最大值实例
  let maxX2 = Math.max(...remaining); // 在剩余数组中找第二大值
  let arr=[]
  for (let i=0;i<point.length;i++){
    let a=[]
    if(i % 2 === 0){
      a.push(point[i])
      a.push((point[i+1]))
      arr.push(a)
    }
  }
  let x=[]
  let y=[]
  let upperRight=null //右上
  let lowerRight=null //右下
  let topLeft=null //左上
  let lowerLeft=null //左下
  arr.forEach(item=>{
    if(item[0]==maxX1||item[0]==maxX2){
      x.push(item)
    }else{
      y.push(item)
    }
  })
  if(x[0][1]>x[1][1]){
    lowerRight=x[0]
    upperRight=x[1]
  }else{
    upperRight=x[0]
    lowerRight=x[1]
  }
  if(y[0][1]>y[1][1]){
    lowerLeft=y[0]
    topLeft=y[1]
  }else {
    topLeft=y[0]
    lowerLeft=y[1]
  }
  if(lowerLeft[0]*big===0){
    data5.value=0
  }else{
    data5.value=round(point[0]*big,0)
    data5.value=round(lowerLeft[0]*big,0)
  }
  if(point[1]*big===0){
  if(lowerLeft[1]*big===0){
    data6.value=0
  }else{
    data6.value=maxY-minY-round(point[1]*big,0)
    data6.value=round(maxY-minY-lowerLeft[1]*big,0)
  }
  if(point[2]*big===0){
  if(topLeft[0]*big===0){
    data1.value=0
  }else{
    data1.value=round(point[2]*big,0)
    data1.value=round(topLeft[0]*big,0)
  }
  if(point[3]*big===0){
  if(topLeft[1]*big===0){
    data2.value=0
  }else{
    data2.value=round(point[3]*big,0)
    data2.value=round(topLeft[1]*big,0)
  }
  if(point[4]*big===0){
  if(upperRight[0]*big===0){
    data3.value=0
  }else{
    data3.value=maxX-minX-round(point[4]*big,0)
    data3.value=round(maxX-minX-upperRight[0]*big,0)
  }
  if(point[5]*big===0){
  if(upperRight[1]*big===0){
    data4.value=0
  }else{
    data4.value=round(point[5]*big,0)
    data4.value=round(upperRight[1]*big,0)
  }
  if(point[6]*big===0){
  if(lowerRight[0]*big===0){
    data7.value=0
  }else{
    data7.value=maxX-minX-round(point[6]*big,0)
    data7.value=round(maxX-minX-lowerRight[0]*big,0)
  }
  if(point[7]*big===0){
  if(lowerRight[1]*big===0){
    data8.value=0
  }else{
    data8.value=maxY-minY-round(point[7]*big,0)
    data8.value=round(maxY-minY-lowerRight[1]*big,0)
  }
}