north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -11,6 +11,7 @@
import companyInfo from "@/stores/sd/companyInfo";
import userInfo from "@/stores/userInfo"
import {add} from '@/utils/decimal'
import ImageSizeEditor from '@/components/ImageSizeEditor.vue'
//语言获取
const company = companyInfo()
const {t} = useI18n()
@@ -19,6 +20,7 @@
let list = ref()
const details = ref([])
const user=userInfo()
const imgSizeMap = ref({})
let totalQuantity = 0;  // 用于记录总数量
let totalArea = 0;      // 用于记录总面积
@@ -168,7 +170,19 @@
      //每个序号面积
      collection.total_area = parseFloat((collection.width * collection.height * collection.quantity / 1000000).toFixed(2))
      totalArea = add(totalArea, collection.total_area)
      totalWeight += collection.width * collection.height * collection.quantity / 1000000 * collection.separation * 2.5 * 1;
      //根据有几层计算重量
      for (let j = 0; j < produceList.value[i].detail.length; j++) {
       let ceng = produceList.value[i].detail[j].technologyNumber.length
        if (produceList.value[i].processName!=""){
          for (let k = 0; k < produceList.value[i].detail[j].technologyNumber.length; k++) {
            totalWeight += collection.width * collection.height * collection.quantity / 1000000 * collection.separation * 2.5 * 1;
          }
        }else {
          totalWeight += collection.width * collection.height * collection.quantity / 1000000 * collection.separation * 2.5 * 1;
        }
      }
      //每个序号周长
      collection.perimeter = parseFloat(((collection.width * 2 + collection.height * 2) * collection.quantity / 1000).toFixed(3))
    });
@@ -307,7 +321,7 @@
  <!--  <el-button id="printButton" @click="printFlowCard();">{{ $t('basicData.print') }}</el-button>-->
  <div id="printFlowCard">
<div id="contentDiv" v-for="(item,id) in produceList" :key="id">
  <table  id="contentTable"  style="border-bottom: none">
  <table  id="contentTable"  style="border-bottom: none;margin-bottom: 20px">
    <thead>
    <tr v-for="(itemFlow,index) in item.detail" :key="index">
      <td  colspan="31">
@@ -316,7 +330,7 @@
        <div id="bj" v-else style="float: right;font-size: 28px"></div>
        <div>{{ company.companyName }}</div>
        <div>
          生产流程卡<span style="font-weight: bold" v-if="printProject!=null">({{ printProject }})</span>
          ({{itemFlow.order_type}})生产流程卡<span style="font-weight: bold" v-if="printProject!=null">({{ printProject }})</span>
          <span style="font-weight: bold" v-if="props.compound!=null">({{ props.compound }}层同架)</span>
        </div>
        <div  style="font-weight: bolder;display: flex;justify-content:space-between">
@@ -357,9 +371,12 @@
      <td v-if="name=='天津北玻玻璃工业技术有限公司(TJBB-QR7.1-01)'"  colspan="4">{{ itemTr.other_remarks }}</td>
      <td v-else colspan="4">{{ itemTr.edging_type }}</td>
      <td class="tdNowrap">单片名称:</td>
      <td colspan="3">{{ itemTr.glass_child }}</td>
      <td v-if="!company.processFontSize" colspan="3">{{ itemTr.glass_child }}</td>
      <td v-else colspan="3" style="font-size: 18px;">{{ itemTr.glass_child }}</td>
      <td class="tdNowrap">产品名称:</td>
      <td :colspan="2+item.processList.length*2">{{ itemTr.product_name }}</td>
      <td v-if="!company.processFontSize" :colspan="2+item.processList.length*2">{{ itemTr.product_name }}</td>
      <td v-else :colspan="2+item.processList.length*2" style="font-size: 18px;">{{ itemTr.product_name }}</td>
    </tr>
    <tr>
      <td rowspan='2'>序号</td>
@@ -386,7 +403,7 @@
    <tr v-for="(itemDatile,index) in item.detailList" :key="index">
      <td>{{ itemDatile.order_number }}</td>
      <td>{{ itemDatile.mapNumber }}</td>
      <td v-if="name=='金华福喜天成玻璃有限公司'">{{ itemDatile.building_number }}</td>
      <td v-if="name=='金华福喜天成玻璃有限公司' || name=='浙江巨星嘉泰新材料有限公司' ">{{ itemDatile.building_number }}</td>
      <td v-else>{{ itemDatile.s01Value }}</td>
      <td>{{ itemDatile.technology_number }}</td>
      <td>{{ itemDatile.child_width }}</td>
@@ -475,7 +492,9 @@
      <tr v-for="(itemtextareas,index) in item.detail" :key="index">
        <td  colspan="31"  style="width: 480px;height: 150px ">
          <div style="width: 100%;height: 100%;text-align: left"><textarea style="height: 99%;width: 99%;border: none;;font-size: 14px;font-weight: bold;overflow: hidden;text-align: left;vertical-align: middle">{{itemtextareas.processing_note}}</textarea>
          <div style="width: 100%;height: 100%;text-align: left">
            <textarea v-if="!company.processFontSize" style="height: 99%;width: 99%;border: none;;font-size: 14px;font-weight: bold;overflow: hidden;text-align: left;vertical-align: middle">{{itemtextareas.processing_note}}</textarea>
            <textarea v-else style="height: 99%;width: 99%;border: none;;font-size: 36px;font-weight: bold;overflow: hidden;text-align: left;vertical-align: middle">{{itemtextareas.processing_note}}</textarea>
          </div>
        </td>
      </tr>
@@ -489,12 +508,20 @@
      </tr>
      </tfoot>
    </table>
  <el-image
      v-for="(img, index) in getPicturesByDetailList(item.detailList)"
      :key="index"
      :src="img.imageBase64"
      fit="contain"
      style="max-width: 100%;"
<!--  <el-image-->
<!--      v-for="(img, index) in getPicturesByDetailList(item.detailList)"-->
<!--      :key="index"-->
<!--      :src="img.imageBase64"-->
<!--      fit="contain"-->
<!--      style="max-width: 100%;margin: 50px"-->
<!--  />-->
  <ImageSizeEditor
      :images="getPicturesByDetailList(item.detailList)"
      v-model:sizeMap="imgSizeMap"
      key-field="orderNumber"
      src-field="imageBase64"
      :default-width="300"
      :default-height="300"
  />
  </div>
  </div>
@@ -565,9 +592,26 @@
@media print {
  /* 禁用 Chrome 自动页码触发条件 */
  * {
    overflow: visible !important;
    transform: none !important;
    filter: none !important;
  }
  [style*="position: fixed"],
  .fixed,
  .header-fixed {
    position: absolute !important;
  }
  @page {
    size: auto;  /* auto is the initial value */
    margin: 4mm 5mm 10mm 5mm  /* this affects the margin in the printer settings */
    margin: 4mm 5mm 10mm 5mm;  /* this affects the margin in the printer settings */
    @top-right {
      content: none !important;
    }
  }