廖井涛
2024-07-02 02429799ad230d218d89766fd65766b31a80565a
提交
17个文件已修改
2个文件已添加
705 ■■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet1.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/order/OrderDetail.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet3.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabel1.vue 270 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi1.vue 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProcess.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/OrderOtherMoneyMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet1.vue
@@ -29,7 +29,6 @@
  request.post(`/Delivery/getSelectDeliveryPrinting`,form.value).then((res) => {
    if(res.code==200){
      console.log(res.data.otherMoney)
      produceList.value = deepClone(res.data.data)
      delivery.value=deepClone(res.data.delivery)
      money.value=deepClone(res.data.money)
@@ -128,9 +127,9 @@
      </tr>
      <template v-for="(item, index) in produceList" :key="index" >
        <tr>
          <td style="font-size: 15px;font-weight: bold;text-align: left" colspan="4">产品名称:<span>{{item.DeliveryDetail.productName}}</span></td>
          <td style="font-size: 15px;font-weight: bold;text-align: left" colspan="4">产品名称:<span>{{item.DeliveryDetail.orderDetail.productName}}</span></td>
          <td style="font-size: 15px;font-weight: bold;text-align: left" colspan="3">对方单号:</td>
          <td style="font-size: 15px;font-weight: bold;text-align: left" colspan="3">订单编号:<span>{{item.DeliveryDetail.orderId}}</span></td>
          <td style="font-size: 15px;font-weight: bold;text-align: left" colspan="3">订单编号:<span>{{item.DeliveryDetail.orderDetail.orderId}}</span></td>
        </tr>
        <tr class="day-in" v-for="(items, index1) in item.DeliveryDetailList" :key="index1">
north-glass-erp/northglass-erp/src/components/sd/order/OrderDetail.vue
@@ -36,7 +36,7 @@
    {field: 'buildingNumber',width:120,  title: t('order.buildingNumber'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter'}, sortable: true,filterMethod:filterChanged},
    {field: 'productId',width:140,  title: t('order.productId'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'productName',width:300,  title: t('order.product'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    //{field: 'price',width:140,  title: t('order.price'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'price',width:140,  title: t('order.price'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    //{field: 'grossAmount',width:160,  title: t('order.grossAmount'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'width',width:120,  title: t('order.width') ,editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'height',width:140,  title: t('order.height'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
@@ -45,6 +45,7 @@
    {field: 'grossArea',width:160,  title: t('order.trueGrossArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter'}, sortable: true,filterMethod:filterChanged},
    {field: 'computeArea',width:180,  title: t('order.computeArea'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'computeGrossArea',width:200,  title: t('order.computeGrossArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'perimeter',width:200,  title: t('order.perimeter'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'processingNote',width:200,  title: t('order.processingNote'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'remarks',width:140,  title: t('basicData.remarks'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'shape',width:120,
north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet3.vue
@@ -8,6 +8,7 @@
const company = companyInfo()
let produceList = ref([])
let delivery = ref([])
let otherMoney = ref([])
let money = ref("")
let takeCare = "注意:请妥善保管好我司的玻璃架,如有丢失或损坏,按1500元只赔偿。谢谢配合!"
let remark = "备注:本批玻璃为优等合格品,请在卸货时,当面消点验收、如有质量问题在一周内与本公司联系,否则概不负责!"
@@ -31,6 +32,7 @@
      produceList.value = deepClone(res.data.data)
      delivery.value=deepClone(res.data.delivery)
      money.value=deepClone(res.data.money)
      otherMoney.value=deepClone(res.data.otherMoney)
    }else{
      ElMessage.warning(res.msg)
@@ -127,18 +129,24 @@
      </tr>
      <tr class="day-in">
        <td style="text-align: left;border-width: 0 1px 0 0; border-style: solid; border-color: #d3dce6" colspan="4">
          <div style="display: flex;font-size: 10px;">
            <div>加工费用</div>
            <div  style="margin-left: 20%">单价</div>
            <div  style="margin-left: 20%">数量</div>
            <div  style="margin-left: 20%">金额</div>
          <div style="display: flex;font-size: 10px;text-align: center;">
            <div style="width: 25%">加工费用</div>
            <div  style="width: 25%">单价</div>
            <div  style="width: 25%">数量</div>
            <div  style="width: 25%">金额</div>
          </div>
        </td>
        <td style="text-align: left;border:none;font-size: 15px;font-weight: bold;" colspan="5">总金额:&nbsp;&nbsp;&nbsp;&nbsp;{{delivery.money}}</td>
      </tr>
      <tr class="day-in">
        <td style="text-align: left;border-width: 0 1px 0 0; border-style: solid; border-color: #d3dce6;" colspan="4"></td>
        <td style="text-align: left;border-width: 0 1px 0 0; border-style: solid; border-color: #d3dce6;" colspan="4" >
          <div style="display: flex;font-size: 10px;text-align: center" v-for="(item, index2) in otherMoney" :key="index2">
            <div style="width: 25%">{{item.DeliveryDetailOtherMoney[0].alias}}</div>
            <div  style="width: 25%">{{item.DeliveryDetailOtherMoney[0].price}}</div>
            <div  style="width: 25%">{{item.DeliveryDetailOtherMoney[0].count}}</div>
            <div  style="width: 25%">{{item.DeliveryDetailOtherMoney[0].monery}}</div>
          </div>
        </td>
        <td style="text-align: left;border:none;font-size: 15px;font-weight: bold;" colspan="5">大写金额:&nbsp;&nbsp;&nbsp;&nbsp;{{money}}</td>
      </tr>
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabel1.vue
New file
@@ -0,0 +1,270 @@
<script setup>
import request from "@/utils/request"
import {ElDatePicker, ElMessage} from "element-plus"
import {nextTick, onMounted, onUnmounted, reactive, ref, watch} from "vue"
import {Search} from "@element-plus/icons-vue"
import {useRouter} from 'vue-router'
import {changeFilterEvent, filterChanged} from "@/hook"
import {useI18n} from 'vue-i18n'
import deepClone from "@/utils/deepClone";
import companyInfo from "@/stores/sd/companyInfo"
const company = companyInfo()
//语言获取
const {t} = useI18n()
let router = useRouter()
let produceList = ref([])
let labelList = ref([])
let titleList = ref([])
let dataList = ref([])
let list = ref([])
let lastList = ref([])
let filterData = ref({})
const data = ref({
  printList: []
})
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
onMounted(() => {
      request.post(`/processCard/getSelectPrintCustomLabel/${type}`, data.value).then((res) => {
        if (res.code == 200) {
          produceList.value = deepClone(res.data.title)
          list.value = deepClone(res.data.data)
          const data = produceList.value[0].value
          dataList = JSON.parse(`[${data}]`);
          labelList = dataList[0]
          for (let i = 0; i < list.value.length; i++) {
            let count = list.value[i].data.length
            for (let j = 0; j < count; j++) {
              for (let k = 0; k < list.value[i].data[j].quantity; k++) {
                lastList.value.push(list.value[i].data[j])
              }
            }
          }
        } else {
          ElMessage.warning(res.msg)
          router.push("/login")
        }
      })
    }
)
// 打印方法
const printFlowCard = () => {
  // 需要打印的局部区域赋予"print-wrap"的id
  let el = document.getElementById("print");
  let doc = document;
  let body = doc.body || doc.getElementsByTagName("body")[0];
  let printId = "print-" + Date.now();
  // 创建无副作用的打印容器(因不确定页面的打印元素有无其它样式)
  let content = doc.createElement("div");
  content.id = printId;
  // 样式控制与打印无关的元素隐藏
  let style = doc.createElement("style");
  style.innerHTML =
      "body>#" +
      printId +
      "{display:none}@media print{body>:not(#" +
      printId +
      "){display:none !important}body>#" +
      printId +
      "{display:block;padding-top:1px}}";
  //
  content.innerHTML = el.outerHTML;
  // // console.log("el.outerHTML", el.outerHTML);
  body.appendChild(style);
  // 与style元素设置的样式相配合
  // 把打印内容的元素添加到body(作为body的子元素,可用body的子选择器 '>' 控制打印样式)
  body.appendChild(content);
  setTimeout(() => {
    window.print();
    body.removeChild(content);
    body.removeChild(style);
  }, 20);
}
</script>
<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">{{ item.customer_name }}</div>
      <div  class="row2">
        <span>{{ item.order_id }}</span>&nbsp;
        <span>{{ item.type_name }}</span>
      </div>
      <div class="row3">{{item.width}}*{{item.height}}={{item.quantity}}</div>
      <div class="row5">
        <span>{{item.project}}</span>&nbsp;
        <span>{{ item.building_number }}</span>
      </div>
      <div class="row6">
        <span>{{item.glass_child}}</span>&nbsp;
        <span>{{item.processing_note}}</span>
      </div>
    </div>
  </div>
</template>
<style scoped>
* {
  margin: 0;
  padding: 0;
}
body {
  font-weight: bolder;
  overflow: hidden;
}
#printButton {
  margin-top: -20px;
  width: 100px;
}
/*成*/
.printFlowCard_finished {
  /*
  font-family: 'Microsoft YaHei', '微软雅黑', sans-serif;
  */
  flex-wrap: wrap;
  font-size: 12pt;
  display: flex;
  flex-direction: column;
}
/*成*/
.entirety_finished {
  display: flex;
  text-align: center;
  flex-direction: column;
  margin-left: 10px;
  width: 100%;
  height: 100%;
}
/*div{
  font-family: 'Microsoft YaHei', '微软雅黑', sans-serif;
}*/
.row3 {
  text-align: center;
  font-weight: bolder;
  font-size: 22px;
  /*display: flex;
  justify-content:space-evenly;*/
}
.row3 label {
  font-size: 22px;
  margin-top: 28px;
}
.contentRow {
  font-weight: bolder;
  display: flex;
  text-align: center;
  width: 100%;
}
label {
  font-weight: bolder;
  /*font-family: 'Microsoft YaHei', '微软雅黑', sans-serif;*/
}
.contentRow .row1 {
  width: 30%;
  font-weight: bolder;
}
.entirety_finished .row4 {
  font-weight: bolder;
  text-align: right;
  margin-right: 10px;
}
.contentRow .row1, .contentRow .row2 {
  text-align: left;
  font-weight: bolder;
}
@page {
  size: auto;  /* auto is the initial value */
  margin: 13mm 4mm 0mm 6mm;  /* this affects the margin in the printer settings */
}
@media print {
  div {
    page-break-inside: avoid;
  }
  .entirety_finished {
    page-break-before: always;
  }
}
.printFlowCard_finished1 {
  flex-wrap: wrap;
  font-size: 8pt;
  display: flex;
  flex-direction: column;
}
/*成*/
.entirety_finished1 {
  display: flex;
  text-align: center;
  flex-direction: column;
  margin-left: 10px;
  width: 337px;
  height: 120px;
}
.contentRow1 {
  font-weight: bolder;
  display: flex;
  text-align: center;
  width: 100%;
}
.contentRow1 .row1 {
  width: 30%;
  font-weight: bolder;
}
.entirety_finished1 .row4 {
  font-weight: bolder;
  text-align: right;
  margin-right: 10px;
}
.contentRow1 .row1, .contentRow1 .row2 {
  text-align: left;
  font-weight: bolder;
}
</style>
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi.vue
@@ -195,18 +195,20 @@
}
.printFlowCard_semi1 {
  font-size: 6pt;
  flex-wrap: wrap;
  font-size: 8pt;
  display: flex;
}
/*成*/
.entirety_semi1 {
  width: 50%;
  display: flex;
  text-align: center;
  flex-direction: column;
  margin-left: 10px;
  width: 170px;
  height: 60px;
  margin-left: -10px;
  height: 80px;
}
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi1.vue
New file
@@ -0,0 +1,201 @@
<script setup>
import request from "@/utils/request"
import {ElDatePicker, ElMessage} from "element-plus"
import {nextTick, onMounted, onUnmounted, reactive, ref, watch} from "vue"
import {Search} from "@element-plus/icons-vue"
import {useRouter} from 'vue-router'
import {changeFilterEvent, filterChanged} from "@/hook"
import {useI18n} from 'vue-i18n'
import deepClone from "@/utils/deepClone";
import companyInfo from "@/stores/sd/companyInfo"
const company = companyInfo()
//语言获取
const {t} = useI18n()
let router = useRouter()
let produceList = ref([])
let labelList = ref([])
let titleList = ref([])
let dataList = ref([])
let list = ref([])
let lastList=ref([])
let filterData = ref({})
const data = ref({
  printList: []
})
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
onMounted(() => {
      request.post(`/processCard/getSelectPrintCustomLabel/${type}`, data.value).then((res) => {
        if (res.code == 200) {
          console.log(res.data.data)
          produceList.value = deepClone(res.data.title)
          list.value = deepClone(res.data.data)
          const data = produceList.value[0].value
          dataList = JSON.parse(`[${data}]`);
          labelList = dataList[0]
          for (let i = 0; i < list.value.length; i++) {
            let count= list.value[i].data.length
            for (let j = 0; j < count; j++) {
              for (let k = 0; k < list.value[i].data[j].quantity; k++){
                lastList.value.push(list.value[i].data[j])
              }
            }
          }
          console.log(lastList.value)
        } else {
          ElMessage.warning(res.msg)
          router.push("/login")
        }
      })
    }
)
// 打印方法
const printFlowCard = () => {
  // 需要打印的局部区域赋予"print-wrap"的id
  let el = document.getElementById("print");
  let doc = document;
  let body = doc.body || doc.getElementsByTagName("body")[0];
  let printId = "print-" + Date.now();
  // 创建无副作用的打印容器(因不确定页面的打印元素有无其它样式)
  let content = doc.createElement("div");
  content.id = printId;
  // 样式控制与打印无关的元素隐藏
  let style = doc.createElement("style");
  style.innerHTML =
      "body>#" +
      printId +
      "{display:none}@media print{body>:not(#" +
      printId +
      "){display:none !important}body>#" +
      printId +
      "{display:block;padding-top:1px}}";
  //
  content.innerHTML = el.outerHTML;
  // // console.log("el.outerHTML", el.outerHTML);
  body.appendChild(style);
  // 与style元素设置的样式相配合
  // 把打印内容的元素添加到body(作为body的子元素,可用body的子选择器 '>' 控制打印样式)
  body.appendChild(content);
  setTimeout(() => {
    window.print();
    body.removeChild(content);
    body.removeChild(style);
  }, 20);
}
</script>
<template>
  <el-button id="printButton" @click="printFlowCard();">{{ $t('basicData.print') }}</el-button>
  <div id="printFlowCard" >
    <div id="entirety" v-for="(item,id) in lastList" >
      <div class="row1">
        <span>{{ item.customerAbbreviation }}</span>&nbsp;
        <span>{{ item.orderId }}</span>
      </div>
      <div  class="row2">
        <span>{{ item.project }}</span>&nbsp;
        <span>{{ item.building_number }}</span>
      </div>
      <div class="row3">{{item.width}}*{{item.height}}={{item.quantity}}</div>
      <div class="row5">
        <span>{{item.remarks}}</span>&nbsp;
        <span>{{ item.processing_note }}</span>
      </div>
    </div>
  </div>
</template>
<style scoped>
* {
  margin: 0;
  padding: 0;
}
#printButton {
  margin-top: -20px;
  width: 100px;
}
#printFlowCard {
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
  margin-left: 5px;
  margin-top: 15px;
}
#entirety{
  text-align: center;
  width: 185px;
  height: 87px;
  margin-bottom: 10px;
}
.row1 {
  font-size: 8pt;
  font-weight: bold;
  height: 16px;
}
.row2 {
  font-size: 8pt;
  font-weight: bold;
  height: 16px;
}
span {
  font-size: 8pt;
  font-weight: bold;
}
.row3 {
  margin-top: -5px;
  height: 19px;
  font-size: 12pt;
  font-weight: bolder;
}
.row5 {
  height: 15px;
  font-weight: bold;
  font-size: 8pt;
}
.row6 {
  height: 15px;
  font-weight: bold;
  font-size: 8pt;
}
@page {
  size: auto;  /* auto is the initial value */
  margin: 8mm 4mm 0mm 6mm  /* this affects the margin in the printer settings */
}
@media print {
  div {
    page-break-inside: avoid;
  }
}
</style>
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue
@@ -230,7 +230,7 @@
    buttons: [
      {code: 'print', name: t('processCard.print'), status: 'primary'},
      {code: 'customLabel', name: t('processCard.customLabelPrinting'), status: 'primary'},
      {code: 'printLabel', name: '标签打印', status: 'primary'},
    ],
    // import: false,
    // export: true,
@@ -298,6 +298,7 @@
              id += selectRecords[i].id + "|"
            }
          }
          console.log(selectRecords)
          router.push({path: '/main/processCard/PrintLabel', query: {printList: JSON.stringify(selectRecords)}})
          break
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue
@@ -12,8 +12,11 @@
let router = useRouter()
let produceList = ref([])
let labelList = ref([])
let list = ref([])
let projectNo = ref([])
let orderId = ref([])
const data = ref({
  printList: []
})
@@ -21,30 +24,45 @@
const {currentRoute} = useRouter()
const route = currentRoute.value
projectNo.value = route.query.projectNo
data.value.printList = JSON.parse(route.query.printList)
onMounted(() => {
  if(projectNo.value!=null){
    request.post(`/processCard/getSelectPrintLabel/${projectNo.value}`).then((res) => {
      if (res.code == 200) {
        labelList.value = deepClone(res.data.data)
      request.post(`/processCard/getSelectPrintLabel/${projectNo.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{
    console.log(JSON.stringify(route.query.printList))
    request.post(`/processCard/getSelectPrintLabel1`,data.value).then((res) => {
      if (res.code == 200) {
        console.log(res.data.data)
        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])
            }
          }
          console.log(labelList.value)*/
        } else {
          ElMessage.warning(res.msg)
          router.push("/login")
        }
      })
    }
          }
        }
        console.log(labelList.value)
      } else {
        ElMessage.warning(res.msg)
        router.push("/login")
      }
    })
  }
}
)
@@ -110,7 +128,7 @@
        </div>
      </div>
    </div>-->
    <div id="entirety" v-for="(item,id) in produceList" >
    <div id="entirety" v-for="(item,id) in labelList" >
        <div class="row1">{{ item.customer_name }}</div>
        <div  class="row2">
          <span>{{ item.order_id }}</span>&nbsp;
@@ -151,7 +169,7 @@
#entirety{
  text-align: center;
  width: 195px;
  width: 185px;
  height: 87px;
  margin-bottom: 10px;
}
@@ -195,7 +213,7 @@
@page {
  size: auto;  /* auto is the initial value */
  margin: 7mm 2mm 2mm 0mm  /* this affects the margin in the printer settings */
  margin: 8mm 4mm 0mm 6mm  /* this affects the margin in the printer settings */
}
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProcess.vue
@@ -24,6 +24,7 @@
const route = currentRoute.value
const printMerge = route.query.printMerge
data.value.printList = JSON.parse(route.query.printList)
console.log(route.query.printList)
let flowCardCount = data.value.printList.length
onMounted(() => {
      // if (id === null || id === undefined || id === '') {
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -792,7 +792,7 @@
    titleUploadData.value.alType = titleSelectJson.value.alType[0].basicName
    titleUploadData.value.calculateType = 2
    const today = new Date
    today.setTime(today.getTime() + (15 * 24 * 60 * 60 * 1000))
    today.setTime(today.getTime() + (7 * 24 * 60 * 60 * 1000))
    titleUploadData.value.deliveryDate = today.getFullYear() +
        '-' + ("0" + (today.getMonth() + 1)).slice(-2)
        + '-' + ("0" + today.getDate()).slice(-2)
north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
@@ -22,7 +22,7 @@
  align: 'center',//文字居中
  stripe:true,//斑马纹楼号
  rowConfig: {isCurrent: true, isHover: true,height: 30},//鼠标移动或选择高亮
  id: 'OrderList',
  id: 'updateOrderCraft',
  printConfig: {},
  importConfig: {},
  exportConfig: {},
north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java
@@ -189,6 +189,12 @@
        return Result.seccess(flowCardService.getSelectPrintLabelSv(projectNo));
    }
    @ApiOperation("打印标签查询接口")
    @PostMapping("/getSelectPrintLabel1")
    public Result getSelectPrintLabel1(@RequestBody Map<String, Object> object) {
        return Result.seccess(flowCardService.getSelectPrintLabelSv1(object));
    }
    @ApiOperation("打印自定义标签数据查询接口")
    @PostMapping("/getSelectPrintCustomLabel/{type}")
    public Result getSelectPrintCustomLabel( @PathVariable String type,
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
@@ -84,6 +84,8 @@
    List<Map<String, String>> getPrintLabel(String projectNo);
    List<Map<String, String>> getPrintLabel1(String processId,Integer technologyNumber);
    List<Map<String, String>> printFlowCardDetailsMp(String processId, String technologyNumber, FlowCard flowCard);
    Boolean printSortMp(String processId, Integer orderNumber, Integer technologyNumber, Integer sort);
north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java
@@ -35,6 +35,8 @@
    List <Map<String, Object>> getSelectotherMoney(@Param("orderId") String orderId,@Param("deliveryId") String deliveryId,
                                                               @Param("key") String key,@Param("value") String value);
    List <Map<String, Object>> getSelectOrderotherMoney(@Param("orderId") String orderId, @Param("key") String key,@Param("value") String value);
    List <Map<String, Object>> getSelectOrderDetailPrinting(@Param("productId") Integer productId,@Param("orderId") String orderId);
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -282,23 +282,27 @@
        Map<String, Object> map = new HashMap<>();
        map.put("data", flowCardMapper.getPrintLabel(projectNo));
        return map;
       /* Map<String, Object> map = new HashMap<>();
        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//最终结果
        List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
        if (!flowCardList.isEmpty()) {
            for (FlowCard flowCard : flowCardList) {
               // Integer count=flowCardMapper.getPrintLabelCount(flowCard.getProcessId(), flowCard.getTechnologyNumber());
                Map<String, Object> itemmap = new HashMap<>();
               // for (int i = 0; i < count; i++) {
                    itemmap.put("data", flowCardMapper.getPrintLabel(flowCard.getProcessId(), flowCard.getTechnologyNumber()));
    }
    public Map<String, Object> getSelectPrintLabelSv1(Map<String, Object> object) {
        Map<String, Object> map = new HashMap<>();
            List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//最终结果
            List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
            if (!flowCardList.isEmpty()) {
                for (FlowCard flowCard : flowCardList) {
                    // Integer count=flowCardMapper.getPrintLabelCount(flowCard.getProcessId(), flowCard.getTechnologyNumber());
                    Map<String, Object> itemmap = new HashMap<>();
                    // for (int i = 0; i < count; i++) {
                    itemmap.put("data", flowCardMapper.getPrintLabel1(flowCard.getProcessId(), flowCard.getTechnologyNumber()));
                    list.add(itemmap);
                //}
                    //}
                }
            }
        }
            map.put("data", list);
        map.put("data", list);
        return map;*/
        return map;
    }
    public Map<String, Object> printFlowCardDetailsSv(String processId, String technologyNumber, FlowCard flowCard) {
north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
@@ -351,6 +351,7 @@
        List<DeliveryDetail> deliveryDetailList=deliveryDetailMapper.getSelectDeliveryPrinting(deliveryDetail);
        String orderId="";
        for (DeliveryDetail detail : deliveryDetailList) {
            System.out.println(detail);
            orderId=detail.getOrderDetail().getOrderId();
            Map<String, Object> itemmap = new HashMap<>();
@@ -360,10 +361,13 @@
                if(stringObjectMap.get("other_columns")!=null){
                    JSONObject jsonObject = JSON.parseObject(stringObjectMap.get("other_columns").toString());
                    for(String key : jsonObject.keySet()){
                        Map<String, Object> moneryItemmap = new HashMap<>();
                        List<Map<String, Object>> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectotherMoney(detail.getOrderDetail().getOrderId(),detail.getDeliveryId(),key,jsonObject.get(key).toString());
                        moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney);
                        moneryList.add(moneryItemmap);
                        boolean isnull = key.contains("M");
                        if(isnull) {
                            Map<String, Object> moneryItemmap = new HashMap<>();
                            List<Map<String, Object>> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectotherMoney(detail.getOrderDetail().getOrderId(), detail.getDeliveryId(), key, jsonObject.get(key).toString());
                            moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney);
                            moneryList.add(moneryItemmap);
                        }
                    }
                }
@@ -385,20 +389,38 @@
    public Map<String, Object> getSelectOrderPrinting(OrderDetail orderDetail) {
        Map<String, Object> map = new HashMap<>();
        List <Map<String, Object>> list=new ArrayList<Map<String, Object>>();//最终结果
        List <Map<String, Object>> moneryList=new ArrayList<Map<String, Object>>();//最终结果
        List<OrderDetail> orderDetailList=deliveryDetailMapper.getSelectOrderPrinting(orderDetail);
        for (OrderDetail detail : orderDetailList) {
            Map<String, Object> itemmap = new HashMap<>();
            List<Map<String, Object>> deliveryDetailList2 = deliveryDetailMapper.getSelectOrderDetailPrinting(
                    detail.getProductId(), detail.getOrderId());
            for (Map<String, Object> stringObjectMap : deliveryDetailList2) {
                if(stringObjectMap.get("other_columns")!=null){
                    JSONObject jsonObject = JSON.parseObject(stringObjectMap.get("other_columns").toString());
                    for(String key : jsonObject.keySet()){
                        boolean isnull = key.contains("M");
                        if(isnull){
                            Map<String, Object> moneryItemmap = new HashMap<>();
                            List<Map<String, Object>> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectOrderotherMoney(detail.getOrderId(),key,jsonObject.get(key).toString());
                            moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney);
                            moneryList.add(moneryItemmap);
                        }
                    }
                }
            }
            itemmap.put("DeliveryDetail", detail);
            itemmap.put("DeliveryDetailList", deliveryDetailList2);
            list.add(itemmap);
        }
        Order order=deliveryMapper.getSelectShippingOrderDetailPrinting(orderDetail);
        map.put("data", list);
        map.put("otherMoney",moneryList);
        map.put("delivery", deliveryMapper.getSelectShippingOrderDetailPrinting(orderDetail));
        map.put("money", toChinese(order.getMoney().toString(), false));
        return map;
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -563,6 +563,30 @@
        order by opd.stock_id
    </select>
    <select id="getPrintLabel1">
        select o.order_id ,
               o.project,
               o.customer_id ,
               od.width,
               od.height,
               od.quantity,
               od.order_number as orderNumber,
               fc.technology_number as technologyNumber,
               ogd.glass_child,
               c.customer_abbreviation as customer_name,
               ifnull(od.processing_note,'') as processing_note
        from sd.order as o
                 left join sd.order_detail as od on o.order_id = od.order_id
                 left join pp.flow_card as fc on o.order_id = fc.order_id and
                                                 od.order_number = fc.order_number
                 left join sd.product pt on pt.id=od.product_id
                 left join sd.customer c on c.id=o.customer_id
                    left join sd.order_glass_detail ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number
        where fc.process_id = #{processId}
          and fc.technology_number=#{technologyNumber}
        group by od.order_number,od.width,od.height
    </select>
    <select id="printFlowCardDetailsMp">
        SELECT fc.process_id,
               fc.order_number,
north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -876,8 +876,10 @@
    </select>
    <select id="getSelectDeliveryPrinting" resultMap="selectDeliveryDetailOrderDetail" >
        select dd.delivery_id,od.order_id,od.product_id,od.product_name,sum(dd.area) as area,sum(dd.money) as money,sum(dd.quantity) as quantity from
        select dd.delivery_id,od.order_id,od.product_id,pt.remarks as product_name,sum(dd.area) as area,sum(dd.money) as money,sum(dd.quantity) as quantity from
        delivery_detail dd left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
                                                            left join product pt on pt.id=od.product_id
        <where>
            <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -888,8 +890,9 @@
    </select>
    <select id="getSelectOrderPrinting"  >
        select od.order_id,od.product_id,od.product_name,sum(od.compute_gross_area) as area,sum(od.gross_amount) as money,sum(od.quantity) as quantity from
         order_detail od
        select od.order_id,od.product_id,p.remarks as product_name,sum(od.compute_gross_area) as area,sum(od.gross_amount) as money,sum(od.quantity) as quantity from
         order_detail od left join product p on od.product_id=p.id
        <where>
            <if test="orderDetail.orderId != null and orderDetail.orderId != ''">
                and od.order_id like concat('%',#{orderDetail.orderId},'%')
@@ -920,13 +923,21 @@
    </select>
    <select id="getSelectotherMoney" >
        select bom.alias,oom.price,#{value} as count,oom.price*#{value} as monery
        select bom.alias,oom.price,#{value}*dd.quantity  as count,oom.price*#{value}*dd.quantity as monery
        from delivery_detail dd
                 left join order_detail od on dd.order_id = od.order_id and dd.order_number = od.order_number
                left join order_other_money oom on oom.order_id=dd.order_id  and oom.column=#{key}
        left join basic_other_money bom on bom.`column`=oom.`column`
        where delivery_id = #{deliveryId}
          and od.order_id = #{orderId}
    </select>
    <select id="getSelectOrderotherMoney" >
        select bom.alias,oom.price,#{value}*od.quantity as count,oom.price*#{value}*od.quantity as monery
                 from order_detail od
                 left join order_other_money oom on oom.order_id=od.order_id  and oom.column=#{key}
                 left join basic_other_money bom on bom.`column`=oom.`column`
        where  od.order_id = #{orderId}
    </select>
    <select id="getSelectOrderDetailPrinting" >
@@ -940,7 +951,8 @@
               od.compute_gross_area,
               ifnull(od.processing_note,"") as processingNote,
               ifnull(od.building_number,"") as buildingNumber,
               od.price
               od.price,
               od.other_columns
        from  order_detail od
        where  od.order_id = #{orderId}
          and od.product_id = #{productId}
north-glass-erp/src/main/resources/mapper/sd/OrderOtherMoneyMapper.xml
@@ -20,7 +20,7 @@
    </select>
    <select id="selectGrossAmount">
        select sum(money) from order_other_money where order_id = #{orderId}
        select ifnull(sum(money),0) from order_other_money where order_id = #{orderId}
    </select>