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/processCard/PrintFlowCard.vue | 234 +++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 150 insertions(+), 84 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue
index a905c33..caf1689 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue
@@ -10,6 +10,7 @@
import {VXETable} from "vxe-table";
import {addListener, toolbarButtonClickEvent} from "@/hook/mouseMove";
import PrintProcess from '@/components/pp/PrintProcess.vue'
+import PrintProcessStraight from '@/components/pp/PrintProcessStraight.vue'
import PrintLabel from '@/views/pp/processCard/PrintLabel.vue'
import PrintCustomLabel from '@/components/pp/PrintCustomLabel.vue'
import PrintCustomLabelXJ from '@/components/pp/PrintCustomLabelXJ.vue'
@@ -33,6 +34,7 @@
const dialogTableVisibleLabel = ref(false)
const dialogTableVisibleLabelXJ = ref(false)
const dialogTableVisibleCustomLabel = ref(false)
+const dialogTableVisibleStraight = ref(false)
const printVisible = ref(false)
let selectRecords = ref(null)
let titleStyleVisible = ref(false)
@@ -59,7 +61,8 @@
let printRow = ref({
list: null,
printMergeVal: null,
- like: null
+ like: null,
+ merge: null
})
//鏍囩
@@ -144,6 +147,7 @@
},
]
let hidePrintLabels = company.printLabel.hideButton;
+let btnType = company.printBtn;
if (hidePrintLabels == 'true') {
filteredOptions = lableTypeOptions.filter((option, index) => index !== 2);
@@ -188,6 +192,7 @@
data.value.printList = JSON.parse(route.query.printList)
let inquiryMode = route.query.checkedValue
+
// 绗竴娆″姞杞芥煡璇�
request.post(`/processCard/selectPrint/${inquiryMode}`, data.value).then((res) => {
@@ -204,7 +209,8 @@
gridOptions.loading = false
- hideButton()
+ hideButton();
+ hideHead()
} else {
ElMessage.warning(res.msg)
}
@@ -398,8 +404,14 @@
printRow.value.list = JSON.stringify(selectRecords)
printRow.value.printMergeVal = printMerge.value
printRow.value.like = null
+ printRow.value.merge = company.flowCardMerge
// router.push({path: '/main/processCard/printProcess', query: {printList: JSON.stringify(selectRecords),printMerge:printMergeVal}})
- dialogTableVisible.value = true
+ if(company.companyName=='甯稿窞甯傚悏鍒╃幓鐠冩湁闄愬叕鍙�'){
+ dialogTableVisibleStraight.value = true
+ }else{
+ dialogTableVisible.value = true
+ }
+
break
}
@@ -576,7 +588,11 @@
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
+ if(company.companyName=='甯稿窞甯傚悏鍒╃幓鐠冩湁闄愬叕鍙�'){
+ dialogTableVisibleStraight.value = true
+ }else{
+ dialogTableVisible.value = true
+ }
break
}
case 'sortTable': {
@@ -627,15 +643,34 @@
const hideButton = () => {
// 鏍规嵁鏉′欢鍊� hidePrintLabels 杩囨护鎸夐挳鏁扮粍
gridOptions.toolbarConfig.buttons = gridOptions.toolbarConfig.buttons.filter(button => {
- // 杩欓噷鏍规嵁 hidePrintLabels 鐨勫�煎喅瀹氭槸鍚﹂殣钘� printLabel 鍜� printLabel2
- if (hidePrintLabels == 'true') {
- return button.code !== 'printLabel' && button.code !== 'printLabel2';
- } else {
- return true && button.code !== 'printLike'; // 鏄剧ず璇ユ寜閽�
+ // 鏍规嵁 hidePrintLabels 杩囨护 printLabel 鍜� printLabel2 鎸夐挳
+ if (hidePrintLabels === 'true') {
+ if (button.code === 'printLabel' || button.code === 'printLabel2') {
+ return false; // 闅愯棌 printLabel 鍜� printLabel2
+ }
}
- })
+ // 濡傛灉 printBtn 涓� '1'锛屽垯闅愯棌 customLabel 鎸夐挳
+ if (btnType == 1 && button.code === 'customLabel') {
+ console.log('Hiding customLabel button');
+ return false; // 闅愯棌 customLabel 鎸夐挳
+ }
+
+ // 榛樿鎯呭喌涓嬭繑鍥� true锛屼繚鐣欏叾浠栨寜閽�
+ return true;
+ });
}
+
+const hideHead = () => {
+
+ // 鍒ゆ柇 btnType 鏄惁绛変簬 '1' (鍙互鏍规嵁闇�瑕佽皟鏁翠负鏁板瓧 1)
+ if (btnType == 1) {
+ const headDiv = document.querySelector('.head');
+ if (headDiv) {
+ headDiv.style.display = 'none'; // 闅愯棌 class="head" 鐨� div
+ }
+ }
+}
// 鐩戝惉鎵撳嵃瀹屾垚浜嬩欢
const printNumber = () => {
@@ -655,86 +690,92 @@
</script>
<template>
- <div class="main-div-customer">
- <el-input v-show="isVisible" v-model="printMerge" :placeholder="$t('processCard.mergePrinting')" clearable
- style="width: 90px"></el-input>
-
- <label>{{ $t('processCard.labelStyle') }}锛�</label>
- <el-select v-model="printType" :placeholder="$t('processCard.pleaseSelect')" clearable default-value="default_city"
- style="width: 120px">
- <el-option
- v-for="item in titleSelectJson['dataType']"
- :key="item.id"
- :label="item.name"
- :value="item.name"
- />
- </el-select>
-
- <el-select v-model="lableType" :placeholder="lableTypeOptions[0].label" class="m-2" style="width: 140px">
- <el-option
- v-for="item in filteredOptions"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
-
- <el-select v-model="stateValue" :placeholder="$t('processCard.pleaseSelect')" allow-create class="m-2" clearable
- 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="100%"
- v-bind="gridOptions"
- v-on="gridEvents"
+ <div style="width: 100%;height: 100%">
+ <div class="head">
+ <el-input v-show="isVisible" v-model="printMerge" :placeholder="$t('processCard.mergePrinting')" clearable
+ style="width: 90px"></el-input>
+
+ <label>{{ $t('processCard.labelStyle') }}锛�</label>
+ <el-select v-model="printType" :placeholder="$t('processCard.pleaseSelect')" clearable default-value="default_city"
+ style="width: 120px">
+ <el-option
+ v-for="item in titleSelectJson['dataType']"
+ :key="item.id"
+ :label="item.name"
+ :value="item.name"
+ />
+ </el-select>
+
+ <el-select v-model="lableType" :placeholder="lableTypeOptions[0].label" class="m-2" style="width: 140px">
+ <el-option
+ v-for="item in filteredOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+
+ <el-select v-model="stateValue" :placeholder="$t('processCard.pleaseSelect')" allow-create class="m-2" clearable
+ 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"
+ :checkbox-config="{labelField: 'name', highlight: true, range: true}"
+ 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 link
- size="small"
- type="primary"
- @click="getTableRow(row,'edit')">
- {{ $t('basicData.edit') }}
- </el-button>
+ <!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
+ <!-- v-if="userStore.user.permissions.indexOf('SelectProductionBasicData.edit') > -1"-->
+ <template #button_slot="{ row }">
+ <el-button link
+ size="small"
+ type="primary"
+ @click="getTableRow(row,'edit')">
+ {{ $t('basicData.edit') }}
+ </el-button>
- </template>
+ </template>
- <template #num1_filter="{ column, $panel }">
- <div>
- <div v-for="(option, index) in column.filters" :key="index">
- <input v-model="option.data"
- type="text"
- @keyup.enter.native="$panel.confirmFilter()"
- @input="changeFilterEvent($event, option, $panel)"/>
+ <template #num1_filter="{ column, $panel }">
+ <div>
+ <div v-for="(option, index) in column.filters" :key="index">
+ <input v-model="option.data"
+ type="text"
+ @keyup.enter.native="$panel.confirmFilter()"
+ @input="changeFilterEvent($event, option, $panel)"/>
+ </div>
</div>
- </div>
- </template>
+ </template>
- </vxe-grid>
+ </vxe-grid>
+ </div>
<!-- 娴佺▼鍗℃墦鍗� -->
<el-dialog
id="sizePrintCalrd"
@@ -750,6 +791,25 @@
:printLike="printRow.like"
:printList="printRow.list"
:printMerge="printRow.printMergeVal"
+ :merges="printRow.merge"
+ style="width: 100%;height: 100%"/>
+ </el-dialog>
+
+ <el-dialog
+ id="sizePrintCalrd"
+ v-model="dialogTableVisibleStraight"
+ :title="$t('processCard.print')"
+ destroy-on-close
+ style="width: 75%;height:75% ">
+ <template #header="{ close, titleId, titleClass }">
+ <el-button v-print="printContent" :icon="Printer" circle @click="printNumber"/>
+ </template>
+ <print-process-straight
+ id="child"
+ :printLike="printRow.like"
+ :printList="printRow.list"
+ :printMerge="printRow.printMergeVal"
+ :merges="printRow.merge"
style="width: 100%;height: 100%"/>
</el-dialog>
@@ -846,9 +906,15 @@
</template>
<style scoped>
-.main-div-customer {
- width: 99%;
- height: 92%;
+
+.head{
+ width: 100%;
+ height: 35px;
+}
+
+.main-table{
+ width: 100%;
+ height: calc(100% - 35px);
}
--
Gitblit v1.8.0