Browse Source

2024-07-19

质量标签打印
java8
fengyuan_yang 2 years ago
parent
commit
fe46233089
  1. 197
      package-lock.json
  2. 1
      package.json
  3. 4
      src/api/partspare/inventorystock.js
  4. 25
      src/api/qc/qcPrint.js
  5. 51
      src/views/modules/common/QrCode.vue
  6. 21
      src/views/modules/qc/FAIResultEntry.vue
  7. 21
      src/views/modules/qc/FQCResultEntry.vue
  8. 21
      src/views/modules/qc/IPQCResultEntry.vue
  9. 21
      src/views/modules/qc/IQCResultEntry.vue

197
package-lock.json

@ -3789,6 +3789,11 @@
"randombytes": "^2.0.0" "randombytes": "^2.0.0"
} }
}, },
"dijkstrajs": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
"integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA=="
},
"dns-equal": { "dns-equal": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
@ -4033,11 +4038,21 @@
"minimalistic-crypto-utils": "^1.0.0" "minimalistic-crypto-utils": "^1.0.0"
} }
}, },
"emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
},
"emojis-list": { "emojis-list": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
"integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k="
}, },
"encode-utf8": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/encode-utf8/-/encode-utf8-1.0.3.tgz",
"integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw=="
},
"encodeurl": { "encodeurl": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
@ -15300,6 +15315,11 @@
"integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=",
"dev": true "dev": true
}, },
"pngjs": {
"version": "5.0.0",
"resolved": "https://registry.npmmirror.com/pngjs/-/pngjs-5.0.0.tgz",
"integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw=="
},
"portfinder": { "portfinder": {
"version": "1.0.13", "version": "1.0.13",
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz",
@ -16404,6 +16424,183 @@
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
"integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
}, },
"qrcode": {
"version": "1.5.3",
"resolved": "https://registry.npmmirror.com/qrcode/-/qrcode-1.5.3.tgz",
"integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==",
"requires": {
"dijkstrajs": "^1.0.1",
"encode-utf8": "^1.0.3",
"pngjs": "^5.0.0",
"yargs": "^15.3.1"
},
"dependencies": {
"ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
},
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"requires": {
"color-convert": "^2.0.1"
}
},
"camelcase": {
"version": "5.3.1",
"resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
},
"cliui": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz",
"integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
"requires": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.0",
"wrap-ansi": "^6.2.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"requires": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
}
},
"get-caller-file": {
"version": "2.0.5",
"resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
},
"is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
},
"locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"requires": {
"p-locate": "^4.1.0"
}
},
"p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"requires": {
"p-try": "^2.0.0"
}
},
"p-locate": {
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"requires": {
"p-limit": "^2.2.0"
}
},
"p-try": {
"version": "2.2.0",
"resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
},
"path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
},
"require-main-filename": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz",
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
},
"string-width": {
"version": "4.2.3",
"resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"requires": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
"strip-ansi": "^6.0.1"
}
},
"strip-ansi": {
"version": "6.0.1",
"resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"requires": {
"ansi-regex": "^5.0.1"
}
},
"which-module": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.1.tgz",
"integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ=="
},
"wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
"integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"requires": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0"
}
},
"y18n": {
"version": "4.0.3",
"resolved": "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz",
"integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
},
"yargs": {
"version": "15.4.1",
"resolved": "https://registry.npmmirror.com/yargs/-/yargs-15.4.1.tgz",
"integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
"requires": {
"cliui": "^6.0.0",
"decamelize": "^1.2.0",
"find-up": "^4.1.0",
"get-caller-file": "^2.0.1",
"require-directory": "^2.1.1",
"require-main-filename": "^2.0.0",
"set-blocking": "^2.0.0",
"string-width": "^4.2.0",
"which-module": "^2.0.0",
"y18n": "^4.0.0",
"yargs-parser": "^18.1.2"
}
},
"yargs-parser": {
"version": "18.1.3",
"resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-18.1.3.tgz",
"integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
"requires": {
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"
}
}
}
},
"qs": { "qs": {
"version": "6.5.2", "version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",

1
package.json

@ -14,6 +14,7 @@
"build": "gulp" "build": "gulp"
}, },
"dependencies": { "dependencies": {
"qrcode": "^1.5.3",
"axios": "0.17.1", "axios": "0.17.1",
"babel-plugin-component": "0.10.1", "babel-plugin-component": "0.10.1",
"babel-polyfill": "6.26.0", "babel-polyfill": "6.26.0",

4
src/api/partspare/inventorystock.js

@ -104,8 +104,8 @@ export function partSpareTemp(dataList) {
LODOP.SET_PRINT_STYLEA(0,"LineSpacing",-3); LODOP.SET_PRINT_STYLEA(0,"LineSpacing",-3);
} }
// LODOP.PRINT_DESIGN(); // LODOP.PRINT_DESIGN();
//LODOP.PREVIEW();
LODOP.PRINT();
LODOP.PREVIEW();
//LODOP.PRINT();
} }
} }

25
src/api/qc/qcPrint.js

@ -0,0 +1,25 @@
import getLodop from '@/utils/LodopFuncs.js'
// 打印
export function qcPrint(dataList) {
const LODOP = getLodop()
if (LODOP) {
for (const row of dataList) {
LODOP.NewPage()
LODOP.SET_PRINT_PAGESIZE(0,500,250,"")
LODOP.SET_PRINT_MODE("PRINT_NOCOLLATE",1);
//LODOP.ADD_PRINT_BARCODE(8,5,80,85,"QRCode",row.inspectionNo)
LODOP.ADD_PRINT_IMAGE(2,-2,"16.85mm","18.44mm",`<img src="${row.qrCode}" style="width: 70px;height: 70px"/>`);
LODOP.SET_PRINT_STYLEA(0,"FontSize",8)
LODOP.ADD_PRINT_TEXT(23,67,127,22,row.inspectionNo)
LODOP.SET_PRINT_STYLEA(0,"FontName","@微软雅黑");
}
//LODOP.PRINT_DESIGN();
//LODOP.PREVIEW();
LODOP.PRINT();
}
}

51
src/views/modules/common/QrCode.vue

@ -0,0 +1,51 @@
<template>
<div v-if="false">
<!-- 你可以选择是否需要展示 base64 编码字符串 -->
<div v-for="(code, index) in qrCodesBase64" :key="index">
<!-- <p>{{ code }}</p>-->
<img :src="code"/>
</div>
</div>
</template>
<script>
import QRCode from 'qrcode'
export default {
name: 'QrCode',
data() {
return {
texts: ['text1', 'text2', 'text3'], //
qrCodesBase64: []
}
},
methods: {
init(contextList){
this.texts = contextList
this.generateQRCodesSync(this.texts)
return this.qrCodesBase64
},
generateQRCodeSync(text) {
let base64 = ''
QRCode.toDataURL(text, { errorCorrectionLevel: 'H' }, (err, url) => {
if (err) {
console.error(err)
return
}
base64 = url
})
return base64
},
generateQRCodesSync(texts) {
this.qrCodesBase64 = texts.map(text => this.generateQRCodeSync(text))
}
},
mounted() {
this.generateQRCodesSync(this.texts)
}
}
</script>
<style>
/* 你的样式 */
</style>

21
src/views/modules/qc/FAIResultEntry.vue

@ -91,6 +91,7 @@
<el-button v-if="!authSave" type="primary" @click="addModal">新增</el-button> <el-button v-if="!authSave" type="primary" @click="addModal">新增</el-button>
<el-button v-if="!authCheck" type="primary" @click="submitResult">审核</el-button> <el-button v-if="!authCheck" type="primary" @click="submitResult">审核</el-button>
<el-button v-if="!authDelete" type="primary" @click="deleteModal">删除</el-button> <el-button v-if="!authDelete" type="primary" @click="deleteModal">删除</el-button>
<el-button type="primary" @click="printList">打印</el-button>
<download-excel <download-excel
:fields="fields()" :fields="fields()"
:data="exportData" :data="exportData"
@ -907,6 +908,9 @@
<!-- 子明细导入 --> <!-- 子明细导入 -->
<subDetailUpload @changeEvent="changeMyString" ref="subDetailUpload" @refreshPageTables="getInspectionFormData" v-drag></subDetailUpload> <subDetailUpload @changeEvent="changeMyString" ref="subDetailUpload" @refreshPageTables="getInspectionFormData" v-drag></subDetailUpload>
<!-- 打印标签 -->
<qr-code ref="qrCode"></qr-code>
</div> </div>
</template> </template>
@ -951,12 +955,15 @@
getOperatorList getOperatorList
} from '@/api/eam/eam.js' } from '@/api/eam/eam.js'
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js' import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
import {qcPrint} from '@/api/qc/qcPrint.js'
import qcFAIUploadFile from "./qc_FAI_upload_file" import qcFAIUploadFile from "./qc_FAI_upload_file"
import comQcItemImageUploadFile from "./com_qc_itemImage_upload_file" import comQcItemImageUploadFile from "./com_qc_itemImage_upload_file"
import subDetailUpload from "./sub_detail_upload" import subDetailUpload from "./sub_detail_upload"
import QrCode from "../common/QrCode.vue";
/*上传文件的組件*/ /*上传文件的組件*/
export default { export default {
components: { components: {
QrCode,
Chooselist, Chooselist,
qcFAIUploadFile, qcFAIUploadFile,
comQcItemImageUploadFile, comQcItemImageUploadFile,
@ -2407,6 +2414,20 @@
}, },
methods: { methods: {
//
printList () {
if (this.FAISelections.length === 0) {
this.$message.warning('请勾选要打印的检验单!')
return
}
const inspectionNos = this.$refs.qrCode.init(this.FAISelections.map(item => item.inspectionNo))
for (let i = 0; i < inspectionNos.length; i++) {
this.FAISelections[i].qrCode = inspectionNos[i]
}
qcPrint(this.FAISelections)
},
// //
dataAcquisition () { dataAcquisition () {
this.loadFlag = true this.loadFlag = true

21
src/views/modules/qc/FQCResultEntry.vue

@ -92,6 +92,7 @@
<el-button v-if="!authSave" type="primary" @click="addModal()">新增</el-button> <el-button v-if="!authSave" type="primary" @click="addModal()">新增</el-button>
<el-button v-if="!authCheck" type="primary" @click="submitResult()">审核</el-button> <el-button v-if="!authCheck" type="primary" @click="submitResult()">审核</el-button>
<el-button v-if="!authDelete" type="primary" @click="deleteModal()">删除</el-button> <el-button v-if="!authDelete" type="primary" @click="deleteModal()">删除</el-button>
<el-button type="primary" @click="printList">打印</el-button>
<download-excel <download-excel
:fields="fields()" :fields="fields()"
:data="exportData" :data="exportData"
@ -883,6 +884,9 @@
<!-- 子明细导入 --> <!-- 子明细导入 -->
<subDetailUpload @changeEvent="changeMyString" ref="subDetailUpload" @refreshPageTables="getInspectionFormData" v-drag></subDetailUpload> <subDetailUpload @changeEvent="changeMyString" ref="subDetailUpload" @refreshPageTables="getInspectionFormData" v-drag></subDetailUpload>
<!-- 打印标签 -->
<qr-code ref="qrCode"></qr-code>
</div> </div>
</template> </template>
@ -928,12 +932,15 @@
getOperatorList getOperatorList
} from '@/api/eam/eam.js' } from '@/api/eam/eam.js'
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js' import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
import {qcPrint} from '@/api/qc/qcPrint.js'
import qcFAIUploadFile from "./qc_FAI_upload_file" import qcFAIUploadFile from "./qc_FAI_upload_file"
import comQcItemImageUploadFile from "./com_qc_itemImage_upload_file" import comQcItemImageUploadFile from "./com_qc_itemImage_upload_file"
import subDetailUpload from "./sub_detail_upload" import subDetailUpload from "./sub_detail_upload"
import QrCode from "../common/QrCode.vue";
/*上传文件的組件*/ /*上传文件的組件*/
export default { export default {
components: { components: {
QrCode,
Chooselist, Chooselist,
qcFAIUploadFile, qcFAIUploadFile,
comQcItemImageUploadFile, comQcItemImageUploadFile,
@ -2382,6 +2389,20 @@
}, },
methods: { methods: {
//
printList () {
if (this.FAISelections.length === 0) {
this.$message.warning('请勾选要打印的检验单!')
return
}
const inspectionNos = this.$refs.qrCode.init(this.FAISelections.map(item => item.inspectionNo))
for (let i = 0; i < inspectionNos.length; i++) {
this.FAISelections[i].qrCode = inspectionNos[i]
}
qcPrint(this.FAISelections)
},
// //
dataAcquisition () { dataAcquisition () {
this.loadFlag = true this.loadFlag = true

21
src/views/modules/qc/IPQCResultEntry.vue

@ -95,6 +95,7 @@
<el-button v-if="!authSave" type="primary" @click="addModal">新增</el-button> <el-button v-if="!authSave" type="primary" @click="addModal">新增</el-button>
<el-button v-if="!authCheck" type="primary" @click="submitResult">审核</el-button> <el-button v-if="!authCheck" type="primary" @click="submitResult">审核</el-button>
<el-button v-if="!authDelete" type="primary" @click="deleteModal">删除</el-button> <el-button v-if="!authDelete" type="primary" @click="deleteModal">删除</el-button>
<el-button type="primary" @click="printList">打印</el-button>
<download-excel <download-excel
:fields="fields()" :fields="fields()"
:data="exportData" :data="exportData"
@ -910,6 +911,9 @@
<!-- 子明细导入 --> <!-- 子明细导入 -->
<subDetailUpload @changeEvent="changeMyString" ref="subDetailUpload" @refreshPageTables="getInspectionFormData" v-drag></subDetailUpload> <subDetailUpload @changeEvent="changeMyString" ref="subDetailUpload" @refreshPageTables="getInspectionFormData" v-drag></subDetailUpload>
<!-- 打印标签 -->
<qr-code ref="qrCode"></qr-code>
</div> </div>
</template> </template>
@ -954,12 +958,15 @@
getOperatorList getOperatorList
} from '@/api/eam/eam.js' } from '@/api/eam/eam.js'
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js' import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
import {qcPrint} from '@/api/qc/qcPrint.js'
import qcFAIUploadFile from "./qc_FAI_upload_file" import qcFAIUploadFile from "./qc_FAI_upload_file"
import comQcItemImageUploadFile from "./com_qc_itemImage_upload_file" import comQcItemImageUploadFile from "./com_qc_itemImage_upload_file"
import subDetailUpload from "./sub_detail_upload"; import subDetailUpload from "./sub_detail_upload";
import QrCode from "../common/QrCode.vue";
/*上传文件的組件*/ /*上传文件的組件*/
export default { export default {
components: { components: {
QrCode,
Chooselist, Chooselist,
qcFAIUploadFile, qcFAIUploadFile,
comQcItemImageUploadFile, comQcItemImageUploadFile,
@ -2442,6 +2449,20 @@
}, },
methods: { methods: {
//
printList () {
if (this.IPQCSelections.length === 0) {
this.$message.warning('请勾选要打印的检验单!')
return
}
const inspectionNos = this.$refs.qrCode.init(this.IPQCSelections.map(item => item.inspectionNo))
for (let i = 0; i < inspectionNos.length; i++) {
this.IPQCSelections[i].qrCode = inspectionNos[i]
}
qcPrint(this.IPQCSelections)
},
// //
dataAcquisition () { dataAcquisition () {
this.loadFlag = true this.loadFlag = true

21
src/views/modules/qc/IQCResultEntry.vue

@ -108,6 +108,7 @@
<el-button v-if="!authCheck" type="primary" @click="submitResult">审核</el-button> <el-button v-if="!authCheck" type="primary" @click="submitResult">审核</el-button>
<el-button v-if="!authDelete" type="primary" @click="deleteModal">删除</el-button> <el-button v-if="!authDelete" type="primary" @click="deleteModal">删除</el-button>
<el-button v-if="!authOverLoad" type="primary" @click="overLoadModal">任务重载</el-button> <el-button v-if="!authOverLoad" type="primary" @click="overLoadModal">任务重载</el-button>
<el-button type="primary" @click="printList">打印</el-button>
<download-excel <download-excel
:fields="fields()" :fields="fields()"
:data="exportData" :data="exportData"
@ -626,6 +627,9 @@
<!-- 子明细导入 --> <!-- 子明细导入 -->
<subDetailUpload @changeEvent="changeMyString" ref="subDetailUpload" @refreshPageTables="getInspectionFormData" v-drag></subDetailUpload> <subDetailUpload @changeEvent="changeMyString" ref="subDetailUpload" @refreshPageTables="getInspectionFormData" v-drag></subDetailUpload>
<!-- 打印标签 -->
<qr-code ref="qrCode"></qr-code>
</div> </div>
</template> </template>
@ -660,11 +664,14 @@
getOperatorList getOperatorList
} from '@/api/eam/eam.js' } from '@/api/eam/eam.js'
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js' import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
import {qcPrint} from '@/api/qc/qcPrint.js'
import qcFAIUploadFile from "./qc_FAI_upload_file" import qcFAIUploadFile from "./qc_FAI_upload_file"
import comQcItemImageUploadFile from "./com_qc_itemImage_upload_file" import comQcItemImageUploadFile from "./com_qc_itemImage_upload_file"
import subDetailUpload from "./sub_detail_upload" import subDetailUpload from "./sub_detail_upload"
import QrCode from "../common/QrCode.vue";
export default { export default {
components: { components: {
QrCode,
Chooselist, Chooselist,
qcFAIUploadFile, qcFAIUploadFile,
comQcItemImageUploadFile, comQcItemImageUploadFile,
@ -1764,6 +1771,20 @@
}, },
methods: { methods: {
//
printList () {
if (this.IQCSelections.length === 0) {
this.$message.warning('请勾选要打印的检验单!')
return
}
const inspectionNos = this.$refs.qrCode.init(this.IQCSelections.map(item => item.inspectionNo))
for (let i = 0; i < inspectionNos.length; i++) {
this.IQCSelections[i].qrCode = inspectionNos[i]
}
qcPrint(this.IQCSelections)
},
// //
dataAcquisition () { dataAcquisition () {
this.loadFlag = true this.loadFlag = true

Loading…
Cancel
Save