guoyujie
3 天以前 3d9e0ec1c1e457ed3fd2b334cf4c4dd66c10eead
Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
15个文件已修改
342 ■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelTwo.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet3.vue 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet4.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/hook/index.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/zh.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/productStock/CreateProductStock.vue 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProgressProcessCard.vue 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelTwo.vue
@@ -82,13 +82,14 @@
          for (const group of list.value) {
            // 遍历每组中的数据(替换 j)
            for (const item of group.data) {
              console.log(item)
              const { quantity, newList } = item;
              // 跳过 quantity 为 0 或无效的情况
              console.log(quantity)
              if (!quantity || quantity <= 0) continue;
              // 处理 newList:确保是数组,不足时用空对象兜底
              const safeNewList = Array.isArray(newList) ? newList : [];
              // 循环 quantity 次,添加数据到 lastList
              for (let k = 0; k < quantity; k++) {
                // 深拷贝 item,避免重复引用(关键!)
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -92,7 +92,6 @@
        //流程卡
        request.post(`/processCard/getSelectPrinting/${merge}/${like}/${merges}/${props.flashback}/${compound}/${props.landingSequence}`, data.value).then((res) => {
          if (res.code == 200) {
            console.log(res.data.data)
            load(res.data.data)
          } else {
            ElMessage.warning(res.msg)
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet3.vue
@@ -179,38 +179,38 @@
<template>
  <div id="sheet" class="print-page-c">
    <table class="pages" v-for="(itme1, index) in groupedData" :key="index" >
    <table  class="pages" v-for="(itme1, index) in groupedData" :key="index" >
      <thead>
      <tr class="title-s">
        <th colspan="11">
          <h1>
        <th colspan="13">
          <h1 contenteditable="true">
            {{company.companyName}}
          </h1>
        </th>
      </tr>
      <tr  class="title-s">
        <th colspan="2" style="width: 20%"></th>
        <th colspan="7" style="width: 60%;">
      <tr class="title-s">
        <th colspan="2" style="width: 20%" ></th>
        <th colspan="9" style="width: 60%">
          <h4 v-if="!company.showDeliveryCreator" >金华市乐动智能科技有限公司</h4>
          <h3>销售发货单</h3>
        </th>
        <th colspan="2" style="width: 20%;text-align: left;">发货单号:<span>{{itme1.delivery.deliveryId}}</span></th>
        <th colspan="2" style="text-align: left;width:20%">发货单号:<span>{{itme1.delivery.deliveryId}}</span></th>
      </tr>
      <tr>
        <th style="text-align: left;border:none;" colspan="3">客户名称:<span>{{itme1.delivery.customerName}}</span></th>
        <th style="text-align: left;border:none;" colspan="6">项目名称:<span>{{itme1.delivery.project}}</span></th>
        <th style="text-align: left;border:none;" colspan="2">联系人:<span>{{itme1.delivery.contacts}}</span></th>
     <tr>
        <th style="text-align: left;border:none;width: 46.46%" colspan="6" >客户名称:<span contenteditable="true">{{itme1.delivery.customerName}}</span></th>
        <th style="text-align: left;border:none;width: 38.46%" colspan="5">项目名称:<span>{{itme1.delivery.project}}</span></th>
        <th style="text-align: left;border:none;width: 16%" colspan="2">联系人:<span>{{itme1.delivery.contacts}}</span></th>
      </tr>
      <tr>
        <th style="text-align: left;border:none;" colspan="9">送货地址:<span>{{itme1.delivery.deliveryAddress}}</span></th>
        <th style="text-align: left;border:none;" colspan="2">联系电话:<span>{{itme1.delivery.contactNumber}}</span></th>
      <tr >
        <th style="text-align: left;border:none;width: 84%" colspan="11">送货地址:<span>{{itme1.delivery.deliveryAddress}}</span></th>
        <th style="text-align: left;border:none;width: 16%" colspan="2">联系电话:<span>{{itme1.delivery.contactNumber}}</span></th>
      </tr>
      </thead>
      <tr style="border-style: none">
        <td colspan="11" style="border-style: none">
        <td colspan="13" style="border-style: none">
          <table style="border-style: none;width: 100%;height: 100%;">
            <template v-for="(item, index) in itme1.data" :key="index" >
              <thead>
@@ -221,20 +221,19 @@
                <th style="width: 6%;">面积</th>
                <th style="width: 6%;">单价</th>
                <th style="width: 6.5%;">金额</th>
                <th style="width: 1%;"></th>
                <th style="width: 1%;">&nbsp;</th>
                <th style="width: 9%;">楼层编号</th>
                <th style="width: 14%;" colspan="1">宽X高</th>
                <th style="width: 8%;">数量</th>
                <th style="width: 6%;">面积</th>
                <th style="width: 6%;">单价</th>
                <th style="width: 6.5%;">金额</th>
                <th style="width: 1%;"></th>
              </tr>
              </thead>
              <tr>
                <td style="font-size: 15px;text-align: left" colspan="6">产品名称:<span>{{item.DeliveryDetail.orderDetail.productName}}</span></td>
                <td style="font-size: 15px;text-align: left" colspan="6">产品名称:<span contenteditable="true">{{item.DeliveryDetail.orderDetail.productName}}</span></td>
                <td style="font-size: 15px;text-align: left" colspan="3">批次:<span>{{item.DeliveryDetail.order.batch}}</span></td>
                <td style="font-size: 15px;text-align: left" colspan="4">订单编号:<span>{{item.DeliveryDetail.orderDetail.orderId}}</span></td>
              </tr>
@@ -264,7 +263,7 @@
                <td v-if="group[1]">{{ group[1].money }}</td>
                <!-- 若组内只有一条数据,第二列留空 -->
                <td v-else colspan="5"></td>
                <td v-else colspan="6"></td>
              </tr>
              <tr class="day-in" >
                <td style="font-size: 15px;" colspan="9">小计:</td>
@@ -407,6 +406,9 @@
  .print-page-c .pages {
    page-break-after: always;
  }
}
h1,h3{
  left:0;
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet4.vue
@@ -183,7 +183,7 @@
      <thead>
      <tr class="title-s">
        <th colspan="11">
          <h1>
          <h1 contenteditable="true">
            {{company.companyName}}
          </h1>
        </th>
@@ -198,7 +198,7 @@
        <th colspan="2" style="width: 20%;text-align: left;">发货单号:<span>{{itme1.delivery.deliveryId}}</span></th>
      </tr>
      <tr>
        <th style="text-align: left;border:none;" colspan="3">客户名称:<span>{{itme1.delivery.customerName}}</span></th>
        <th style="text-align: left;border:none;" colspan="3">客户名称:<span contenteditable="true">{{itme1.delivery.customerName}}</span></th>
        <th style="text-align: left;border:none;" colspan="6">项目名称:<span>{{itme1.delivery.project}}</span></th>
        <th style="text-align: left;border:none;" colspan="2">联系人:<span>{{itme1.delivery.contacts}}</span></th>
      </tr>
@@ -229,7 +229,7 @@
              </thead>
              <tr>
                <td style="font-size: 15px;text-align: left" colspan="5">产品名称:<span>{{item.DeliveryDetail.orderDetail.productName}}</span></td>
                <td style="font-size: 15px;text-align: left" colspan="5">产品名称:<span contenteditable="true">{{item.DeliveryDetail.orderDetail.productName}}</span></td>
                <td style="font-size: 15px;text-align: left" colspan="3">批次:<span>{{item.DeliveryDetail.order.batch}}</span></td>
                <td style="font-size: 15px;text-align: left" colspan="3">订单编号:<span>{{item.DeliveryDetail.orderDetail.orderId}}</span></td>
              </tr>
north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue
@@ -168,9 +168,9 @@
        <th style="text-align: left;border:none;font-weight: bold;font-size: 17px;" colspan="4">
          客户名称:<span>{{ data.order.customerName }}</span></th>
        <th style="text-align: left;border:none;font-weight: bold;font-size: 17px;" v-if="data.order.batch!==''" colspan="3">
          项目名称:<span>{{ data.order.project }}({{data.order.batch}})</span></th>
          项目名称:<span style="font-size: 17px;white-space:nowrap;font-weight: bold;">{{ data.order.project }}({{data.order.batch}})</span></th>
        <th style="text-align: left;border:none;font-weight: bold;font-size: 17px;" v-else colspan="3">
          项目名称:<span>{{ data.order.project }}</span></th>
          项目名称:<span style="font-size: 17px;white-space:nowrap;font-weight: bold;">{{ data.order.project }}</span></th>
        <th style="text-align: left;border:none;font-weight: bold;font-size: 17px;" colspan="2">
          发货日期:<span>{{ data.order.deliveryDate }}</span></th>
      </tr>
@@ -239,7 +239,7 @@
              <td colspan="2"></td>
            </tr>
            <tr class="day-in">
              <td style="text-align: left;border-width: 0 0 0 0; border-style: solid; border-color: #d3dce6" colspan="9">
              <td  style="text-align: left;border-width: 0 0 0 0; border-style: solid; border-color: #d3dce6;font-size: 17px;white-space:nowrap;font-weight: bold;" colspan="9">
                <template v-for="(item,index) in data.order.processingNote.split('\n')">
                  {{item}}
                  <br>
north-glass-erp/northglass-erp/src/hook/index.js
@@ -8,7 +8,7 @@
// 筛选函数
const filterChanged = ({ option, row, column }) => {
    if (option.data) {
    if (option && option.data) {
        if(column.field.indexOf('.')>-1){
            let  array = column.field.split('.')
north-glass-erp/northglass-erp/src/lang/zh.js
@@ -930,7 +930,7 @@
        salesman:'销售员',
        money:'金额',
        pleaseSelectTheSameCustomerProject:'请选择相同客户的项目',
        pleaseSelectTheSameCustomerProject:'请选择相同客户和项目的订单',
        noMoney:'无金额',
        freightPrice:'运费单价',
        freightQuantity:'运费数量',
north-glass-erp/northglass-erp/src/views/mm/productStock/CreateProductStock.vue
@@ -10,6 +10,7 @@
import { useI18n } from 'vue-i18n'
import footSum from "@/hook/footSum";
import companyInfo from "@/stores/sd/companyInfo";
import {changeFilterEvent,filterChanged} from "@/hook"
//语言获取
const { t } = useI18n()
@@ -82,7 +83,7 @@
let total = reactive({
  pageTotal : 0,
  dataTotal : 0,
  pageSize : 100
  pageSize : 99999
})
@@ -107,7 +108,7 @@
let pageState = null
/*使用筛选,后端获取数据*/
const changeFilterEvent = (event, option, $panel,) => {
/*const changeFilterEvent = (event, option, $panel,) => {
  // 手动触发筛选
  $panel.changeOption(event, !!option.data, option)
}
@@ -139,7 +140,7 @@
      router.push("/login")
    }
  })
}
}*/
const selectOrderList = ()=>{
  request.post(`/finishedGoodsInventory/getSelectWarehousing/${pageNum.value}/${total.pageSize}`,filterData.value).then((res) => {
@@ -190,7 +191,10 @@
    useKey: true
  },
  filterConfig: {   //筛选配置项
    remote: true
    //remote: true
  },
  sortConfig: {
    multiple: true,//多排序
  },
  customConfig: {
    storage: true
@@ -204,21 +208,22 @@
    {type:'expand',fixed:"left",slots: { content:'content' },width: '60'},
    { type: 'checkbox',fixed:"left", title: t('basicData.check'), width: '80' },
    { type: 'seq',fixed:"left", title: t('basicData.Number'), width: '80' },
    {field: 'order.orderId', width: '150',title: t('order.orderId'), showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'order.orderId', width: '150',title: t('order.orderId'), showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
    //{field: 'orderDetail.buildingNumber', width: '120',title: '楼号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'orderDetail.productId',width: '100', title: t('order.productId'), filters:[{ data: '' }],showOverflow:"ellipsis",slots: { filter: 'num1_filter' }},
    {field: 'orderDetail.productName',width: '100', title: t('order.product'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'orderDetail.width', width: '100',title: t('order.width'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'orderDetail.height',width: '100', title: t('order.height'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'order.creater', width: '100',title: t('order.salesman'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'order.project', width: '100',title: t('order.project'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'orderNumber',width: '140', title: t('order.OrderNum'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'orderDetail.quantity',width: '140', title: t('productStock.totalNumberOfOrders'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'inventoryQuantity',width: '120', title: t('productStock.quantityToBeStockedIn'),editRender: { name: 'input' }, filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'order.area',width: '140', title: t('order.area'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'processId',width: '150', title: t('processCard.processId'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'receivedQuantity',width: '100', title: t('productStock.quantityAlreadyInStock'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'order.batch',width: '100', title: t('order.batch'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'orderDetail.productId',width: '100', title: t('order.productId'), filters:[{ data: '' }],showOverflow:"ellipsis",slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
    {field: 'orderDetail.productName',width: '100', title: t('order.product'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
    {field: 'orderDetail.width', width: '100',title: t('order.width'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
    {field: 'orderDetail.height',width: '100', title: t('order.height'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
    {field: 'order.creater', width: '100',title: t('order.salesman'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
    {field: 'order.project', width: '100',title: t('order.project'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
    {field: 'order.customerName',width: '100', title: t('order.customers'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
    {field: 'orderNumber',width: '140', title: t('order.OrderNum'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
    {field: 'orderDetail.quantity',width: '140', title: t('productStock.totalNumberOfOrders'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
    {field: 'inventoryQuantity',width: '120', title: t('productStock.quantityToBeStockedIn'),editRender: { name: 'input' }, filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
    {field: 'order.area',width: '140', title: t('order.area'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
    {field: 'processId',width: '150', title: t('processCard.processId'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
    {field: 'receivedQuantity',width: '100', title: t('productStock.quantityAlreadyInStock'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
    {field: 'order.batch',width: '100', title: t('order.batch'), filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged, sortable: true},
  ],//表头按钮
  toolbarConfig: {
    buttons: [{
@@ -392,7 +397,11 @@
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
            <input
                type="type"
                v-model="option.data"
                @keyup.enter.native="$panel.confirmFilter()"
                @input="changeFilterEvent($event, option, $panel)"/>
          </div>
        </div>
      </template>
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProgressProcessCard.vue
@@ -15,6 +15,8 @@
import PrintProcess from "@/components/pp/PrintProcess.vue";
import PrintCustomLabelXJ from "@/components/pp/PrintCustomLabelTwo.vue";
import companyInfo from "@/stores/sd/companyInfo";
import {createTemplate} from "@/hook/createTemplateTag";
import {hiprint} from "vue-plugin-hiprint";
//语言获取
const { t } = useI18n()
let router=useRouter()
@@ -24,6 +26,8 @@
const dialogTableVisible = ref(false)
const dialogTableVisibleLabel = ref(false)
let lastList = ref([])
let props = defineProps({
  orderId:null
@@ -86,6 +90,84 @@
  }
})
//标签
let labelRow = ref({
  list: null,//勾选的数据
  faceOrientation: null,//内外面
  type: null,//标签模板
  lableType: null//标签类型
})
//选中内容
let selectRecords = ref(null)
//合片流程卡打印下拉选项
const printMerge = ref('')
const printMergeOptions = [{}]
//倒叙
let  flashback = ref(1)
//落架顺序
let landingSequence= ref(1)
//合架打印
let compound = ref(null)
const printContent = ref({
  id: 'child',
})
let hiprintTemplate = ref(null)
const printContentLabel = ref({
  id: 'childLabel',
})
const printContentLabelSemi = ref({
  id: 'childLabelSemi',
})
const changeTag = () => {
  hiprintTemplate.value = new hiprint.PrintTemplate({});
  hiprintTemplate.value.design("#hiprint-printTemplate1",{grid:true});
  const json = tag.value.value
  hiprintTemplate.value.update(json)
}
const printOrder = (type) => {
  printNumberLabel()
  const list = tag.value.value
  list.panels[0].printElements.forEach(element => {
    element.options.fontFamily = 'Arial'
    if( element.options.field !== undefined){
      if(type===3 ){
        element.options.hideTitle = true
      }
    }
    if(type!==3){
      element.options.hideTitle = false
      if( element.options.field === undefined){
        element.options.hideTitle = true
      }
    }
  })
  //hiprintTemplate.value.update(list)
  let object =  JSON.parse(JSON.stringify(lastList.value))
  //判断是否为表格
  let columnsNum = null
  if(list.panels[0].printElements[0].options.field==='table'){
    object = {table:lastList.value}
    columnsNum = (list.panels[0].printElements[0].options.gridColumns || 1)
  }
  //判断是否有 嵌套自定义纸张
  if(tag.value.tagHeight && tag.value.tagWidth){
    const print =createTemplate(list,object,tag.value.tagWidth,tag.value.tagHeight)
    hiprintTemplate.value.update(print.template)
    object = print.printData
  }
  hiprintTemplate.value.print(object)
}
//需要合并的列
let column = [1,3,8]
@@ -305,9 +387,9 @@
    //   delete obj.print_status;
    // });
    let type = tag.value.name
    let faceOrientation = stateValue.value
    let lableTypes = lableType.value
    let lableTitle = lableType.text
    let faceOrientation = ''
    let lableTypes = 1
    let lableTitle = ''
    if ($grid) {
      switch (code) {
          //打印流程卡
@@ -329,7 +411,7 @@
          printRow.value.printMergeVal = printMerge.value
          printRow.value.like = null
          printRow.value.merge = company.flowCardMerge
          printRow.value.printFc= printFc
          printRow.value.printFc= true
          printRow.value.flashback = flashback.value
          printRow.value.landingSequence=landingSequence.value
          printRow.value.compound = compound.value
@@ -356,7 +438,7 @@
              id += selectRecords[i].id + "|"
            }
          }
          lastList.value = []
          labelRow.value.list = JSON.stringify(selectRecords)
          labelRow.value.faceOrientation = faceOrientation
          labelRow.value.type = tag.value.name
@@ -385,6 +467,38 @@
const handleCellDblClick = ({ row, column, cell, $event }) => {
  VxeUI.clipboard.copy(row[column.property])
}
const selectRecordsData = ref({
  printList: []
})
// 监听流程卡打印完成事件
const printNumber = () => {
  selectRecordsData.value.printList = selectRecords
  let printState = 0
  request.post(`/processCard/updatePrintState/${printState}`, selectRecordsData.value).then((res) => {
    if (res.code == 200 && res.data === true) {
    } else {
      ElMessage.warning(t('basicData.msg.saveFail'))
    }
  })
}
// 监听标签打印完成事件
const printNumberLabel = () => {
  selectRecordsData.value.printList = selectRecords
  request.post(`/tagStyle/updatePrintNumber`, selectRecordsData.value).then((res) => {
    if (res.code == 200 && res.data === true) {
    } else {
      ElMessage.warning(t('basicData.msg.saveFail'))
    }
  })
}
</script>
@@ -429,6 +543,7 @@
          v-bind="gridOptions"
          :merge-cells="mergeCells"
          @cell-dblclick="handleCellDblClick"
          v-on="gridEvents"
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
@@ -534,6 +649,33 @@
  height: calc(100% - 35px);
}
:deep(#sizeCheck .el-dialog__body) {
  height: 90%;
  width: 100%;
}
:deep(#sizePrintCalrd .el-dialog__body) {
  height: 85%;
  width: 100%;
  overflow-y: auto;
}
:deep(#sizeCustom .el-dialog__body) {
  height: 85%;
  width: 100%;
  overflow-y: auto;
}
:deep(#sizeCustomSemi .el-dialog__body) {
  height: 85%;
  width: 100%;
  overflow-y: auto;
}
:deep(#titleStyle .el-dialog__body){
  height: 93%;
  width: 100%;
}
.vxe-grid {
  /* 禁用浏览器默认选中 */
  -webkit-user-select: none;
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -477,9 +477,11 @@
              if (val<row.completedQuantityComputed){
                         //库存数量、已入库数量
                if (val>(row.inventory_quantity-row.received_quantity)){
                  return new Error(`val
                  if (totalQuantity-val>(row.inventory_quantity-row.received_quantity)){
                    return new Error(`val
                                  <=
                                  ${row.inventory_quantity-row.received_quantity}`)
                  }
                }else {
                  if (val < (row.inventory_quantity-row.received_quantity)){
                        //完工总数、本次完工数、已入库数量
north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
@@ -20,6 +20,8 @@
import companyInfo from "@/stores/sd/companyInfo";
import PrintSheet3 from "@/components/sd/delivery/PrintSheet3.vue";
import PrintSheet4 from "@/components/sd/delivery/PrintSheet4.vue";
import {addListener} from "@/hook/mouseMove";
import {copyTableCellValue} from "@/hook/copyTableCellValue";
//语言获取
const { t } = useI18n()
@@ -108,6 +110,7 @@
})
onMounted(async () => {
  addListener(xGrid.value,gridOptions)
  filterData.value = orderInfo.searchDeliverFilter.data
  await getDeliveryList()
  orderInfo.searchDeliverFilter.list.forEach(item =>{
@@ -529,6 +532,9 @@
  sortChange ({ field, order }) {
    sortData.value = {field,order}
    selectOrderList()
  },
  cellDblclick ({row,column}) {
    copyTableCellValue(row,column)
  }
}
@@ -829,7 +835,17 @@
  height: calc(100% - 35px);
}
.vxe-grid {
  /* 禁用浏览器默认选中 */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
:deep(#product .el-dialog__body){
  height: 90%;
  width: 100%;
}
</style>
north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue
@@ -8,7 +8,10 @@
import useUserInfoStore from "@/stores/userInfo";
import {ElMessage} from "element-plus";
import { useI18n } from 'vue-i18n'
import footSum from "@/hook/footSum"
import useOrderInfoStore from "@/stores/sd/order/orderInfo";
import {addListener} from "@/hook/mouseMove";
import {copyTableCellValue} from "@/hook/copyTableCellValue";
//语言获取
const { t } = useI18n()
@@ -93,6 +96,7 @@
onMounted(async () => {
  addListener(xGrid.value,gridOptions)
  if (props.customerId !== undefined) {
    filterData.value.customerId = props.customerId
    filterData.value.project = props.project
@@ -268,14 +272,15 @@
    custom: true
  },
  footerMethod ({ columns, data }) {//页脚函数
    let footList=['quantity','area']
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
          return t('basicData.total')
        }
        // if (props.tableProp.footList.includes(column.field)) {
        //   return sumNum(data, column.field)
        // }
        if (footList.includes(column.field)) {
          return footSum(data, column.field)
        }
        return ''
      })
    ]
@@ -359,6 +364,9 @@
        }
      }
    }
  },
  cellDblclick ({row,column}) {
    copyTableCellValue(row,column)
  }
}
@@ -473,4 +481,17 @@
  width: 100%;
  height: calc(100% - 35px);
}
.vxe-grid {
  /* 禁用浏览器默认选中 */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
:deep(#product .el-dialog__body){
  height: 90%;
  width: 100%;
}
</style>
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -741,7 +741,11 @@
                    Map<String, Object> itemmap = new HashMap<>();
                    Integer sumQuantity = flowCardMapper.getSumQuantity(flowCard.getOrderId());
                    List<Map<String, Object>> details = flowCardMapper.getPrintCustomData(flowCard.getProcessId(), flowCard.getOrderNumber(), flowCard.getPrintQuantity());
                    Integer printQuantity = flowCard.getPrintQuantity();
                    if (printQuantity==null){
                        printQuantity=0;
                    }
                    List<Map<String, Object>> details = flowCardMapper.getPrintCustomData(flowCard.getProcessId(), flowCard.getOrderNumber(), printQuantity);
                    for (Map<String, Object> detail : details) {
                        detail.put("sumQuantity", sumQuantity);
north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml
@@ -61,6 +61,8 @@
        <result column="batch" property="order.batch"/>
        <result column="order_quantity" property="order.quantity"/>
        <result column="calculate_type" property="order.calculateType"/>
        <result column="customer_name" property="order.customerName"/>
        <result column="building_number" property="orderDetail.buildingNumber"/>
        <result column="width" property="orderDetail.width"/>
@@ -714,6 +716,7 @@
        od.height,
        o.creator,
        o.project,
        o.customer_name,
        fc.order_number,
        od.quantity,
        fc.quantity as fc_quantity,
@@ -757,6 +760,9 @@
            <if test="flowCard.order != null and flowCard.order.project != null and flowCard.order.project != ''">
                and o.project regexp #{flowCard.order.project}
            </if>
            <if test="flowCard.order != null and flowCard.order.customerName != null and flowCard.order.customerName != ''">
                and o.customer_name regexp #{flowCard.order.customerName}
            </if>
            <if test="flowCard.orderNumber != null and flowCard.orderNumber != ''">
                and fc.order_number regexp #{flowCard.orderNumber}
            </if>
@@ -785,10 +791,12 @@
    </select>
    <select id="getSelectWarehousingPageTotal" >
        select
        CEILING(count(zu.order_number)/#{pageSize}) as 'pageTotal',
        count(zu.order_number) as 'total' from (
        select fc.order_number as order_number,fc.process_id from pp.flow_card fc left join sd.order_detail od on
        fc.order_id=od.order_id and fc.order_number=od.order_number inner join sd.`order` o on o.order_id=fc.order_id
        CEILING(count(zu.id)/#{pageSize}) as 'pageTotal',
        count(zu.id) as 'total' from (
        select fc.id as id
        from (select *,min(inventory_quantity) as min_inventory_quantity from pp.flow_card  group by  order_id,order_number,process_id) as fc
        left join sd.order_detail od on fc.order_id=od.order_id and fc.order_number=od.order_number inner join sd.`order` o on
        o.order_id=fc.order_id
        <where>
            and fc.received_quantity <![CDATA[<]]> fc.inventory_quantity and o.create_order>0
            <if test="flowCard.order != null and flowCard.order.orderId != null and flowCard.order.orderId != ''">
@@ -815,6 +823,9 @@
            <if test="flowCard.order != null and flowCard.order.project != null and flowCard.order.project != ''">
                and o.project regexp #{flowCard.order.project}
            </if>
            <if test="flowCard.order != null and flowCard.order.customerName != null and flowCard.order.customerName != ''">
                and o.customer_name regexp #{flowCard.order.customerName}
            </if>
            <if test="flowCard.orderNumber != null and flowCard.orderNumber != ''">
                and fc.order_number regexp #{flowCard.orderNumber}
            </if>
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -1156,19 +1156,19 @@
               od.processing_note                                    as processingNote,
               width,
               height,
               #{printQuantity}  as quantity,
               if(#{printQuantity}>0 ,#{printQuantity},fc.quantity)  as quantity,
               CONCAT(
                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
                       ' X ',
                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
                       ' = ',#{printQuantity} )      as size,
                       ' = ',if(#{printQuantity}>0 ,#{printQuantity},fc.quantity) )      as size,
               CONCAT(
                   od.order_number,')      ',
                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
                       ' X ',
                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
                       ' = ',#{printQuantity} )      as numberSize,
                       ' = ',if(#{printQuantity}>0 ,#{printQuantity},fc.quantity) )      as numberSize,
            CONCAT(
            od.order_number,')','   ',
            TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
@@ -3979,7 +3979,8 @@
        c.print_status,
        c.print_number,
        o.project,
        o.customer_name
        o.customer_name,
        b.process
        from pp.flow_card as c
        left join