Browse Source

roll label

dev
qiezi 2 years ago
parent
commit
d854edc4fb
  1. 1
      src/api/customer/info.js
  2. 1
      src/api/part/external.js
  3. 1
      src/api/part/externalPartCustomer.js
  4. 1
      src/printFormat/RF_RFID.js
  5. 1
      src/printFormat/alphaHardTagPrintFormat.js
  6. 1
      src/printFormat/antenna.js
  7. 13
      src/printFormat/roll_label.js
  8. 52
      src/views/modules/customer/info.vue
  9. 57
      src/views/modules/label/printer.vue
  10. 54
      src/views/modules/part/external.vue

1
src/api/customer/info.js

@ -1,6 +1,7 @@
import {createAPI} from '../../utils/httpRequest'
export const selectCustomerList = (data) => createAPI('/customer/list', 'post', data)
export const selectCustomerPage = (data) => createAPI(`/customer/${data.no}/${data.size}`, 'post', data)
export const generateCustomerNo = (data) => createAPI('/customer/id', 'post', data)
export const saveCustomer = (data) => createAPI('/customer/save', 'post', data)

1
src/api/part/external.js

@ -1,6 +1,7 @@
import {createAPI} from '../../utils/httpRequest'
export const selectExternalPartList = (data) => createAPI('/part/list', 'post', data)
export const selectExternalPartPage = (data) => createAPI(`/part/${data.no}/${data.size}`, 'post', data)
export const selectUnitList = (data) => createAPI('/part/unit/list', 'post', data)
export const saveExternalPart = (data) => createAPI('/part/save', 'post', data)

1
src/api/part/externalPartCustomer.js

@ -1,6 +1,7 @@
import {createAPI} from '../../utils/httpRequest'
export const getExternalPartCustomerList = (data)=>createAPI(`/part/customer/list`,'post',data)
export const getExternalPartCustomerPage = (data)=>createAPI(`/part/customer/${data.no}/${data.size}`,'post',data)
export const saveExternalPartCustomer = (data)=>createAPI(`/part/customer/save`,'post',data)

1
src/printFormat/RF_RFID.js

@ -20,6 +20,7 @@ export const printRF_RFIDLabel = (printList, icons, printerName) => {
let row = printList[i]
//如果打印正常的标签
LODOP.NewPage();
LODOP.SET_PRINTER_INDEXA(printerName)
LODOP.SET_PRINT_PAGESIZE(0,1100,512,"");
LODOP.ADD_PRINT_BARCODE(6,23,115,83,"QRCode",row.qrCode);
LODOP.ADD_PRINT_IMAGE(4,249,96,18,"<img src=\"data:image/png;base64," + ckpLogo + "\"/>");

1
src/printFormat/alphaHardTagPrintFormat.js

@ -21,6 +21,7 @@ export function printAlphaHardTagLabel (printList, icons, printerName) {
let row = printList[i];
//如果打印正常的标签
LODOP.NewPage();
LODOP.SET_PRINTER_INDEXA(printerName)
LODOP.SET_PRINT_PAGESIZE(0,1100,512,"");
LODOP.ADD_PRINT_BARCODE(6,23,115,83,"QRCode",row.qrCode);
LODOP.SET_PRINT_STYLEA(0,"FontSize",7);

1
src/printFormat/antenna.js

@ -20,6 +20,7 @@ export const printAntennaLabel = (printList, icons, printerName) => {
let row = printList[i]
//如果打印正常的标签
LODOP.NewPage()
LODOP.SET_PRINTER_INDEXA(printerName)
LODOP.SET_PRINT_PAGESIZE(0, 1100, 512, '')
LODOP.ADD_PRINT_BARCODE(6, 23, 115, 83, 'QRCode', row.qrCode)
LODOP.ADD_PRINT_IMAGE(4, 249, 96, 18, '<img src="data:image/png;base64,' + ckpLogo + '"/>')

13
src/printFormat/roll_label.js

@ -15,6 +15,7 @@ export const print_roll_label = (printList,printerName)=>{
for (let i = 0; i < printList.length; i++) {
let row = printList[i];
LODOP.NewPage();
LODOP.SET_PRINTER_INDEXA(printerName)
LODOP.SET_PRINT_PAGESIZE(0,450,250,"");
LODOP.ADD_PRINT_IMAGE(0,4,"18mm","18mm",`<img src="${row.qrCode}"/>`);
LODOP.SET_PRINT_STYLEA(0,"Stretch",2);
@ -62,9 +63,9 @@ export const print_roll_label = (printList,printerName)=>{
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
if (row.rollLabelRequired === 'Y'){
LODOP.ADD_PRINT_TEXT(58,73,30,20,"ROLL");
LODOP.ADD_PRINT_TEXT(52,73,30,20,"ROLL");
}else if (row.serialNumberRequired === 'Y'){
LODOP.ADD_PRINT_TEXT(58,73,50,20,"SERIAL");
LODOP.ADD_PRINT_TEXT(52,73,50,20,"SERIAL");
}
if (row.rollLabelRequired === 'Y' || row.serialNumberRequired === 'Y'){
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
@ -83,17 +84,17 @@ export const print_roll_label = (printList,printerName)=>{
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
if (row.rollLabelRequired === 'Y'){
LODOP.ADD_PRINT_TEXT(58,95,80,20,row.rollNo);
LODOP.ADD_PRINT_TEXT(52,95,80,20,row.rollNo);
}else if (row.serialNumberRequired === 'Y'){
LODOP.ADD_PRINT_TEXT(58,100,80,20,row.serialNumber);
LODOP.ADD_PRINT_TEXT(52,100,80,20,row.serialNumber);
}
if (row.rollLabelRequired === 'Y' || row.serialNumberRequired === 'Y'){
LODOP.SET_PRINT_STYLEA(0,"FontName","Arial");
LODOP.SET_PRINT_STYLEA(0,"FontSize",5);
LODOP.SET_PRINT_STYLEA(0,"Bold",1);
}
LODOP.PRINT();
// LODOP.PRINT_DESIGN()
// LODOP.PRINT();
LODOP.PRINT_DESIGN()
}
}

52
src/views/modules/customer/info.vue

@ -4,7 +4,7 @@ import {
generateCustomerNo,
removeCustomer,
saveCustomer,
selectCustomerList,
selectCustomerList, selectCustomerPage,
updateCustomer
} from '../../../api/customer/info'
import dayjs from 'dayjs'
@ -23,11 +23,14 @@ export default {
},
height:{
type:Number,
default:760
default:730
}
},
data(){
return{
no:1,
size:50,
total:0,
customer:{
...customer
},
@ -298,9 +301,39 @@ export default {
}
})
},
handleSelectCustomerPage(){
let params = {
...this.customer,
site:this.$store.state.user.site,
no:this.no,
size:this.size
}
this.tableLoading = true;
selectCustomerPage(params).then(({data})=>{
if (data && data.code === 0){
this.customerList = data.rows;
this.total = data.total;
}else {
this.$message.warning(data.msg)
}
this.tableLoading = false;
}).catch((error)=>{
this.$message.error(error)
this.tableLoading = false;
})
},
handleSizeChange(val){
this.size = val;
this.handleSelectCustomerPage();
},
handleCurrentChange(val){
this.no = val;
this.handleSelectCustomerPage();
}
},
created () {
this.handleSearch();
this.handleSelectCustomerPage();
// this.handleSearch();
this.getTableUserColumn("20002Table", 1)
}
}
@ -324,7 +357,8 @@ export default {
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" v-if="!ofComponents" @click="handleSave">New</el-button>
<el-button type="primary" @click="handleSearch">Query</el-button>
<!-- <el-button type="primary" @click="handleSearch">Query</el-button>-->
<el-button type="primary" @click="handleSelectCustomerPage">Query</el-button>
</el-form-item>
</el-form>
<el-table
@ -360,7 +394,15 @@ export default {
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="no"
:page-sizes="[50,100, 200, 300, 400]"
:page-size="size"
layout="sizes, prev, pager, next,total"
:total="total">
</el-pagination>
<el-dialog v-drag modal-append-to-body :close-on-click-modal="false" :title="`Customer`" @close="closeSaveForm" width="500px" :visible.sync="saveCustomerVisible">
<el-form label-position="top" :model="saveCustomer" :rules="saveCustomerRules" ref="saveForm">
<el-row :gutter="20">

57
src/views/modules/label/printer.vue

@ -1,6 +1,6 @@
<script>
import PictureModule from '../part/picture/picture.vue'
import {getExternalPartCustomerList} from '../../../api/part/externalPartCustomer'
import {getExternalPartCustomerList, getExternalPartCustomerPage} from '../../../api/part/externalPartCustomer'
import {getExternalPartPictureList} from '../../../api/part/externalPartPicture'
import ExternalPart from '../part/external.vue'
import CustomerInfo from '../customer/info.vue'
@ -48,11 +48,14 @@ export default {
props:{
height:{
type:Number,
default:330
default:300
},
},
data(){
return{
no:1,
size:50,
total:0,
rowSpan: 8,
printerSetupList:[],
currentPrinter: '',
@ -870,7 +873,6 @@ export default {
savePrintRollLabelRecord(params).then(({data})=>{
if (data && data.code === 0) {
let labelList = this.labelFormatList.filter((item)=> item.labelType === 'Roll Label')
console.log(labelList)
let prints = data.rows.map((item) => {
return {
qrCode: `(00)${item.partNo}(01)${item.qtyPerRoll}(02)${item.umName}(03)${item.manufacturerDate}(04)${item.serialNumber? item.serialNumber : ''}(05)${item.manufacturerNo? item.manufacturerNo : ''}(06)${item.moldCode? item.moldCode : ''}(07)(08)${item.rollNo}`,
@ -920,13 +922,43 @@ export default {
for (let i = 0; i < lodop.GET_PRINTER_COUNT(); i++) {
this.printerSetupList.push(lodop.GET_PRINTER_NAME(i))
}
}
},
handleGetExternalPartCustomerPage(){
let params = {
...this.searchPrinter,
site:this.$store.state.user.site,
no:this.no,
size:this.size,
}
getExternalPartCustomerPage(params).then(({data})=>{
if (data && data.code === 0){
this.printerList = data.rows;
if (this.printerList.length > 0){
this.currentPart = {...this.printerList[0]}
}
this.total = data.total;
}else {
this.$message.warning(data.msg)
}
}).catch((error)=>{
this.$message.error(error)
})
},
handleSizeChange(val){
this.size = val;
this.handleGetExternalPartCustomerPage();
},
handleCurrentChange(val){
this.no = val;
this.handleGetExternalPartCustomerPage();
},
},
mounted () {
this.getLodopPrinterName();
},
created () {
this.getExternalPartCustomerList();
// this.getExternalPartCustomerList();
this.handleGetExternalPartCustomerPage();
this.getCategoryList();
this.getTableUserColumn("30004Table",1)
this.getTableUserColumn("30004Table2",2)
@ -962,7 +994,7 @@ export default {
</el-col>
<el-col :span="4">
<el-form-item label=" ">
<el-button type="primary" style="width: 60px" @click="getExternalPartCustomerList">Query</el-button>
<el-button type="primary" style="width: 60px" @click="handleGetExternalPartCustomerPage">Query</el-button>
</el-form-item>
</el-col>
</el-row>
@ -1015,12 +1047,21 @@ export default {
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="no"
:page-sizes="[50,100, 200, 300, 400]"
:page-size="size"
layout="sizes, prev, pager, next,total"
:total="total">
</el-pagination>
<el-tabs v-model="activeName">
<el-tab-pane label="Part Picture" name="picture">
<picture-module :column-list="pictureColumnList" :height="350" :part="currentPart" @refresh="getExternalPartPictureList" :of-components="true" :data-list="pictureList"></picture-module>
<picture-module :column-list="pictureColumnList" :height="330" :part="currentPart" @refresh="getExternalPartPictureList" :of-components="true" :data-list="pictureList"></picture-module>
</el-tab-pane>
<el-tab-pane label="Linked Format" name="format">
<linked-format :column-list="formatColumnList" :height="350" :data-list="labelFormatList"></linked-format>
<linked-format :column-list="formatColumnList" :height="330" :data-list="labelFormatList"></linked-format>
</el-tab-pane>
</el-tabs>

54
src/views/modules/part/external.vue

@ -2,7 +2,7 @@
import {
removeExternalPart,
saveExternalPart,
selectExternalPartList,
selectExternalPartList, selectExternalPartPage,
selectUnitList,
updateExternalPart
} from '../../../api/part/external'
@ -40,7 +40,7 @@ export default {
props:{
height:{
type:Number,
default: 370
default: 310
},
ofComponents: {
type:Boolean,
@ -49,6 +49,9 @@ export default {
},
data(){
return{
no:1,
size:50,
total:0,
part: {
...part
},
@ -1067,7 +1070,36 @@ export default {
}).catch((error)=>{
this.$message.error(error)
})
}
},
handleSelectExternalPartPage(){
let params = {
...this.part,
site: this.$store.state.user.site,
no:this.no,
size:this.size,
}
selectExternalPartPage(params).then(({data})=>{
if (data && data.code === 0){
this.partList = data.rows;
if (this.partList.length > 0 && !this.ofComponents){
this.currentPart = {...this.partList[0]}
}
this.total = data.total;
}else {
this.$message.warning(data.msg)
}
}).catch((error)=>{
this.$message.error(error)
})
},
handleSizeChange(val){
this.size = val;
this.handleSelectExternalPartPage();
},
handleCurrentChange(val){
this.no = val;
this.handleSelectExternalPartPage();
},
},
computed:{
@ -1076,7 +1108,8 @@ export default {
this.selectUnitList();
this.getCategoryList();
// this.getCountryList();
this.selectExternalPartList();
// this.selectExternalPartList();
this.handleSelectExternalPartPage();
this.getUserSiteDefaultCountry();
this.getTableUserColumn("10002Table", 1)
this.getTableUserColumn("10002Table2", 2)
@ -1110,7 +1143,8 @@ export default {
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" @click="handleSave" v-if="!ofComponents">New</el-button>
<el-button type="primary" @click="selectExternalPartList">Query</el-button>
<!-- <el-button type="primary" @click="selectExternalPartList">Query</el-button>-->
<el-button type="primary" @click="handleSelectExternalPartPage">Query</el-button>
</el-form-item>
</el-form>
@ -1143,7 +1177,15 @@ export default {
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="no"
:page-sizes="[50,100, 200, 300, 400]"
:page-size="size"
layout="sizes, prev, pager, next,total"
:total="total">
</el-pagination>
<el-tabs v-model="activeName" v-if="!ofComponents">
<el-tab-pane label="Part Picture" name="partPicture">
<picture-module :column-list="pictureColumnList" :part="currentPart" :data-list="pictureList" @refresh="getExternalPartPictureList"></picture-module>

Loading…
Cancel
Save