Compare commits

...

2 Commits

Author SHA1 Message Date
59f6d0d1c2 1 2025-04-09 17:18:26 +08:00
35abe52189 打印大盒子标签 2025-04-09 16:10:24 +08:00
2 changed files with 138 additions and 21 deletions

View File

@ -226,6 +226,14 @@ const clcNoPlanConfirmBack = (params) => {
data: params data: params
}) })
} }
// 打印大标签
const statisticsBoxNumByStation = (params) => {
return request({
url: '/task/statisticsBoxNumByStation',
method: 'post',
data: params
})
}
export { export {
sendGoodsInTask, sendGoodsInTask,
@ -255,5 +263,6 @@ export {
clcNoPlanConfirmBack, clcNoPlanConfirmBack,
finishSortBox, finishSortBox,
getWorkGoodsList, getWorkGoodsList,
requestOldPrintData requestOldPrintData,
statisticsBoxNumByStation
} }

View File

@ -70,6 +70,13 @@
style="margin-left: 25px; align-self: center; font-weight: bold;font-size: 45px; writing-mode: vertical-lr;">整理结束</span> style="margin-left: 25px; align-self: center; font-weight: bold;font-size: 45px; writing-mode: vertical-lr;">整理结束</span>
</div> </div>
</div> </div>
<div style="margin: 10px;">
<div class="arrow" @click="print()">
<Printer style="display: none;" />
<span
style="margin-left: 25px; align-self: center; font-weight: bold;font-size: 45px; writing-mode: vertical-lr;">打印标签</span>
</div>
</div>
</div> </div>
</el-form> </el-form>
</fieldset> </fieldset>
@ -88,18 +95,47 @@
<el-table-column prop="boxQuantity" label="需要数量" min-width="120px" show-overflow-tooltip /> <el-table-column prop="boxQuantity" label="需要数量" min-width="120px" show-overflow-tooltip />
</el-table> </el-table>
</el-dialog> </el-dialog>
<div style="width: 0;height: 0;overflow: hidden">
<button ref="printBtn" style="display: none;" v-print="printObj"></button>
<div id="printArea" class="objectDialogFlowPrint">
<div class="myPrint">
<div class="pageWarp" v-for="item in printTabs">
<el-card :body-style="{ padding: '5px' }">
<div class="header-row">
<div style=" margin-top: 10px;">
<qrcode-vue
:value="item.name + '&' + item.quantity"
:size="100"
:foreground="color"
level="H"
/>
</div>
<div class="part-name">
<div>大盒号{{ item.name }}</div>
<div>站台号{{ item.standId }} </div>
</div>
</div>
</el-card>
</div>
</div>
</div>
</div>
</el-container> </el-container>
</el-config-provider> </el-config-provider>
</template> </template>
<script setup> <script setup>
import store from '@/store' import store from '@/store'
import { requestSortBox, requestSumOfBox, finishSortBox } from '@/api/task' import { requestSortBox, requestSumOfBox, finishSortBox, statisticsBoxNumByStation } from '@/api/task'
import { getBigBoxList } from '@/api/kateWork' import { getBigBoxList } from '@/api/kateWork'
import { reactive, ref } from 'vue' import { reactive, ref } from 'vue'
import { errorBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import QrcodeVue from 'qrcode.vue'
</script> </script>
<script> <script>
@ -108,6 +144,34 @@ export default {
data() { data() {
return { return {
standId: store.getters.getStandId, standId: store.getters.getStandId,
// standId: 'ASRS-#7',
printTabs: [],
printObj: {
id: "printArea", // ID
popTitle: "&nbsp", //
extraCss: "", // css
extraHead: "", //
preview: false, // false
previewTitle: '打印客户账单', //
previewPrintBtnLabel: '预览结束,开始打印', //
zIndex: 10002, // z-index20002
previewBeforeOpenCallback() {
// console.log('');
}, // callback
previewOpenCallback() { console.log('已经加载完预览窗口,预览打开了!') }, // callback
beforeOpenCallback() {
// console.log('')
}, // callback
openCallback() {
// console.log('')
}, // callback
closeCallback() {
// console.log('')
}, // callback(or)
clickMounted() {
// console.log('v-print')
},
},
// timer: '', // timer: '',
labelPosition: 'top', labelPosition: 'top',
workFormRef: ref(), workFormRef: ref(),
@ -202,6 +266,33 @@ export default {
console.log(err) console.log(err)
errorBox('请求发生异常。') errorBox('请求发生异常。')
}) })
},
print(){
statisticsBoxNumByStation({ standId: this.standId}).then(res => {
const response = res.data
console.log(response)
if (response.code == 0) {
//
let this_ = this;
const printData = response.returnData.map(item => {
return {
name: item.bigBox, //
quantity: item.orderQuantity, //
standId: this_.standId //
}
})
this.printTabs = printData
this.$nextTick(() => {
this.$refs.printBtn.click()
});
} else {
errorBox(response.message)
}
}).catch(err => {
console.log(err)
errorBox('根据站台统计大盒子数量错误')
})
}, },
getCurrentRow(row) { getCurrentRow(row) {
this.bigBoxNo = row.bigBoxNo this.bigBoxNo = row.bigBoxNo
@ -367,27 +458,44 @@ export default {
margin-top: 25px; margin-top: 25px;
} }
.display-form-div-left { .header-row {
display: inline-flex; display: flex;
justify-content: center; /* align-items: center; */
width: 240px; /* justify-content: space-between; */
margin: 5px; /* margin-bottom: 10px; */
padding: 5px;
border: 5px double #000000;
} }
.display-form-div-right { .part-name {
display: inline-flex; padding: 6px 20px;
justify-content: center; font-size: 30px;
width: 60px;
margin: 5px;
padding: 5px;
background-color: #CCCCCC;
}
.display-form-text-right {
align-self: center;
font-weight: bold; font-weight: bold;
font-size: 25px; }
.stand-id {
font-size: 16px;
/* background-color: #f5f5f5; */
display: inline-block;
border-radius: 6px;
border: 1px solid #666;
/* color: #666; */
}
.qr-container {
display: flex;
align-items: flex-end;
}
.objectDialogFlowPrint .pageWarp {
page-break-after: always;
height: 100%;
width: 100%;
text-align: center;
margin: 5px auto;
padding: auto;
}
.objectDialogFlowPrint .myPrint {
print-color-adjust: exact;
} }
</style> </style>