|
@@ -48,10 +48,10 @@
|
|
|
icon="el-icon-search"
|
|
|
size="mini"
|
|
|
@click="handleQuery"
|
|
|
- >搜索
|
|
|
+ >搜索
|
|
|
</el-button>
|
|
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
|
|
|
- >重置
|
|
|
+ >重置
|
|
|
</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
@@ -65,7 +65,7 @@
|
|
|
size="mini"
|
|
|
@click="printHandler"
|
|
|
v-hasPermi="['system:productCodeList:add']"
|
|
|
- >打印
|
|
|
+ >打印
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
@@ -77,7 +77,7 @@
|
|
|
:disabled="single"
|
|
|
@click="handleUpdate"
|
|
|
v-hasPermi="['system:productCodeList:edit']"
|
|
|
- >修改
|
|
|
+ >修改
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
@@ -89,7 +89,7 @@
|
|
|
:disabled="multiple"
|
|
|
@click="handleDelete"
|
|
|
v-hasPermi="['system:productCodeList:remove']"
|
|
|
- >删除
|
|
|
+ >删除
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
@@ -100,7 +100,7 @@
|
|
|
size="mini"
|
|
|
@click="handleExport"
|
|
|
v-hasPermi="['system:productCodeList:export']"
|
|
|
- >导出
|
|
|
+ >导出
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
<right-toolbar
|
|
@@ -114,22 +114,22 @@
|
|
|
:data="productCodeListList"
|
|
|
@selection-change="handleSelectionChange"
|
|
|
>
|
|
|
- <el-table-column type="selection" width="55" align="center"/>
|
|
|
- <el-table-column label="码单号" align="center" prop="qrCode"/>
|
|
|
- <el-table-column label="品名" align="center" prop="productName"/>
|
|
|
+ <el-table-column type="selection" width="55" align="center" />
|
|
|
+ <el-table-column label="码单号" align="center" prop="qrCode" />
|
|
|
+ <el-table-column label="品名" align="center" prop="productName" />
|
|
|
<el-table-column
|
|
|
label="规格"
|
|
|
align="center"
|
|
|
prop="productSpecifications"
|
|
|
/>
|
|
|
- <el-table-column label="批号" align="center" prop="lotNum"/>
|
|
|
- <el-table-column label="色泽" align="center" prop="productColor"/>
|
|
|
+ <el-table-column label="批号" align="center" prop="lotNum" />
|
|
|
+ <el-table-column label="色泽" align="center" prop="productColor" />
|
|
|
<!-- <el-table-column label="货品编号" align="center" prop="productId" /> -->
|
|
|
- <el-table-column label="等级" align="center" prop="levels"/>
|
|
|
- <el-table-column label="筒数" align="center" prop="totalCanisterNum"/>
|
|
|
- <el-table-column label="箱数" align="center" prop="totalBoxNum"/>
|
|
|
- <el-table-column label="净重" align="center" prop="totalSuttle"/>
|
|
|
- <el-table-column label="备注" align="center" prop="remark"/>
|
|
|
+ <el-table-column label="等级" align="center" prop="levels" />
|
|
|
+ <el-table-column label="筒数" align="center" prop="totalCanisterNum" />
|
|
|
+ <el-table-column label="箱数" align="center" prop="totalBoxNum" />
|
|
|
+ <el-table-column label="净重" align="center" prop="totalSuttle" />
|
|
|
+ <el-table-column label="备注" align="center" prop="remark" />
|
|
|
<el-table-column
|
|
|
label="操作"
|
|
|
align="center"
|
|
@@ -148,7 +148,7 @@
|
|
|
icon="el-icon-edit"
|
|
|
@click="handleUpdate(scope.row)"
|
|
|
v-hasPermi="['system:productCodeList:edit']"
|
|
|
- >修改
|
|
|
+ >修改
|
|
|
</el-button>
|
|
|
</el-dropdown-item>
|
|
|
<el-dropdown-item>
|
|
@@ -157,7 +157,7 @@
|
|
|
type="text"
|
|
|
icon="el-icon-circle-plus-outline"
|
|
|
@click="supplementCode(scope.row)"
|
|
|
- >补码
|
|
|
+ >补码
|
|
|
</el-button>
|
|
|
</el-dropdown-item>
|
|
|
<el-dropdown-item>
|
|
@@ -167,7 +167,7 @@
|
|
|
icon="el-icon-delete"
|
|
|
@click="handleDelete(scope.row)"
|
|
|
v-hasPermi="['system:productCodeList:remove']"
|
|
|
- >删除
|
|
|
+ >删除
|
|
|
</el-button>
|
|
|
</el-dropdown-item>
|
|
|
</el-dropdown-menu>
|
|
@@ -193,25 +193,25 @@
|
|
|
>
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
<el-form-item label="码单号" prop="qrCode">
|
|
|
- <el-input v-model="form.qrCode" placeholder="请输入码单号"/>
|
|
|
+ <el-input v-model="form.qrCode" placeholder="请输入码单号" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="批号" prop="lotNum">
|
|
|
- <el-input v-model="form.lotNum" placeholder="请输入批号"/>
|
|
|
+ <el-input v-model="form.lotNum" placeholder="请输入批号" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="货品编号" prop="productId">
|
|
|
- <el-input v-model="form.productId" placeholder="请输入货品编号"/>
|
|
|
+ <el-input v-model="form.productId" placeholder="请输入货品编号" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="等级" prop="levels">
|
|
|
- <el-input v-model="form.levels" placeholder="请输入等级"/>
|
|
|
+ <el-input v-model="form.levels" placeholder="请输入等级" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="筒数" prop="canisterNum">
|
|
|
- <el-input v-model="form.canisterNum" placeholder="请输入筒数"/>
|
|
|
+ <el-input v-model="form.canisterNum" placeholder="请输入筒数" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="箱数" prop="boxNum">
|
|
|
- <el-input v-model="form.boxNum" placeholder="请输入箱数"/>
|
|
|
+ <el-input v-model="form.boxNum" placeholder="请输入箱数" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="净重" prop="suttle">
|
|
|
- <el-input v-model="form.suttle" placeholder="请输入净重"/>
|
|
|
+ <el-input v-model="form.suttle" placeholder="请输入净重" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="生产日期" prop="productionDate">
|
|
|
<el-date-picker
|
|
@@ -224,16 +224,16 @@
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="机台" prop="machineTool">
|
|
|
- <el-input v-model="form.machineTool" placeholder="请输入机台"/>
|
|
|
+ <el-input v-model="form.machineTool" placeholder="请输入机台" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="毛重" prop="grossWeight">
|
|
|
- <el-input v-model="form.grossWeight" placeholder="请输入毛重"/>
|
|
|
+ <el-input v-model="form.grossWeight" placeholder="请输入毛重" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="包装" prop="packaging">
|
|
|
- <el-input v-model="form.packaging" placeholder="请输入包装"/>
|
|
|
+ <el-input v-model="form.packaging" placeholder="请输入包装" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="班次" prop="workShifts">
|
|
|
- <el-input v-model="form.workShifts" placeholder="请输入班次"/>
|
|
|
+ <el-input v-model="form.workShifts" placeholder="请输入班次" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="外贸号" prop="foreignTradeNumber">
|
|
|
<el-input
|
|
@@ -242,22 +242,22 @@
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="筒重" prop="canisterWeight">
|
|
|
- <el-input v-model="form.canisterWeight" placeholder="请输入筒重"/>
|
|
|
+ <el-input v-model="form.canisterWeight" placeholder="请输入筒重" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="箱重/车重" prop="boxWeight">
|
|
|
- <el-input v-model="form.boxWeight" placeholder="请输入箱重/车重"/>
|
|
|
+ <el-input v-model="form.boxWeight" placeholder="请输入箱重/车重" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="管色" prop="tubeColor">
|
|
|
- <el-input v-model="form.tubeColor" placeholder="请输入管色"/>
|
|
|
+ <el-input v-model="form.tubeColor" placeholder="请输入管色" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="端口" prop="comPort">
|
|
|
- <el-input v-model="form.comPort" placeholder="请输入端口"/>
|
|
|
+ <el-input v-model="form.comPort" placeholder="请输入端口" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="打印格式" prop="printFormat">
|
|
|
- <el-input v-model="form.printFormat" placeholder="请输入打印格式"/>
|
|
|
+ <el-input v-model="form.printFormat" placeholder="请输入打印格式" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="库位" prop="storageLocation">
|
|
|
- <el-input v-model="form.storageLocation" placeholder="请输入库位"/>
|
|
|
+ <el-input v-model="form.storageLocation" placeholder="请输入库位" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="区域编号" prop="warehouseregionId">
|
|
|
<el-input
|
|
@@ -273,7 +273,7 @@
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="删除标志" prop="delFlag">
|
|
|
- <el-input v-model="form.delFlag" placeholder="请输入删除标志"/>
|
|
|
+ <el-input v-model="form.delFlag" placeholder="请输入删除标志" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="创建者编号" prop="createById">
|
|
|
<el-input
|
|
@@ -315,14 +315,14 @@
|
|
|
type="primary"
|
|
|
size="mini"
|
|
|
@click="updateOrderData"
|
|
|
- >保存修改
|
|
|
+ >保存修改
|
|
|
</el-button>
|
|
|
<el-button
|
|
|
:disabled="tableData.length != 1"
|
|
|
type="primary"
|
|
|
size="mini"
|
|
|
@click="getOrderData"
|
|
|
- >箱单
|
|
|
+ >箱单
|
|
|
</el-button>
|
|
|
<el-button
|
|
|
:disabled="tableData.length < 2"
|
|
@@ -330,15 +330,18 @@
|
|
|
type="primary"
|
|
|
size="mini"
|
|
|
@click="chooseOneToPrint"
|
|
|
- >{{ chooseState ? "退出批箱单" : "批箱单" }}
|
|
|
+ >{{ chooseState ? "退出批箱单" : "批箱单" }}
|
|
|
</el-button>
|
|
|
<el-switch
|
|
|
- class="ml10"
|
|
|
+ class="ml10 mr10"
|
|
|
v-model="printAuto"
|
|
|
active-text="自动打印"
|
|
|
inactive-text="手动打印"
|
|
|
>
|
|
|
</el-switch>
|
|
|
+ <el-button type="primary" size="mini" @click="readStateChange"
|
|
|
+ >{{ isStartReadNum ? "停止读数" : "开始读数" }}
|
|
|
+ </el-button>
|
|
|
</div>
|
|
|
<div class="weightWrap">
|
|
|
<h1>实时重量:{{ nowWeight }}</h1>
|
|
@@ -413,7 +416,7 @@
|
|
|
size="mini"
|
|
|
:disabled="chooseState"
|
|
|
@click="handleDeleteOne(scope.$index)"
|
|
|
- >删除
|
|
|
+ >删除
|
|
|
</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -694,7 +697,7 @@
|
|
|
size="mini"
|
|
|
:disabled="!currentRow.lotNum || isDisabled || printAuto"
|
|
|
@click="addProductHandler"
|
|
|
- >添加
|
|
|
+ >添加
|
|
|
</el-button>
|
|
|
</div>
|
|
|
<div class="table-wrap">
|
|
@@ -745,14 +748,15 @@ import {
|
|
|
AutoPrinting,
|
|
|
} from "@/api/codeListManage/productCodeList";
|
|
|
import codeListPrint from "@/utils/print/codeListPrint";
|
|
|
-import {getServerPrintData} from "@/utils/print/printUtils";
|
|
|
-import {v4 as uuidv4} from "uuid";
|
|
|
+import { getServerPrintData } from "@/utils/print/printUtils";
|
|
|
+import { v4 as uuidv4 } from "uuid";
|
|
|
|
|
|
export default {
|
|
|
name: "ProductCodeList",
|
|
|
dicts: ["packaging_type", "port", "coding_list_format", "direction_of_twist"],
|
|
|
data() {
|
|
|
return {
|
|
|
+ isStartReadNum: false, //是否开始读取重量
|
|
|
printAuto: true, //是否自动打印
|
|
|
timer: null, //定时器
|
|
|
nowWeight: 0,
|
|
@@ -808,33 +812,33 @@ export default {
|
|
|
},
|
|
|
rules: {
|
|
|
packaging: [
|
|
|
- {required: true, message: "请选择包装", trigger: "change"},
|
|
|
+ { required: true, message: "请选择包装", trigger: "change" },
|
|
|
],
|
|
|
machineTool: [
|
|
|
- {required: true, message: "请选择机台", trigger: "change"},
|
|
|
+ { required: true, message: "请选择机台", trigger: "change" },
|
|
|
],
|
|
|
workShifts: [
|
|
|
- {required: true, message: "请选择班次", trigger: "change"},
|
|
|
+ { required: true, message: "请选择班次", trigger: "change" },
|
|
|
],
|
|
|
productionDate: [
|
|
|
- {required: true, message: "请选择生产日期", trigger: "change"},
|
|
|
+ { required: true, message: "请选择生产日期", trigger: "change" },
|
|
|
],
|
|
|
- levels: [{required: true, message: "请选择等级", trigger: "change"}],
|
|
|
+ levels: [{ required: true, message: "请选择等级", trigger: "change" }],
|
|
|
// foreignTradeNumber: [
|
|
|
// { required: true, message: "请输入外贸号", trigger: "blur" },
|
|
|
// ],
|
|
|
canisterWeight: [
|
|
|
- {required: true, message: "请选择筒重", trigger: "change"},
|
|
|
+ { required: true, message: "请选择筒重", trigger: "change" },
|
|
|
],
|
|
|
boxWeight: [
|
|
|
- {required: true, message: "请选择箱重/车重", trigger: "change"},
|
|
|
+ { required: true, message: "请选择箱重/车重", trigger: "change" },
|
|
|
],
|
|
|
tubeColor: [
|
|
|
- {required: true, message: "请选择管色", trigger: "change"},
|
|
|
+ { required: true, message: "请选择管色", trigger: "change" },
|
|
|
],
|
|
|
- comPort: [{required: true, message: "请选择端口", trigger: "change"}],
|
|
|
+ comPort: [{ required: true, message: "请选择端口", trigger: "change" }],
|
|
|
printFormat: [
|
|
|
- {required: true, message: "请选择格式", trigger: "change"},
|
|
|
+ { required: true, message: "请选择格式", trigger: "change" },
|
|
|
],
|
|
|
},
|
|
|
dropDownData: {},
|
|
@@ -896,7 +900,7 @@ export default {
|
|
|
boxNum: null,
|
|
|
suttle: null,
|
|
|
},
|
|
|
- waiting: 0, // 等待次数 不论时间
|
|
|
+ waiting: 0, // 等待次数 不论时间
|
|
|
lastWeight: 0, // 上次得到的重量
|
|
|
};
|
|
|
},
|
|
@@ -931,7 +935,7 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
mounted() {
|
|
|
- this.initWebSocket();
|
|
|
+ // this.initWebSocket();
|
|
|
},
|
|
|
beforeDestroy() {
|
|
|
this.closeWebSocket();
|
|
@@ -943,12 +947,24 @@ export default {
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
+ readStateChange() {
|
|
|
+ if (this.isStartReadNum) {
|
|
|
+ //正在读
|
|
|
+ this.closeWebSocket();
|
|
|
+ this.isStartReadNum = false;
|
|
|
+ this.$message.success("已关闭读数");
|
|
|
+ } else {
|
|
|
+ this.initWebSocket();
|
|
|
+ }
|
|
|
+ },
|
|
|
initWebSocket() {
|
|
|
console.log("开始连接ws", process.env.VUE_APP_BASE_WS_API);
|
|
|
const wsUrl = "ws:" + process.env.VUE_APP_BASE_WS_API + "/currentWeight";
|
|
|
this.websocket = new WebSocket(wsUrl);
|
|
|
this.websocket.addEventListener("open", (event) => {
|
|
|
console.log("建立WebSocket连接");
|
|
|
+ this.isStartReadNum = true;
|
|
|
+ this.$message.success("已开启读数");
|
|
|
});
|
|
|
|
|
|
this.websocket.addEventListener("message", async (event) => {
|
|
@@ -959,7 +975,8 @@ export default {
|
|
|
}
|
|
|
const weight = JSON.parse(event.data).weight;
|
|
|
this.nowWeight = weight;
|
|
|
- if (weight == 0.0 || weight == 0) { // 如果重量为0不做任何处理
|
|
|
+ if (weight == 0.0 || weight == 0) {
|
|
|
+ // 如果重量为0不做任何处理
|
|
|
this.waiting = 0;
|
|
|
this.lastWeight = 0;
|
|
|
return;
|
|
@@ -983,9 +1000,12 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
-
|
|
|
+ this.websocket.addEventListener("on", (e) => {
|
|
|
+ console.log(e, "连接已建立");
|
|
|
+ });
|
|
|
this.websocket.addEventListener("error", (event) => {
|
|
|
console.error("WebSocket错误:", event);
|
|
|
+ this.$message.error("WebSocket错误,请重试");
|
|
|
});
|
|
|
|
|
|
this.websocket.addEventListener("close", (event) => {
|
|
@@ -1143,7 +1163,7 @@ export default {
|
|
|
// 毛重改变回调
|
|
|
changeGrossWeight(row) {
|
|
|
console.log(row);
|
|
|
- let {boxWeight, grossWeight, canisterWeight, canisterNum} = row;
|
|
|
+ let { boxWeight, grossWeight, canisterWeight, canisterNum } = row;
|
|
|
if (!Number(grossWeight)) return;
|
|
|
row.suttle = (
|
|
|
Number(grossWeight) -
|
|
@@ -1194,7 +1214,7 @@ export default {
|
|
|
this.$refs.form.validate(async (valid) => {
|
|
|
if (valid) {
|
|
|
try {
|
|
|
- let {sumBoxNum, sumCanisterNum, sumSuttle, sumGrossWeight} =
|
|
|
+ let { sumBoxNum, sumCanisterNum, sumSuttle, sumGrossWeight } =
|
|
|
this.count;
|
|
|
let rowData = newData.machineTool
|
|
|
? JSON.parse(JSON.stringify(newData))
|
|
@@ -1250,7 +1270,7 @@ export default {
|
|
|
this.$refs.form.validate(async (valid) => {
|
|
|
if (valid) {
|
|
|
try {
|
|
|
- let {sumBoxNum, sumCanisterNum, sumSuttle, sumGrossWeight} =
|
|
|
+ let { sumBoxNum, sumCanisterNum, sumSuttle, sumGrossWeight } =
|
|
|
this.count;
|
|
|
let rowData = JSON.parse(JSON.stringify(this.tableData[0]));
|
|
|
this.printTableData = [rowData];
|
|
@@ -1394,7 +1414,7 @@ export default {
|
|
|
},
|
|
|
// 计算净重
|
|
|
getSuttle() {
|
|
|
- let {boxWeight, canisterWeight, canisterNum} = this.form;
|
|
|
+ let { boxWeight, canisterWeight, canisterNum } = this.form;
|
|
|
return (Number(boxWeight) - canisterWeight * canisterNum).toFixed(2);
|
|
|
},
|
|
|
// 表格点击回调
|
|
@@ -1414,7 +1434,7 @@ export default {
|
|
|
this.$refs.form.validate(async (valid) => {
|
|
|
if (valid) {
|
|
|
try {
|
|
|
- let {sumBoxNum, sumCanisterNum, sumSuttle, sumGrossWeight} =
|
|
|
+ let { sumBoxNum, sumCanisterNum, sumSuttle, sumGrossWeight } =
|
|
|
this.count;
|
|
|
let rowData = JSON.parse(JSON.stringify(row));
|
|
|
this.printTableData = [rowData];
|
|
@@ -1493,8 +1513,7 @@ export default {
|
|
|
if (res.code == 200) {
|
|
|
this.dropDownData = res.data;
|
|
|
}
|
|
|
- } catch (error) {
|
|
|
- }
|
|
|
+ } catch (error) {}
|
|
|
},
|
|
|
/** 查询产品码单列表 */
|
|
|
getList() {
|
|
@@ -1690,8 +1709,7 @@ export default {
|
|
|
this.getList();
|
|
|
this.$modal.msgSuccess("删除成功");
|
|
|
})
|
|
|
- .catch(() => {
|
|
|
- });
|
|
|
+ .catch(() => {});
|
|
|
},
|
|
|
/** 导出按钮操作 */
|
|
|
handleExport() {
|