Commit 5615a171 authored by 张海景's avatar 张海景

add:新增包装标签

parent 41957d00
import request from "@/utils/request";
// 查询生产报工记录列表
export function workorderList(query) {
return request({
url: "/mes/pro/workorder/list",
method: "get",
params: query,
});
}
// 查询标签列表
export function workorderPackageList(query) {
return request({
url: "/pro/packagePrintRecord/list",
method: "get",
params: query,
});
}
// 装箱标签生成
export function buildPackagePrint(data) {
return request({
url: "/mes/pro/workorder/buildPackagePrint",
method: "post",
data: data,
});
}
// 批量修改打印记录
export function updatePackagePrintRecord(data) {
return request({
url: "/pro/packagePrintRecord/batchUpdate",
method: "post",
data: data,
});
}
// 记录打印次数并返回打印数据
export function packagePrintRecordInfo(data) {
return request({
url: "/pro/packagePrintRecord/recordPackagePrintInfo",
method: "post",
data: data,
});
}
<template>
<div class="app-container">
<el-row style="display: flex;" :gutter="16">
<el-col :span="8" >
<el-card style="min-height: 700px;">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="70px"
>
<el-form-item label="编排单" prop="arrangeCode">
<el-input
v-model="queryParams.arrangeCode"
placeholder="请输入编排单"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工单编码" prop="workorderCode">
<el-input
v-model="queryParams.workorderCode"
placeholder="请输入工单编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
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>
<el-table
v-loading="loading"
:data="tableList"
height="640px"
highlight-current-row
@current-change="handleCurrentChange"
>
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column width="50" align="center">
<template v-slot="scope">
<!-- 可以手动的修改label的值,从而控制选择哪一项 -->
<el-radio class="radio" v-model="selectedItemId" :label="scope.row.workorderCode"
>{{ "" }}</el-radio
>
</template>
</el-table-column>
<el-table-column label="生产单号" align="center" prop="workorderCode" />
<el-table-column label="销售单号" align="center" prop="sourceCode" />
<el-table-column label="数量" width="80" align="center" prop="quantity" />
</el-table>
</el-card>
</el-col>
<el-col :span="16">
<el-card style="height: 300px;margin-bottom:10px;">
<el-button
type="primary"
plain
size="mini"
@click="handleProduce"
>生成</el-button>
<el-form
:model="produceForm"
ref="produceForm"
size="small"
label-width="130px"
>
<el-row>
<el-col :span="24">
<el-form-item label="生产单号:" prop="workorderCode">
<span>{{ produceForm.workorderCode }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="包装方式:" prop="packNum">
<el-input
v-model="produceForm.packNum"
placeholder="请输入包装方式"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="细分/小包:" prop="minPackageNum">
<el-input
v-model="produceForm.minPackageNum"
placeholder="请输入细分/小包"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="">
<div style="display:flex;">
<el-checkbox-group v-model="produceForm.packType" style="margin-right:10px;">
<!-- 包装类型,0:无,1:size 2:指令 -->
<el-checkbox label="1" disabled>分SIZE</el-checkbox>
<el-checkbox label="2" disabled>分指令</el-checkbox>
</el-checkbox-group>
<el-checkbox disabled v-model="produceForm.lossIndividuallyWrap">LOSS单独包装</el-checkbox>
<!-- LOSS数是否单独包装,Y:是,N:否 -->
</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="检验员:" prop="checkBy">
<el-input
v-model="produceForm.checkBy"
placeholder="请输入检验员"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注:">
<span>{{ produceForm.remark }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="录入人:" prop="inputBy">
<el-input
v-model="produceForm.inputBy"
placeholder="请输入录入人"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="录入时间:" prop="inputTime">
<el-date-picker
v-model="produceForm.inputTime"
type="datetime"
style="width:100%;"
value-format="yyyy-MM-dd HH:mm"
format="yyyy-MM-dd HH:mm"
placeholder="请选择录入时间"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
<el-card style="min-height: 390px;">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
size="mini"
@click="handleSave"
>保存</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
size="mini"
@click="handlePrint"
>打印</el-button>
</el-col>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getPackageList"
></right-toolbar>
</el-row>
<el-table
v-loading="loadingPackage"
:data="tablePackageList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="备注" width="200" align="center" prop="remark" >
<template slot-scope="scope">
<el-input
v-model="scope.row.remark"
placeholder="请输入备注"
clearable
/>
</template>
</el-table-column>
<el-table-column label="净重" width="200" align="center" prop="netWeight" >
<template slot-scope="scope">
<el-input
v-model="scope.row.netWeight"
placeholder="请输入净重"
clearable
/>
</template>
</el-table-column>
<el-table-column label="指令" width="80" align="center" prop="directive" />
<el-table-column label="SIZE" width="80" align="center" prop="standardSize" />
<el-table-column label="条码" align="center" prop="barcode" />
<el-table-column label="序号" width="80" align="center" prop="sheetCount" />
<el-table-column label="小包序号" width="100" align="center" prop="minSheetCount" />
<el-table-column label="数量" width="80" align="center" prop="packageNum" />
<el-table-column label="打印次数" width="100" align="center" prop="printTime" />
</el-table>
<pagination
v-show="packageTotal > 0"
:total="packageTotal"
:page.sync="queryPackageParams.pageNum"
:limit.sync="queryPackageParams.pageSize"
@pagination="getPackageList"
/>
</el-card>
</el-col>
</el-row>
</div>
</template>
<script>
import { workorderList, buildPackagePrint, workorderPackageList, updatePackagePrintRecord, packagePrintRecordInfo } from "@/api/mes/pro/packageLablePrint";
export default {
name: 'packageLablePrint',
data() {
return {
// 查询参数
queryParams: {
arrangeCode: null,
workorderCode: null,
},
// 显示搜索条件
showSearch: true,
loading: false,
tableList: [],
produceForm: {},
loadingPackage: false,
queryPackageParams: {
pageNum: 1,
pageSize: 10
},
tablePackageList: [],
packageTotal: 0,
currentData: {},
selectedItemId: null,
selectPackageTable: []
}
},
created() {
// this.getList();
},
methods: {
/** 查询工单列表 */
getList() {
this.loading = true;
workorderList(this.queryParams).then((response) => {
console.log(response, 'response')
this.tableList = response.rows;
this.total = response.total;
this.loading = false;
this.produceForm = {}
this.selectedItemId = null
});
},
/** 查询标签列表 */
getPackageList() {
this.loadingPackage = true;
this.queryPackageParams.workorderId = this.produceForm.workorderId
workorderPackageList(this.queryPackageParams).then((response) => {
console.log(response, 'response')
this.tablePackageList = response.rows;
this.packageTotal = response.total;
this.loadingPackage = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
handleSave() {
updatePackagePrintRecord(this.tablePackageList).then((response) => {
console.log(response, 'response')
if (response.code === 200) {
this.getPackageList()
}
});
},
handleProduce() {
const params = {
"checkBy": Number(this.produceForm.checkBy),
"inputBy": Number(this.produceForm.inputBy),
"inputTime": this.produceForm.inputTime,
"minPackageNum": Number(this.produceForm.minPackageNum),
"packNum": Number(this.produceForm.packNum),
"workorderId": this.produceForm.workorderId
}
buildPackagePrint(params).then((response) => {
console.log(response, 'response')
if (response.code === 200) {
this.$message.success('生成成功!')
this.getPackageList()
}
});
},
handlePrint() {
const params = this.selectPackageTable.map(item => {
return {
workorderId : item.workorderId,
recordIds: item.recordIds
}
})
packagePrintRecordInfo(params).then((response) => {
console.log(response, 'response')
if (response.code === 200) {
this.getPackageList()
}
});
},
handleCurrentChange(row) {
console.log(row, 'row88')
this.produceForm = Object.assign({},row)
this.produceForm.packType = [row.packType]
this.produceForm.lossIndividuallyWrap = row.lossIndividuallyWrap == 'Y'? true: false
this.selectedItemId = row.workorderCode
this.queryPackageParams = {
pageNum: 1,
pageSize: 10
}
this.getPackageList()
},
handleSelectionChange(selection) {
this.selectPackageTable = selection
}
}
}
</script>
<style lang="scss" scoped>
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment