guoyujie
2025-08-21 174a6b7bc81a21f8cf950760d3e17fd5f4b7c4dd
north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
@@ -350,6 +350,10 @@
    if (res.code === "200") {
      if(res.data.data!=null){
        const b64Data = res.data.data.file_data;
        if(res.data.data.file_json!=null){
          fileJson.value= JSON.parse(res.data.data.file_json)
          selectData(fileJson.value)
        }
        const byteCharacters = atob(b64Data);
        const parser = new DxfParser();
        dxfData.value = parser.parseSync(byteCharacters)
@@ -397,7 +401,9 @@
const changeTrademark = ()=>{
  if(company.alienFunction){
    exportToDXF()
    if(state.value){
      exportToDXF()
    }
  }
  rowIndex.value.icon = JSON.stringify(trademarkAttr.value)
  trademarkVisible.value=false
@@ -515,6 +521,10 @@
let state=ref(false)
let points=ref([])
let fileJson=ref({
  quadrilateral:null,
  polygon:null
})
let data1=ref(0);let data2=ref(0);let data3=ref(0);let data4=ref(0)
let data5=ref(0);let data6=ref(0);let data7=ref(0);let data8=ref(0)
@@ -578,9 +588,11 @@
    leafer = new Leafer({view: 'canvas'})
    points.value = [datas1.value + (parseInt(data5.value) / big), datas2.value - (parseInt(data6.value) / big), datas3.value + (parseInt(data1.value) / big), datas4.value + (parseInt(data2.value) / big),
      datas5.value - (parseInt(data3.value) / big), datas6.value + (parseInt(data4.value) / big), datas7.value - (parseInt(data7.value) / big), datas8.value - (parseInt(data8.value) / big)]
      const polygon = new Polygon({
    fileJson.value.quadrilateral=[parseInt(data5.value),parseInt(data6.value),parseInt(data1.value),parseInt(data2.value),
      parseInt(data3.value),parseInt(data4.value),parseInt(data7.value),parseInt(data8.value)]
    const polygon = new Polygon({
       points: points.value,
      fill: '#32cd79',
      stroke: '#f00',
      origin: [0, 0]
    })
  leafer.add(polygon)
@@ -619,7 +631,6 @@
    p[1]=maxY-minY-p[1]
  });
  dxf.drawPolyline(arr,{ closed: true, layer: '0' })
  const blob = new Blob([dxf.toDxfString()], {type: 'text/plain;charset=utf-8'});
@@ -627,7 +638,8 @@
  let filterData=ref({
    dataBase64:base64.replace(/^data:.+;base64,/, ""),
    orderId:rowIndex.value.orderId,
    orderNumber:rowIndex.value.orderNumber
    orderNumber:rowIndex.value.orderNumber,
    fileJson:fileJson.value
  })
  request.post(`/order/updateOrderFile`,filterData.value).then(res =>{
    if(res.code==200){
@@ -636,7 +648,7 @@
      ElMessage.error(res.msg)
    }
  })
  //saveAs(blob, 'map.dxf');
}
const fileToBase64 = (file) => {
@@ -746,9 +758,10 @@
          if(entity.vertices.length==4){
            points.value=point
            isQuadrilateral(maxY,minY,maxX,minX,point)
          }
          if(type==1){
            const polygon = new Polygon({
              points: point,
              stroke: '#f00'
@@ -756,15 +769,7 @@
            setTimeout(() => {
              leafer.add(polygon);
            }, 30);
          }else{
            const polygon = new Polygon({
              points: point,
              fill: "#32cd79"
            })
            setTimeout(() => {
              leafer.add(polygon);
            }, 30);
          }
          break;
@@ -896,7 +901,7 @@
  datas8.value=(maxY - minY) / big
  //points.value=[0, heightAgv, 0, 0, widthAgv, 0, widthAgv,heightAgv]
  let numbers = [point[0], point[2], point[4], point[6]]; // 示例数组
  /*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]; // 复制原数组避免突变
@@ -985,7 +990,7 @@
    data8.value=0
  }else{
    data8.value=round(maxY-minY-lowerRight[1]*big,0)
  }
  }*/
}
@@ -1153,6 +1158,21 @@
  document.removeEventListener('mouseup', stopDragLowRight)
}
const selectData =  (item) => {
  if(item.quadrilateral!=null){
    state.value=true
    data1.value=item.quadrilateral[2]
    data2.value=item.quadrilateral[3]
    data3.value=item.quadrilateral[4]
    data4.value=item.quadrilateral[5]
    data5.value=item.quadrilateral[0]
    data6.value=item.quadrilateral[1]
    data7.value=item.quadrilateral[6]
    data8.value=item.quadrilateral[7]
  }
}
</script>