feat: 喷码配置独立到顶栏设置, 命名统一为"喷码"
- 顶栏新增独立"喷码设置"图标与弹窗, 与打印机解耦 - coder_ip/port/field 持久化到 localStorage (新增 tool.setCoder) - 标签模板编辑页移除 coder_* 三个字段 (后端已删除) - wprList 喷码下发改为从 localStorage 读取配置, 显式带 body 下发 - 全部界面文案统一为"喷码", API 字段名 coder_* 不变 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
4cfaa59600
commit
e9e4a253b0
|
|
@ -95,7 +95,7 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
sendToCoder:{
|
sendToCoder:{
|
||||||
name: "下发到打码器",
|
name: "下发到喷码",
|
||||||
req: async function(id, data){
|
req: async function(id, data){
|
||||||
return await http.post(
|
return await http.post(
|
||||||
`${config.API_URL}/cm/labeltemplate/${id}/send_to_coder/`,
|
`${config.API_URL}/cm/labeltemplate/${id}/send_to_coder/`,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,11 @@
|
||||||
<el-icon-printer :size="26"/>
|
<el-icon-printer :size="26"/>
|
||||||
</el-icon>
|
</el-icon>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="screen panel-item" @click="coderSetting" title="喷码设置">
|
||||||
|
<el-icon>
|
||||||
|
<el-icon-postcard :size="26"/>
|
||||||
|
</el-icon>
|
||||||
|
</div>
|
||||||
<scan-dialog ref="scanDialog" :type="'info'" @closed="scanClose"> </scan-dialog>
|
<scan-dialog ref="scanDialog" :type="'info'" @closed="scanClose"> </scan-dialog>
|
||||||
<div class="screen panel-item hidden-sm-and-down" @click="screen">
|
<div class="screen panel-item hidden-sm-and-down" @click="screen">
|
||||||
<el-icon>
|
<el-icon>
|
||||||
|
|
@ -104,6 +109,22 @@
|
||||||
<el-button type="primary" @click="savePrinter">保存</el-button>
|
<el-button type="primary" @click="savePrinter">保存</el-button>
|
||||||
</el-footer>
|
</el-footer>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
<el-dialog title="喷码设置" v-model="setCoderVisible" width="600px">
|
||||||
|
<el-form label-width="120px">
|
||||||
|
<el-form-item label="喷码IP">
|
||||||
|
<el-input v-model="coder_ip" placeholder="留空则使用模板配置"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="喷码端口">
|
||||||
|
<el-input v-model="coder_port" placeholder="留空则使用模板配置, 默认3100"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="喷码用户区">
|
||||||
|
<el-input v-model="coder_field" placeholder="留空则使用模板配置, 默认1"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-footer>
|
||||||
|
<el-button type="primary" @click="saveCoder">保存</el-button>
|
||||||
|
</el-footer>
|
||||||
|
</el-dialog>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="searchVisible"
|
v-model="searchVisible"
|
||||||
:width="700"
|
:width="700"
|
||||||
|
|
@ -131,6 +152,7 @@ export default {
|
||||||
userNameF: "",
|
userNameF: "",
|
||||||
visible:false,
|
visible:false,
|
||||||
setNameVisible:false,
|
setNameVisible:false,
|
||||||
|
setCoderVisible:false,
|
||||||
searchVisible: false,
|
searchVisible: false,
|
||||||
msg: false,
|
msg: false,
|
||||||
msgList: {},
|
msgList: {},
|
||||||
|
|
@ -144,6 +166,9 @@ export default {
|
||||||
scanType:'',
|
scanType:'',
|
||||||
printer_name:'',
|
printer_name:'',
|
||||||
printer_ip:'',
|
printer_ip:'',
|
||||||
|
coder_ip:'',
|
||||||
|
coder_port:'',
|
||||||
|
coder_field:'',
|
||||||
scanVisible:false,
|
scanVisible:false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
@ -164,6 +189,9 @@ export default {
|
||||||
this.userNameF = this.userName.substring(0, 1);
|
this.userNameF = this.userName.substring(0, 1);
|
||||||
this.printer_name = localStorage.getItem("printer_name") || "";
|
this.printer_name = localStorage.getItem("printer_name") || "";
|
||||||
this.printer_ip = localStorage.getItem("printer_ip") || "127.0.0.1";
|
this.printer_ip = localStorage.getItem("printer_ip") || "127.0.0.1";
|
||||||
|
this.coder_ip = localStorage.getItem("coder_ip") || "";
|
||||||
|
this.coder_port = localStorage.getItem("coder_port") || "";
|
||||||
|
this.coder_field = localStorage.getItem("coder_field") || "";
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
openBook() {
|
openBook() {
|
||||||
|
|
@ -263,6 +291,17 @@ export default {
|
||||||
});
|
});
|
||||||
this.setNameVisible=false;
|
this.setNameVisible=false;
|
||||||
},
|
},
|
||||||
|
coderSetting(){
|
||||||
|
this.setCoderVisible=true;
|
||||||
|
},
|
||||||
|
saveCoder(){
|
||||||
|
this.$TOOL.setCoder({
|
||||||
|
"coder_ip":this.coder_ip,
|
||||||
|
"coder_port":this.coder_port,
|
||||||
|
"coder_field":this.coder_field
|
||||||
|
});
|
||||||
|
this.setCoderVisible=false;
|
||||||
|
},
|
||||||
//显示短消息
|
//显示短消息
|
||||||
showMsg() {
|
showMsg() {
|
||||||
this.msg = true;
|
this.msg = true;
|
||||||
|
|
|
||||||
|
|
@ -147,6 +147,11 @@ tool.setPrint = function (val) {
|
||||||
localStorage.setItem('printer_name', val)
|
localStorage.setItem('printer_name', val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
tool.setCoder = function (val) {
|
||||||
|
localStorage.setItem('coder_ip', val.coder_ip || '')
|
||||||
|
localStorage.setItem('coder_port', val.coder_port || '')
|
||||||
|
localStorage.setItem('coder_field', val.coder_field || '')
|
||||||
|
}
|
||||||
/* 复制对象 */
|
/* 复制对象 */
|
||||||
tool.objCopy = function (obj) {
|
tool.objCopy = function (obj) {
|
||||||
return JSON.parse(JSON.stringify(obj));
|
return JSON.parse(JSON.stringify(obj));
|
||||||
|
|
|
||||||
|
|
@ -13,11 +13,6 @@
|
||||||
<scTable ref="table" :apiObj="apiObj" row-key="id" @selection-change="selectionChange" hidePagination>
|
<scTable ref="table" :apiObj="apiObj" row-key="id" @selection-change="selectionChange" hidePagination>
|
||||||
<el-table-column label="#" type="index" width="50"></el-table-column>
|
<el-table-column label="#" type="index" width="50"></el-table-column>
|
||||||
<el-table-column label="模板名称" prop="name" min-width="100"></el-table-column>
|
<el-table-column label="模板名称" prop="name" min-width="100"></el-table-column>
|
||||||
<el-table-column label="打码器" min-width="170">
|
|
||||||
<template #default="scope">
|
|
||||||
<span v-if="scope.row.coder_ip">{{ scope.row.coder_ip }}:{{ scope.row.coder_port }}</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="创建时间" prop="create_time" min-width="150"></el-table-column>
|
<el-table-column label="创建时间" prop="create_time" min-width="150"></el-table-column>
|
||||||
<el-table-column label="操作" fixed="right" align="center" width="140">
|
<el-table-column label="操作" fixed="right" align="center" width="140">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
|
@ -47,15 +42,6 @@
|
||||||
:key="item.id"></el-option>
|
:key="item.id"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="打码器IP">
|
|
||||||
<el-input v-model="addForm.coder_ip" clearable placeholder="不填则该模板不向打码器下发"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="打码器端口">
|
|
||||||
<el-input-number v-model="addForm.coder_port" :min="1" :max="65535" :controls="false"></el-input-number>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="打码器用户区">
|
|
||||||
<el-input v-model="addForm.coder_field" clearable placeholder="喷码机里用户区名(默认 1),切码型时填不同用户区名"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="模板代码" prop="commands">
|
<el-form-item label="模板代码" prop="commands">
|
||||||
<el-input v-model="addForm.commands" clearable :rows="9" type="textarea"></el-input>
|
<el-input v-model="addForm.commands" clearable :rows="9" type="textarea"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -71,9 +57,6 @@
|
||||||
id:"",
|
id:"",
|
||||||
name: "",
|
name: "",
|
||||||
commands: "",
|
commands: "",
|
||||||
coder_ip: "",
|
|
||||||
coder_port: 3100,
|
|
||||||
coder_field: "1",
|
|
||||||
};
|
};
|
||||||
export default {
|
export default {
|
||||||
name: 'labeltemplate',
|
name: 'labeltemplate',
|
||||||
|
|
@ -132,7 +115,6 @@
|
||||||
let arr = [];
|
let arr = [];
|
||||||
arr = that.addForm.commands.split("\n");
|
arr = that.addForm.commands.split("\n");
|
||||||
that.addForm.commands = arr;
|
that.addForm.commands = arr;
|
||||||
if (!that.addForm.coder_ip) that.addForm.coder_ip = null;
|
|
||||||
if(this.type==='add'){
|
if(this.type==='add'){
|
||||||
this.$API.cm.labeltemplate.create.req(that.addForm).then(res=>{
|
this.$API.cm.labeltemplate.create.req(that.addForm).then(res=>{
|
||||||
this.isSaveing = false;
|
this.isSaveing = false;
|
||||||
|
|
@ -156,9 +138,6 @@
|
||||||
this.addForm.id=row.id;
|
this.addForm.id=row.id;
|
||||||
this.addForm.name=row.name;
|
this.addForm.name=row.name;
|
||||||
this.addForm.commands=row.commands.join("\n");
|
this.addForm.commands=row.commands.join("\n");
|
||||||
this.addForm.coder_ip=row.coder_ip;
|
|
||||||
this.addForm.coder_port=row.coder_port;
|
|
||||||
this.addForm.coder_field=row.coder_field || "1";
|
|
||||||
this.limitedVisible = true;
|
this.limitedVisible = true;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -343,10 +343,17 @@ that.$API.wpm.prints.req(printer_ip, obj).then((response) => {
|
||||||
that.$message.warning("请先设置打印机");
|
that.$message.warning("请先设置打印机");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//喷码: 通过名为'喷码模板'的标签模板向打码器下发产品编号
|
//喷码: 通过名为'喷码模板'的标签模板向喷码机下发产品编号
|
||||||
sendToCoder(row){
|
sendToCoder(row){
|
||||||
let that = this;
|
let that = this;
|
||||||
if (that.coderLoadingIds[row.id]) return;
|
if (that.coderLoadingIds[row.id]) return;
|
||||||
|
let coder_ip = localStorage.getItem('coder_ip') || '';
|
||||||
|
let coder_port = localStorage.getItem('coder_port') || '';
|
||||||
|
let coder_field = localStorage.getItem('coder_field') || '';
|
||||||
|
if (!coder_ip) {
|
||||||
|
that.$message.error('请先在右上角"喷码设置"配置喷码IP');
|
||||||
|
return;
|
||||||
|
}
|
||||||
that.coderLoadingIds = { ...that.coderLoadingIds, [row.id]: true };
|
that.coderLoadingIds = { ...that.coderLoadingIds, [row.id]: true };
|
||||||
let templateName = '喷码模板';
|
let templateName = '喷码模板';
|
||||||
let tdata = {
|
let tdata = {
|
||||||
|
|
@ -368,12 +375,10 @@ that.$API.wpm.prints.req(printer_ip, obj).then((response) => {
|
||||||
release();
|
release();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!template.coder_ip) {
|
let body = {tdata, coder_ip};
|
||||||
that.$message.error(`模板 ${templateName} 未配置打码器IP`);
|
if (coder_port) body.coder_port = Number(coder_port);
|
||||||
release();
|
if (coder_field) body.coder_field = coder_field;
|
||||||
return;
|
that.$API.cm.labeltemplate.sendToCoder.req(template.id, body).then(() => {
|
||||||
}
|
|
||||||
that.$API.cm.labeltemplate.sendToCoder.req(template.id, {tdata}).then(() => {
|
|
||||||
that.$message.success("喷码下发成功");
|
that.$message.success("喷码下发成功");
|
||||||
}).finally(release);
|
}).finally(release);
|
||||||
}).catch(release);
|
}).catch(release);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue