廖井涛
77 分钟以前 f7a2fcdda7f1120498c5c5f75c5a99955fc54b43
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi2.vue
@@ -19,6 +19,8 @@
let dataList = ref([])
let list = ref([])
let lastList=ref([])
let projectNo = ref([])
let type = ref([])
let filterData = ref({})
@@ -27,36 +29,80 @@
})
const {currentRoute} = useRouter()
const route = currentRoute.value
data.value.printList = JSON.parse(route.query.printList)
const type = route.query.type
const faceOrientation = route.query.faceOrientation
const lableType = route.query.lableType
const printType=route.query.printType
projectNo.value = route.query.projectNo
type.value = route.query.type
onMounted(() => {
  request.post(`/processCard/getSelectPrintLabel1`,data.value).then((res) => {
    if (res.code == 200) {
      produceList.value = deepClone(res.data.data)
      for (let i = 0; i < produceList.value.length; i++) {
        let count= produceList.value[i].data.length
        for (let j = 0; j < count; j++) {
          for (let k = 0; k < produceList.value[i].data[j].quantity; k++){
            labelList.value.push(produceList.value[i].data[j])
          }
        }
  if (localStorage.getItem('hasRefreshed')=="false") {
    localStorage.setItem('hasRefreshed', 'true');
    location.reload();
  }else{
    localStorage.setItem('hasRefreshed', 'false');
  }
  //工程打印成品标签
  if(projectNo.value!=null){
    request.post(`/processCard/getSelectPrintLabel/${projectNo.value}/${type.value}`).then((res) => {
      if (res.code == 200) {
        labelList.value = deepClone(res.data.data)
      } else {
        ElMessage.warning(res.msg)
        router.push("/login")
      }
      console.log(labelList.value)
    } else {
      ElMessage.warning(res.msg)
      router.push("/login")
    }
  })
    })
  }else{
    data.value.printList = JSON.parse(route.query.printList)
    //流程卡编辑打印标签 常州
    if (printType == 1) {
      request.post(`/processCard/getSelectPrintLabel1`, data.value).then((res) => {
        if (res.code == 200) {
          produceList.value = deepClone(res.data.data)
          for (let i = 0; i < produceList.value.length; i++) {
            let count = produceList.value[i].data.length
            for (let j = 0; j < count; j++) {
              for (let k = 0; k < produceList.value[i].data[j].quantity; k++) {
                labelList.value.push(produceList.value[i].data[j])
              }
            }
          }
        } else {
          ElMessage.warning(res.msg)
          router.push("/login")
        }
      })
    }
    //明细分架打印标签 常州
    else if(printType==2){
      request.post(`/processCard/getSelectPrintLabelDetails`, data.value).then((res) => {
        if (res.code == 200) {
          produceList.value = deepClone(res.data.data)
          for (let i = 0; i < produceList.value.length; i++) {
            let count = produceList.value[i].data.length
            for (let j = 0; j < count; j++) {
              for (let k = 0; k < produceList.value[i].data[j].quantity; k++) {
                labelList.value.push(produceList.value[i].data[j])
              }
)
            }
          }
        } else {
          ElMessage.warning(res.msg)
          router.push("/login")
        }
      })
    }
  }
})
// 打印方法
@@ -76,7 +122,11 @@
  style.innerHTML =
      "body>#" +
      printId +
      "{display:none}@media print{body>:not(#" +
      "{display:none}@media print{" +
      "@page {" +
      "    size: auto; " +
      "    margin: 2mm 2mm 2mm 2mm;  " +
      "  }body>:not(#" +
      printId +
      "){display:none !important}body>#" +
      printId +
@@ -100,26 +150,52 @@
<template>
  <el-button id="printButton" @click="printFlowCard();">{{ $t('basicData.print') }}</el-button>
  <div id="printFlowCard" >
    <div id="entirety" v-for="(item,id) in labelList" >
      <div class="row1">
    <template v-for="(item,id) in labelList">
    <div id="entirety" >
      <div class="row1" v-if="item.customer_name!==undefined">
        <span>{{ item.customer_name }}</span>&nbsp;
        <span>{{ item.order_id }}</span>&nbsp;
        <span v-if="item.process.includes('夹胶')">胶片</span>
        <span v-if="item.process.includes('夹胶')||item.process.includes('夹层')">胶片</span>
        <span v-else-if="item.process.includes('中空')">中空</span>
        <span v-else-if="item.process.includes('百叶')">百叶</span>
        <span v-else></span>
      </div>
      <div class="row2">
      <div class="row2" v-if="item.customer_name!==undefined">
        <span>{{item.project}}</span>&nbsp;
        <span>{{ item.building_number }}</span>
        <span v-if="item.bend_radius!=null">R={{item.bend_radius}}</span>
      </div>
      <div class="row3" v-if="JSON.parse(item.other_columns).S02==null">{{item.width}}*{{item.height}}={{item.quantity}}</div>
      <div class="row3" v-else>{{JSON.parse(item.other_columns).S02}}={{item.quantity}}</div>
      <div class="row5">
      <div class="row3" v-if="item.other_columns!=null&&(JSON.parse(item.other_columns).S02!=null)">
        <span v-if="item.heat_layout_id!==undefined && company.showDeliveryCreator"  style="font-size: 7pt;">
          ({{ item.stock_id }}) {{ item.heat_layout_id }}/{{ item.heat_layout_sort }}
        </span>
        <span v-if="item.stock_id!==undefined && !company.showDeliveryCreator"  style="font-size: 7pt">
              {{ item.stock_id }}/{{ item.polys_id }}
        </span>
        {{JSON.parse(item.other_columns).S02}}={{item.quantity}}
      </div>
      <div class="row3" v-else>
         <span v-if="item.heat_layout_id!==undefined && company.showDeliveryCreator"  style="font-size: 7pt;">
          ({{ item.stock_id }}) {{ item.heat_layout_id }}/{{ item.heat_layout_sort }}
        </span>
        <span v-if="item.stock_id!==undefined && !company.showDeliveryCreator"  style="font-size: 7pt">
              {{ item.stock_id }}/{{ item.polys_id }}
        </span>
        {{Math.round(item.width)}}x{{Math.round(item.height)}}={{item.quantity}}
      </div>
      <div class="row5" v-if="item.customer_name!==undefined">
        <span>{{item.glass_child}}</span>&nbsp;
        <span>{{item.processing_note}}</span>
      </div>
    </div>
      <div style="width: 19px" v-if="id%2===0"></div>
      <div class="element-to-break-after" style="width: 1px" v-if="id%2===1"></div>
    </template>
  </div>
</template>
@@ -139,25 +215,32 @@
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
  margin-left: 5px;
  width: 500px;
}
#entirety{
  text-align: center;
  width: 50%;
  height: 105px;
  width: 48%;
  height: 160px;
  border: black 1px;
  word-wrap: break-word;
}
.row1 {
  font-size: 12pt;
  font-weight: bold;
  height: 25px;
  height: 35px;
}
.row1 span {
  font-size: 14pt;
}
.row2 {
  font-size: 12pt;
  font-weight: bold;
  height: 25px;
  height: 35px;
}
.row2 span {
  font-size: 17pt;
}
span {
  font-size: 12pt;
@@ -166,38 +249,52 @@
.row3 {
  margin-top: -5px;
  height: 30px;
  height: 35px;
  font-size: 20pt;
  font-weight: bolder;
  line-height: 35px;
}
.row3 span{
  font-size: 24pt;
}
.row5 {
  height: 25px;
  height: 50px;
  font-weight: bold;
  font-size: 12pt;
  font-size: 14pt;
}
.row5 span {
  font-size: 10pt;
  font-size: 16pt;
}
.row6 {
  height: 20px;
  height: 25px;
  font-weight: bold;
  font-size: 10pt;
}
@page {
  size: auto;  /* auto is the initial value */
  margin: 2mm 2mm 2mm 2mm  /* this affects the margin in the printer settings */
.row6 span {
  font-size: 16pt;
}
@media print {
  div {
    page-break-inside: avoid;
  }
.cell{
  position: absolute;
  font-weight: bold;
  margin-left: 5px;
  margin-top: 0px;
}
.cell1{
  position: absolute;
  font-weight: bold;
  margin-left: 225px;
  margin-top: -30px;
}
.element-to-break-after {
  page-break-after: always;
}
</style>