From 3bfff48245e0eb8affcbf2a16fb2c75eb1cff8bb Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 14 四月 2025 11:10:40 +0800
Subject: [PATCH] 模拟计算发送数据处理
---
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue | 265 ++++++++++++++++++++++++++++++++++------------------
1 files changed, 174 insertions(+), 91 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 ebb6d10..062129b 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)
}
@@ -304,7 +310,10 @@
{field: 'glass_address', title: t('processCard.glassAddress'), width: 90},
{field: 'quantity', title: t('order.quantity'), width: 90},
{field: 'total_area', title: t('order.area'), width: 90},
- {field: 'product_name', title: t('order.product'), width: 120},
+ {field: 'product_name', title: t('order.product'), width: 120,
+ filters: [{data: ''}],
+ slots: {filter: 'num1_filter'},
+ filterMethod: filterChanged},
{
field: 'glass_child',
title: t('reportingWorks.glassChild'),
@@ -335,7 +344,7 @@
{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: 'sortTable', name: "鎺掑簭姹囨��", status: 'primary'},
+ {code: 'sortTable', name: t('processCard.sortSummary'), status: 'primary'},
// {code: 'printTest', name: "娴嬭瘯鎵撳嵃", status: 'primary'},
// {code: 'printLike', name: "鍚岄厤缃墦鍗�", status: 'primary'},
],
@@ -378,6 +387,7 @@
let lableTitle = lableType.text
if ($grid) {
switch (code) {
+ //鎵撳嵃娴佺▼鍗�
case 'print': {
if (selectRecords === null || selectRecords === '' || selectRecords.length === 0) {
ElMessage.warning(t('searchOrder.msgList.checkOrder'))
@@ -395,11 +405,17 @@
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
}
-
+ //鏍囩鎵撳嵃
case 'printLabel': {
if (selectRecords === null || selectRecords === '' || selectRecords.length === 0) {
ElMessage.warning(t('searchOrder.msgList.checkOrder'))
@@ -421,6 +437,7 @@
break
}
+ //鏍囩鎵撳嵃2
case 'printLabel2': {
if (selectRecords === null || selectRecords === '' || selectRecords.length === 0) {
ElMessage.warning(t('searchOrder.msgList.checkOrder'))
@@ -442,6 +459,7 @@
break
}
+ //鎺掑簭姹囨��
case 'sort': {
const $table = xGridDetail.value
let data = $table.getTableData().fullData
@@ -470,6 +488,7 @@
})
break
}
+ //鑷畾涔夋墦鍗�
case 'customLabel': {
if (selectRecords === null || selectRecords === '' || selectRecords.length === 0) {
ElMessage.warning(t('searchOrder.msgList.checkOrder'))
@@ -488,6 +507,7 @@
id += selectRecords[i].id + "|"
}
}
+ //鎴愬搧鏍囩1
if (lableTypes == 1) {
labelRow.value.list = JSON.stringify(selectRecords)
@@ -502,7 +522,9 @@
dialogTableVisibleLabel.value = true
}
- } else if (company.label === 2) {
+ }
+ //甯稿窞椤圭洰
+ else if (company.label === 2) {
router.push({
path: '/main/processCard/PrintCustomLabelCZ',
query: {
@@ -515,14 +537,18 @@
})
}
- } else if (lableTypes == 2) {
+ }
+ //鎴愬搧鏍囩2
+ else if (lableTypes == 2) {
labelRow.value.list = JSON.stringify(selectRecords)
labelRow.value.faceOrientation = faceOrientation
labelRow.value.type = type
labelRow.value.lableType = lableTypes
if (company.label === 1) {
dialogTableVisibleCustomLabel.value = true
- } else if (company.label === 2) {
+ }
+ //甯稿窞椤圭洰
+ else if (company.label === 2) {
router.push({
path: '/main/processCard/PrintCustomLabelSemiCZ',
query: {
@@ -534,7 +560,9 @@
}
})
}
- } else if (lableTypes == 3) {
+ }
+ //鎴愬搧鏍囩3 甯稿窞椤圭洰
+ else if (lableTypes == 3) {
router.push({
path: '/main/processCard/PrintLabel1',
query: {
@@ -573,7 +601,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': {
@@ -624,15 +656,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 = () => {
@@ -652,85 +703,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"
- @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"
@@ -746,6 +804,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>
@@ -817,7 +894,7 @@
<el-dialog
id="sizeCheck"
v-model="dialogSortTable"
- title="鎺掑簭姹囨��"
+ :title="$t('processCard.sortSummary')"
destroy-on-close
style="width: 80%;height:75% ">
<select-sort-table id="child" :orderId="tableRow.orderId"/>
@@ -842,9 +919,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