From 99d0bb96043ba5d6db66bbfb00f67ca4e09f3ffb Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期五, 07 三月 2025 09:08:33 +0800
Subject: [PATCH] 小片尺寸和成品尺寸不相同时,打印显示小片信息

---
 north-glass-erp/northglass-erp/src/views/pp/rework/PrintReworkFlowCard.vue |  279 ++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 170 insertions(+), 109 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/views/pp/rework/PrintReworkFlowCard.vue b/north-glass-erp/northglass-erp/src/views/pp/rework/PrintReworkFlowCard.vue
index 82d5ef7..6142826 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/rework/PrintReworkFlowCard.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/rework/PrintReworkFlowCard.vue
@@ -11,7 +11,7 @@
 import {addListener, toolbarButtonClickEvent} from "@/hook/mouseMove";
 import PrintProcess from '@/components/pp/PrintReworkProcess.vue'
 import PrintLabel from '@/views/pp/processCard/PrintLabel.vue'
-import PrintCustomLabel from '@/views/pp/processCard/PrintCustomLabel.vue'
+import PrintCustomLabel from '@/components/pp/PrintCustomLabel.vue'
 import footSum from "@/hook/footSum"
 import {Search} from "@element-plus/icons-vue";
 import companyInfo from "@/stores/sd/companyInfo"
@@ -189,8 +189,7 @@
   let startTime = form.date1[0]
   let endTime = form.date1[1]
 // 绗竴娆″姞杞芥煡璇�
-  request.post(`/Replenish/selectPrint/${startTime}/${endTime}`, filterData.value).then((res) => {
-
+  request.post(`/rework/selectPrint/${startTime}/${endTime}`, filterData.value).then((res) => {
     if (res.code == 200) {
       xGrid.value.loadData(res.data.data)
       titleSelectJson.value.dataType = res.data.type
@@ -260,6 +259,7 @@
       filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
+      ,width:120
     },
     {
       field: 'process_id',
@@ -267,40 +267,62 @@
       showOverflow: "ellipsis",
       filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
-      filterMethod: filterChanged
+      filterMethod: filterChanged,
+      width:130
     },
     {
       field: 'customer_name',
       title: t('customer.customerName'),
       filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
-      filterMethod: filterChanged
+      filterMethod: filterChanged,
+      width:120
     },
     {
       field: 'project',
       title:  t('order.project'),
       filters: [{data: ''}],
       slots: {filter: 'num1_filter'},
-      filterMethod: filterChanged
+      filterMethod: filterChanged,
+      width:120
     },
-    {field: 'technology_number', title: t('processCard.technologyNumber'), showOverflow: "ellipsis"},
-    {field: 'glass_address', title: t('processCard.glassAddress'),},
-    {field: 'patch_num', title:  t('order.quantity'),},
-    {field: 'patch_area', title:  t('order.area'),},
-    {field: 'responsible_team', title:  t('reportingWorks.responsibleTeam'),},
-    {field: 'responsible_equipment', title:  t('reportingWorks.responsibleEquipment'),},
-    {field: 'responsible_personnel', title:  t('reportingWorks.responsiblePersonnel'),},
-    {field: 'patch_type', title:  t('reportingWorks.breakageType'),},
-    {field: 'patch_reason', title:  t('reportingWorks.breakageReason'),},
-    {field: 'patch_processes', title:  t('reportingWorks.responsibleProcess'),},
-    {field: 'product_name', title: t('order.product'),},
-    {field: 'glass_child', title: t('reportingWorks.glassChild'),},
+    {
+      field: 'order_number',
+      title:  t('order.OrderNum'),
+      filters: [{data: ''}],
+      slots: {filter: 'num1_filter'},
+      filterMethod: filterChanged,
+      width:100
+    },
+    {field: 'technology_number', title: t('processCard.technologyNumber'), showOverflow: "ellipsis",width:90},
+    {
+      field: 'glassNumber',
+      title: t('reportingWorks.glassNumber'),
+      filters: [{data: ''}],
+      slots: {filter: 'num1_filter'},
+      filterMethod: filterChanged,
+      width:100
+    },
+    {field: 'glass_address', title: t('processCard.glassAddress'),width:90},
+    {field: 'rework_num', title:  t('order.quantity'),width:70},
+    {field: 'rework_area', title:  t('order.area'),width:70},
+    {field: 'rework_team', title:  t('reportingWorks.responsibleTeam'),width:90},
+    {field: 'responsible_equipment', title:  t('reportingWorks.responsibleEquipment'),width:120},
+    {field: 'responsible_personnel', title:  t('rework.responsibilityInformation'),width:100},
+    {field: 'rework_type', title:  t('reportingWorks.breakageType'),width:80},
+    {field: 'rework_reason', title:  t('reportingWorks.breakageReason'),width:90},
+    {field: 'rework_processes', title:  t('reportingWorks.responsibleProcess'),width:80},
+    {field: 'product_name', title: t('order.product'),width:120},
+    {field: 'glass_child', title: t('reportingWorks.glassChild'),width:120},
+    {field: 'reporting_work_id', title: t('reportingWorks.reportingWorkId'),width:120},
   ],//琛ㄥご鎸夐挳
 
   toolbarConfig: {
     buttons: [
       {code: 'print', name: t('processCard.print'), status: 'primary'},
-      {code: 'customLabel', name: t('processCard.customLabelPrinting'), status: 'primary'},
+      //{code: 'customLabel', name: t('processCard.customLabelPrinting'), status: 'primary'},
+      {code: 'printLabel', name: t('processCard.labelPrinting'), status: 'primary'},
+      {code: 'printLabel2', name: t('processCard.labelPrinting2'), status: 'primary'},
 
     ],
     // import: false,
@@ -434,6 +456,31 @@
 
           break
         }
+        case 'printLike': {
+          if(selectRecords===null ||selectRecords===''||selectRecords.length===0){
+            ElMessage.warning(t('searchOrder.msgList.checkOrder'))
+            return
+          }
+          if(printMerge.value===null ||printMerge.value===''){
+            ElMessage.warning('璇峰~鍏ラ渶瑕佸悎骞剁殑灞�')
+            return
+          }
+
+          let id = ""
+          for (let i = 0; i < selectRecords.length; i++) {
+            if (i + 1 === selectRecords.length) {
+              id += selectRecords[i].id
+            } else {
+              id += selectRecords[i].id + "|"
+            }
+          }
+          printRow.value.list = JSON.stringify(selectRecords)
+          printRow.value.printMergeVal=printMerge.value
+          printRow.value.like="1"
+          // router.push({path: '/main/processCard/printProcess', query: {printList: JSON.stringify(selectRecords),printMerge:printMergeVal}})
+          dialogTableVisible.value=true
+          break
+        }
       }
     }
   },
@@ -539,7 +586,11 @@
 
   toolbarConfig: {
     buttons: [
-      {code: 'sort', name: t('processCard.sorting'), status: 'primary'},
+      {code: 'print', name: t('processCard.print'), status: 'primary'},
+      {code: 'customLabel', name: t('processCard.customLabelPrinting'), status: 'primary'},
+      {code: 'printLabel', name: t('processCard.labelPrinting'), status: 'primary'},
+      {code: 'printLabel2', name: t('processCard.labelPrinting2'), status: 'primary'},
+      {code: 'printLike', name: "鍚岄厤缃墦鍗�", status: 'primary'},
     ],
     // import: false,
     // export: true,
@@ -575,9 +626,9 @@
   gridOptions.toolbarConfig.buttons = gridOptions.toolbarConfig.buttons.filter(button => {
     // 杩欓噷鏍规嵁 hidePrintLabels 鐨勫�煎喅瀹氭槸鍚﹂殣钘� printLabel 鍜� printLabel2
     if (hidePrintLabels=='true') {
-      return button.code !== 'printLabel' && button.code !== 'printLabel2';
+      return button.code !== 'printLabel' && button.code !== 'printLabel2' ;
     } else {
-      return true; // 涓嶉殣钘忎换浣曟寜閽�
+      return true && button.code !=='printLike'; // 鏄剧ず璇ユ寜閽�
     }
   })
 }
@@ -600,100 +651,103 @@
 </script>
 
 <template>
-  <div class="main-div-customer">
-    <el-date-picker
-        v-model="form.date1"
-        :default-time="defaultTime"
-        :end-placeholder="$t('basicData.endDate')"
-        :start-placeholder="$t('basicData.startDate')"
-        format="YYYY/MM/DD"
-        type="daterange"
-        value-format="YYYY-MM-DD"
+  <div  style="width: 100%;height: 100%">
+    <div class="head">
+      <el-date-picker
+          v-model="form.date1"
+          :end-placeholder="$t('basicData.endDate')"
+          :start-placeholder="$t('basicData.startDate')"
+          format="YYYY/MM/DD"
+          type="daterange"
+          value-format="YYYY-MM-DD"
 
-    />
-    <el-button
-        id="select"
-        :icon="Search"
-        type="primary" @click="getWorkOrder">{{ $t('basicData.search') }}
-
-    </el-button>
-    &nbsp;&nbsp;
-    <el-input clearable :placeholder="$t('processCard.mergePrinting')" v-model="printMerge" style="width: 90px"></el-input>
-    &nbsp;
-    <label>{{$t('processCard.labelStyle')}}锛�</label>
-    <el-select v-model="printType" clearable default-value="default_city" :placeholder="$t('processCard.pleaseSelect')" style="width: 120px">
-      <el-option
-          v-for="item in titleSelectJson['dataType']"
-          :key="item.id"
-          :label="item.name"
-          :value="item.name"
       />
-    </el-select>
-    &nbsp;
-    <el-select v-model="lableType" class="m-2" :placeholder="lableTypeOptions[0].label" style="width: 140px">
-      <el-option
-          v-for="item in filteredOptions"
-          :key="item.value"
-          :label="item.label"
-          :value="item.value"
-      />
-    </el-select>
-    &nbsp;
-    <el-select v-model="stateValue" class="m-2" :placeholder="$t('processCard.pleaseSelect')" clearable allow-create filterable style="width: 140px">
-      <el-option
-          v-for="item in stateOptions"
-          :key="item.value"
-          :label="item.label"
-          :value="item.value"
-      />
-    </el-select>
-    <vxe-grid
-        ref="xGrid"
-        class="mytable-scrollbar"
-        height="600px"
-        max-height="100%"
-        v-bind="gridOptions"
-        v-on="gridEvents"
+      <el-button
+          id="select"
+          :icon="Search"
+          type="primary" @click="getWorkOrder">{{ $t('basicData.search') }}
+
+      </el-button>
+      <!--    &nbsp;&nbsp;-->
+      <!--    <el-input clearable :placeholder="$t('processCard.mergePrinting')" v-model="printMerge" style="width: 90px"></el-input>-->
+      &nbsp;
+      <label>{{$t('processCard.labelStyle')}}锛�</label>
+      <el-select v-model="printType" clearable default-value="default_city" :placeholder="$t('processCard.pleaseSelect')" style="width: 120px">
+        <el-option
+            v-for="item in titleSelectJson['dataType']"
+            :key="item.id"
+            :label="item.name"
+            :value="item.name"
+        />
+      </el-select>
+      &nbsp;
+      <el-select v-model="lableType" class="m-2" :placeholder="lableTypeOptions[0].label" style="width: 140px">
+        <el-option
+            v-for="item in filteredOptions"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+        />
+      </el-select>
+      &nbsp;
+      <el-select v-model="stateValue" class="m-2" :placeholder="$t('processCard.pleaseSelect')" clearable allow-create filterable style="width: 140px">
+        <el-option
+            v-for="item in stateOptions"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+        />
+      </el-select>
+    </div>
+    <div class="main-table">
+      <vxe-grid
+          ref="xGrid"
+          class="mytable-scrollbar"
+          height="100%"
+          v-bind="gridOptions"
+          v-on="gridEvents"
 
 
-    >
-      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
-      <!--      涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
-      <template #content="{ row }">
-        <ul class="expand-wrapper">
-          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
-            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
-            <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
-            <span v-else>{{ row[item.field] }}</span>
+      >
+        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
+        <!--      涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
+        <template #content="{ row }">
+          <ul class="expand-wrapper">
+            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
+              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
+              <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
+              <span v-else>{{ row[item.field] }}</span>
 
-          </li>
-        </ul>
-      </template>
+            </li>
+          </ul>
+        </template>
 
-      <!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
-      <!--      v-if="userStore.user.permissions.indexOf('SelectProductionBasicData.edit') > -1"-->
-      <template #button_slot="{ row }">
-        <el-button @click="getTableRow(row,'edit')"
-                   link
-                   type="primary"
-                   size="small">
-          {{ $t('basicData.edit') }}
-        </el-button>
+        <!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
+        <!--      v-if="userStore.user.permissions.indexOf('SelectProductionBasicData.edit') > -1"-->
+        <template #button_slot="{ row }">
+          <el-button @click="getTableRow(row,'edit')"
+                     link
+                     type="primary"
+                     size="small">
+            {{ $t('basicData.edit') }}
+          </el-button>
 
-      </template>
+        </template>
 
-      <template #num1_filter="{ column, $panel }">
-        <div>
-          <div v-for="(option, index) in column.filters" :key="index">
-            <input type="text"
-                   v-model="option.data"
-                   @input="changeFilterEvent($event, option, $panel)"/>
+        <template #num1_filter="{ column, $panel }">
+          <div>
+            <div v-for="(option, index) in column.filters" :key="index">
+              <input type="text"
+                     v-model="option.data"
+                     @keyup.enter.native="$panel.confirmFilter()"
+                     @input="changeFilterEvent($event, option, $panel)"/>
+            </div>
           </div>
-        </div>
-      </template>
+        </template>
 
 
-    </vxe-grid>
+      </vxe-grid>
+    </div>
     <el-dialog
         id="sizePrintCalrd"
         v-model="dialogTableVisible"
@@ -703,7 +757,7 @@
       <template #header="{ close, titleId, titleClass }">
         <el-button v-print="printContent" @click="printNumber"  :icon="Printer" circle />
       </template>
-      <print-process id="child" :printList="printRow.list" :printMerge="printRow.printMergeVal"
+      <print-process id="child" :printList="printRow.list" :printMerge="printRow.printMergeVal" :printLike="printRow.like"
                      style="width: 100%;height: 100%" />
     </el-dialog>
 
@@ -739,9 +793,16 @@
 </template>
 
 <style scoped>
-.main-div-customer {
-  width: 99%;
-  height: 100%;
+
+
+.head{
+  width: 100%;
+  height: 35px;
+}
+
+.main-table{
+  width: 100%;
+  height: calc(100% - 35px);
 }
 
 

--
Gitblit v1.8.0