feat: 喷码设置新增 coder_jobname/coder_jobname2,按钮显式传入模板名

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
caoqianming 2026-05-25 14:30:24 +08:00
parent 0db43cc4c5
commit a9e1229e62
3 changed files with 31 additions and 15 deletions

View File

@ -57,7 +57,7 @@
</el-main> </el-main>
<el-footer> <el-footer>
<el-button type="primary" @click="goEvent">事件中心</el-button> <el-button type="primary" @click="goEvent">事件中心</el-button>
</el-footer> </el-footer>
</el-container> </el-container>
</el-drawer> </el-drawer>
@ -110,19 +110,25 @@
</el-footer> </el-footer>
</el-dialog> </el-dialog>
<el-dialog title="喷码设置" v-model="setCoderVisible" width="600px"> <el-dialog title="喷码设置" v-model="setCoderVisible" width="600px">
<el-form label-width="120px"> <el-form label-width="140px">
<el-form-item label="喷码IP"> <el-form-item label="喷码IP">
<el-input v-model="coder_ip" placeholder="留空则使用模板配置"></el-input> <el-input v-model="coder_ip" placeholder="留空则使用模板配置"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="喷码端口"> <el-form-item label="喷码端口">
<el-input v-model="coder_port" placeholder="留空则使用模板配置, 默认3100"></el-input> <el-input v-model="coder_port" placeholder="留空则使用模板配置, 默认3100"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="喷数字码"> <el-form-item label="喷数字码工作区">
<el-input v-model="coder_field" placeholder="喷数字码工作区代码"></el-input> <el-input v-model="coder_field" placeholder="喷数字码工作区代码"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="喷二维码"> <el-form-item label="数字码模板名">
<el-input v-model="coder_jobname" placeholder="喷码机信息模板名, 如 Barcode"></el-input>
</el-form-item>
<el-form-item label="喷二维码工作区">
<el-input v-model="coder_field2" placeholder="喷二维码工作区代码"></el-input> <el-input v-model="coder_field2" placeholder="喷二维码工作区代码"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="二维码模板名">
<el-input v-model="coder_jobname2" placeholder="喷码机信息模板名, 如 QRCode"></el-input>
</el-form-item>
</el-form> </el-form>
<el-footer> <el-footer>
<el-button type="primary" @click="saveCoder">保存</el-button> <el-button type="primary" @click="saveCoder">保存</el-button>
@ -145,7 +151,7 @@
import search from "./search.vue"; import search from "./search.vue";
import scanDetail from "./scan_detail.vue"; import scanDetail from "./scan_detail.vue";
import scanDialog from "./../../views/template/scan.vue"; import scanDialog from "./../../views/template/scan.vue";
export default { export default {
components: { components: {
search,scanDialog,scanDetail search,scanDialog,scanDetail
}, },
@ -173,6 +179,8 @@ export default {
coder_port:'', coder_port:'',
coder_field:'', coder_field:'',
coder_field2:'', coder_field2:'',
coder_jobname:'',
coder_jobname2:'',
scanVisible:false, scanVisible:false,
}; };
}, },
@ -197,6 +205,8 @@ export default {
this.coder_port = localStorage.getItem("coder_port") || ""; this.coder_port = localStorage.getItem("coder_port") || "";
this.coder_field = localStorage.getItem("coder_field") || ""; this.coder_field = localStorage.getItem("coder_field") || "";
this.coder_field2 = localStorage.getItem("coder_field2") || ""; this.coder_field2 = localStorage.getItem("coder_field2") || "";
this.coder_jobname = localStorage.getItem("coder_jobname") || "";
this.coder_jobname2 = localStorage.getItem("coder_jobname2") || "";
}, },
methods: { methods: {
openBook() { openBook() {
@ -304,7 +314,9 @@ export default {
"coder_ip":this.coder_ip, "coder_ip":this.coder_ip,
"coder_port":this.coder_port, "coder_port":this.coder_port,
"coder_field":this.coder_field, "coder_field":this.coder_field,
"coder_field2":this.coder_field2 "coder_field2":this.coder_field2,
"coder_jobname":this.coder_jobname,
"coder_jobname2":this.coder_jobname2
}); });
this.setCoderVisible=false; this.setCoderVisible=false;
}, },
@ -322,7 +334,7 @@ export default {
this.searchVisible = true; this.searchVisible = true;
}, },
scanClose(data){ scanClose(data){
let that = this; let that = this;
let arr = []; let arr = [];
if(data.indexOf(':')>-1){ if(data.indexOf(':')>-1){

View File

@ -1,4 +1,4 @@
/* /*
* @Descripttion: 工具集 * @Descripttion: 工具集
* @version: 1.2 * @version: 1.2
* @LastEditors: sakuya * @LastEditors: sakuya
@ -152,6 +152,8 @@ tool.setCoder = function (val) {
localStorage.setItem('coder_port', val.coder_port || '') localStorage.setItem('coder_port', val.coder_port || '')
localStorage.setItem('coder_field', val.coder_field || '') localStorage.setItem('coder_field', val.coder_field || '')
localStorage.setItem('coder_field2', val.coder_field2 || '') localStorage.setItem('coder_field2', val.coder_field2 || '')
localStorage.setItem('coder_jobname', val.coder_jobname || '')
localStorage.setItem('coder_jobname2', val.coder_jobname2 || '')
} }
/* 复制对象 */ /* 复制对象 */
tool.objCopy = function (obj) { tool.objCopy = function (obj) {

View File

@ -94,8 +94,8 @@
<template #default="scope"> <template #default="scope">
<el-button v-if="mode=='ins'&&mgroupName=='毛坯检测后打码'" @click="QRCode(scope.row)" type="success">二维码</el-button> <el-button v-if="mode=='ins'&&mgroupName=='毛坯检测后打码'" @click="QRCode(scope.row)" type="success">二维码</el-button>
<el-button @click="printMaterial(scope.row)" type="primary" v-if="mode=='ins'&&mgroupName!=='喷码'">打签</el-button> <el-button @click="printMaterial(scope.row)" type="primary" v-if="mode=='ins'&&mgroupName!=='喷码'">打签</el-button>
<el-button @click="sendToCoder(scope.row,'coder_field')" type="success" v-if="mode=='ins'&&mgroupName=='喷码'" :loading="!!coderLoadingIds[scope.row.id]" :disabled="!!coderLoadingIds[scope.row.id]">喷数字码</el-button> <el-button @click="sendToCoder(scope.row,'coder_jobname','coder_field')" type="success" v-if="mode=='ins'&&mgroupName=='喷码'" :loading="!!coderLoadingIds[scope.row.id]" :disabled="!!coderLoadingIds[scope.row.id]">喷数字码</el-button>
<el-button @click="sendToCoder(scope.row,'coder_field2')" type="primary" v-if="mode=='ins'&&mgroupName=='喷码'" :loading="!!coderLoadingIds[scope.row.id]" :disabled="!!coderLoadingIds[scope.row.id]">喷二维码</el-button> <el-button @click="sendToCoder(scope.row,'coder_jobname2','coder_field2')" type="primary" v-if="mode=='ins'&&mgroupName=='喷码'" :loading="!!coderLoadingIds[scope.row.id]" :disabled="!!coderLoadingIds[scope.row.id]">喷二维码</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -412,7 +412,7 @@ that.$API.wpm.prints.req(printer_ip, obj).then((response) => {
}; };
}, },
//: 1 //: 1
sendToCoder(row, coderFieldKey = 'coder_field'){ sendToCoder(row, coderJobNameKey = 'coder_jobname', coderFieldKey = 'coder_field'){
let that = this; let that = this;
if (that.coderLoadingIds[row.id]) return; if (that.coderLoadingIds[row.id]) return;
let release = () => { let release = () => {
@ -421,7 +421,7 @@ that.$API.wpm.prints.req(printer_ip, obj).then((response) => {
that.coderLoadingIds = map; that.coderLoadingIds = map;
}; };
that.coderLoadingIds = { ...that.coderLoadingIds, [row.id]: true }; that.coderLoadingIds = { ...that.coderLoadingIds, [row.id]: true };
that._postCoder([that.rowToTdata(row)],coderFieldKey) that._postCoder([that.rowToTdata(row)], coderFieldKey, coderJobNameKey)
.then(() => that.$message.success("喷码下发成功")) .then(() => that.$message.success("喷码下发成功"))
.finally(release); .finally(release);
}, },
@ -434,7 +434,7 @@ that.$API.wpm.prints.req(printer_ip, obj).then((response) => {
if (!that.selectedRows.length || that.batchCoderLoading) return; if (!that.selectedRows.length || that.batchCoderLoading) return;
let tdataList = that.selectedRows.map(r => that.rowToTdata(r)); let tdataList = that.selectedRows.map(r => that.rowToTdata(r));
that.batchCoderLoading = true; that.batchCoderLoading = true;
that._postCoder(tdataList, 'coder_field') that._postCoder(tdataList, 'coder_field', 'coder_jobname')
.then(() => that.$message.success(`已入队 ${tdataList.length}`)) .then(() => that.$message.success(`已入队 ${tdataList.length}`))
.finally(() => { that.batchCoderLoading = false; }); .finally(() => { that.batchCoderLoading = false; });
}, },
@ -444,12 +444,12 @@ that.$API.wpm.prints.req(printer_ip, obj).then((response) => {
if (!that.selectedRows.length || that.batchCoderLoading2) return; if (!that.selectedRows.length || that.batchCoderLoading2) return;
let tdataList = that.selectedRows.map(r => that.rowToTdata(r)); let tdataList = that.selectedRows.map(r => that.rowToTdata(r));
that.batchCoderLoading2 = true; that.batchCoderLoading2 = true;
that._postCoder(tdataList, 'coder_field2') that._postCoder(tdataList, 'coder_field2', 'coder_jobname2')
.then(() => that.$message.success(`已入队 ${tdataList.length}`)) .then(() => that.$message.success(`已入队 ${tdataList.length}`))
.finally(() => { that.batchCoderLoading2 = false; }); .finally(() => { that.batchCoderLoading2 = false; });
}, },
//: + body + //: + body +
_postCoder(tdataList, coderFieldKey = 'coder_field'){ _postCoder(tdataList, coderFieldKey = 'coder_field', coderJobNameKey = ''){
let that = this; let that = this;
let coder_ip = localStorage.getItem('coder_ip') || ''; let coder_ip = localStorage.getItem('coder_ip') || '';
let coder_port = localStorage.getItem('coder_port') || ''; let coder_port = localStorage.getItem('coder_port') || '';
@ -469,6 +469,8 @@ that.$API.wpm.prints.req(printer_ip, obj).then((response) => {
let body = {tdata_list: tdataList, coder_ip}; let body = {tdata_list: tdataList, coder_ip};
if (coder_port) body.coder_port = Number(coder_port); if (coder_port) body.coder_port = Number(coder_port);
if (coder_field) body.coder_field = coder_field; if (coder_field) body.coder_field = coder_field;
let coder_jobname = localStorage.getItem(coderJobNameKey) || '';
if (coder_jobname) body.coder_jobname = coder_jobname;
return that.$API.cm.labeltemplate.sendToCoder.req(template.id, body); return that.$API.cm.labeltemplate.sendToCoder.req(template.id, body);
}); });
}, },