廖井涛
2024-09-26 fd61a030af048f25ced5096e731dcbd2bdf6fdbb
north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet2.vue
@@ -22,11 +22,11 @@
const getData = () => {
  request.get(`/order/printOrderProductGlassDetail/${props.orderId}`).then(res => {
    data.value= res.data
    console.log(data.value)
    res.data.orderDetail.forEach(item => {
    data.value.orderDetail.forEach(item => {
        grossNum.value.quantity += getQuantity(item.productDetail)
        grossNum.value.grossArea += getArea(item.productDetail)
        grossNum.value.perimeter += getPerimeter(item.productDetail)
        stringToJson(item.productDetail)
    })
@@ -40,6 +40,11 @@
onMounted(() => {
  getData()
})
const  stringToJson = (productList) => {
  productList.forEach(item => {
    item.otherColumns = JSON.parse(item.otherColumns)
  })
}
const getQuantity = (productList) => {
  let quantity = 0
@@ -74,9 +79,9 @@
<template>
  <div id="sheet">
    <table border="1">
    <table >
      <tr class="title-s">
        <th colspan="14">
        <th colspan="17">
          <img src="../../../assets/northGlass.ico" alt="" style="float: left;max-width: 60px;max-height: 60px">
          <h1>
            {{company.companyName}}
@@ -85,84 +90,97 @@
      </tr>
      <tr class="title-s">
        <th colspan="6">地址:{{company.address}}</th>
        <th colspan="4">电话:{{ company.telephone }}</th>
        <th colspan="4">传真:{{ company.fax }}</th>
        <th colspan="7">地址:{{company.address}}</th>
        <th colspan="5">电话:{{ company.telephone }}</th>
        <th colspan="5">传真:{{ company.fax }}</th>
      </tr>
      <tr class="title-s" style="height:  30px">
        <th colspan="17" >
          <hr class=".hr-border"/>
          <hr class=".hr-border"/>
        </th>
      </tr>
      <tr class="title-s" >
        <th colspan="14">
          <h3>玻璃加工单</h3>
        <th colspan="17">
          <h3>玻璃加工单({{data.order.orderType}})</h3>
        </th>
      </tr>
      <tr>
        <th class="title-1">客户名称</th>
        <th colspan="6"></th>
        <th colspan="7">{{data.order.customerName}}</th>
        <th class="title-1">工程名称</th>
        <th colspan="6"></th>
        <th colspan="8">{{data.order.project}}</th>
      </tr>
      <tr>
        <th class="title-1">生产单号</th>
        <th colspan="3"></th>
        <th colspan="3"> <el-text>{{data.order.orderId}}<el-text style="font-size: 12px;font-weight: bolder">(对应单号{{data.order.batch}})</el-text></el-text></th>
        <th class="title-1">下单日期</th>
        <th colspan="2"></th>
        <th colspan="3">{{data.order.createTime}}</th>
        <th class="title-1">订单类型</th>
        <th colspan="3"></th>
        <th colspan="4">{{data.order.orderType}}</th>
        <th class="title-1">跟单员</th>
        <th colspan="2"></th>
        <th colspan="3">{{data.order.salesman}}</th>
      </tr>
      <tr>
        <th>磨边</th>
        <th colspan="3"></th>
        <th colspan="3">{{data.order.otherRemarks}}</th>
        <th>完工日期</th>
        <th colspan="2"></th>
        <th colspan="3">{{data.order.deliveryDate}}</th>
        <th>商标</th>
        <th colspan="3"></th>
        <th colspan="4">{{data.order.icon}}</th>
        <th>包装</th>
        <th colspan="2"></th>
        <th colspan="3">{{data.order.packType}}</th>
      </tr>
        <tr>
          <th >序号</th>
          <th >图号</th>
          <th >{{company.columnName}}</th>
          <th>彩釉图号</th>
          <th>编号</th>
          <th>规格(宽W*高H)</th>
          <th>片数</th>
          <th>面积</th>
          <th>延米</th>
          <th>交货日期</th>
          <th>序号</th>
          <th>箱架号</th>
          <th>半径</th>
          <th>楼号</th>
          <th>加工要求</th>
          <th colspan="2">备注</th>
          <th>备注1</th>
          <th>备注2</th>
          <th>磨边/备注/加工内容</th>
          <th>备注3</th>
          <th>备注4</th>
        </tr>
      <tbody v-for="(item,index) in data.orderDetail" :key="index">
      <tr>
        <td colspan="2" class="no-change-row">产品名称</td>
        <td colspan="8">{{item.productName}}</td>
        <td colspan="10" style="text-align: left">{{item.productName}}</td>
        <td class="no-change-row">产品描述</td>
        <td colspan="3"></td>
        <td colspan="4"></td>
      </tr>
      <template v-for="(item1,index1) in item.productDetail" :key="index1">
        <tr  >
          <td>{{item1.orderNumber}}</td>
          <td>{{}}</td>
          <td>{{}}</td>
          <td>{{}}</td>
          <td class="notChangeRow">{{  item1.otherColumns?.S02}}</td>
          <td>{{  item1.otherColumns?.S03}}</td>
          <td class="notChangeRow">{{  item1.otherColumns?.S01}}</td>
          <td>{{item1.width}}*{{item1.height}}</td>
          <td>{{item1.quantity}}</td>
          <td>{{item1.grossArea}}</td>
          <td>{{item1.perimeter}}</td>
          <td>{{item1.bendRadius}}</td>
          <td></td>
          <td></td>
          <td></td>
          <td></td>
          <td></td>
          <td>{{item1.buildingNumber}}</td>
          <td>{{item1.processingNote}}</td>
          <td colspan="2">{{item1.remarks}}</td>
          <td>{{((item1.otherColumns?.S04)?item1.otherColumns.S04:'')}}</td>
          <td>{{((item1.otherColumns?.S05)?item1.otherColumns.S05:'')}}</td>
          <td>{{((item1.otherColumns?.S06)?item1.otherColumns.S06:'')}}</td>
          <td>{{((item1.otherColumns?.S07)?item1.otherColumns.S07:'')}}</td>
<!--          {{-->
<!--            ((item1.otherColumns?.S04)?item1.otherColumns.S04:'')+'/'+-->
<!--            ((item1.otherColumns?.S05)?item1.otherColumns.S05:'')+'/'+-->
<!--            ((item1.otherColumns?.S06)?item1.otherColumns.S06:'')+'/'+-->
<!--            ((item1.otherColumns?.S07)?item1.otherColumns.S07:'')-->
<!--          }}-->
        </tr>
        <tr v-if="item1.differentSize">
@@ -174,7 +192,7 @@
          <td>下料-高</td>
          <td>拱高</td>
          <td colspan="4"></td>
          <td colspan="7"></td>
        </tr>
        <tr v-if="item1.differentSize" v-for="(item2,index2) in item1.orderGlassDetails" :key="index2" >
@@ -182,10 +200,10 @@
            <td>{{ item2.technologyNumber }}</td>
            <td colspan="4"> {{item2.glassChild}}</td>
            <td>{{item2.childWidth}}</td>
            <td>{{item1.bendRadius}}</td>
            <td>{{item2.arc}}</td>
            <td>{{item2.childHeight}}</td>
            <td>{{item2.archRise}}</td>
            <td colspan="4"></td>
            <td>{{item1.archRise}}</td>
            <td colspan="7"></td>
          </tr>
      </template>
@@ -195,7 +213,7 @@
        <td>{{getQuantity(item.productDetail)}}</td>
        <td>{{getArea(item.productDetail)}}</td>
        <td>{{getPerimeter(item.productDetail)}}</td>
        <td colspan="6"></td>
        <td colspan="9"></td>
      </tr>
@@ -205,10 +223,10 @@
        <td>{{grossNum.quantity}}</td>
        <td>{{grossNum.grossArea}}</td>
        <td>{{grossNum.perimeter}}</td>
        <td colspan=""></td>
        <td colspan="9"></td>
      </tr>
      <tr>
        <td colspan="14" style="white-space: pre-wrap;text-align:left ">
        <td colspan="17" style="white-space: pre-wrap;text-align:left ">
          <template v-for="(item,index) in data.order.processingNote.split('\n')">
            {{item}}
            <br>
@@ -222,7 +240,7 @@
<style scoped>
#sheet{
  width: 100%;
  width: 98%;
  height: 100%;
  text-align: center;
}
@@ -245,11 +263,11 @@
table{
  border-collapse: collapse;
  border: 1px solid black;
  //border: 1px solid black;
  width: 100%;
  text-align: center;
}
table, th, td {
tr, th, td {
  border: 1px solid black;
  border-collapse: collapse;
}
@@ -271,5 +289,12 @@
  border:0
}
.notChangeRow{
  white-space: nowrap;
}
@media print {
  @page {
    margin: 5mm; /* 设置打印页面的边距 */
  }
}
</style>