更新文件

main
FOAM 2025-09-09 11:43:30 +08:00
parent 5b4d1f7f9a
commit 6db922b794
9 changed files with 280 additions and 59 deletions

View File

@ -99,28 +99,6 @@
icon="el-icon-document-add"
>
下载EXCEL
</el-button>
<el-button
slot="right"
class="filter-item"
type="primary"
size="mini"
@click="saveBomPrintD()"
v-permission="permission.showReport"
icon="el-icon-document-add"
>
中大物标签
</el-button>
<el-button
slot="right"
class="filter-item"
type="primary"
size="mini"
@click="saveBomPrintX()"
v-permission="permission.showReport"
icon="el-icon-document-add"
>
小物标签
</el-button>
<el-link href="/jmreport/view/912967151437389824" >导出</el-link>
</crudOperation>

View File

@ -0,0 +1,247 @@
<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<el-input v-model="query.bigItemCode" clearable placeholder="机型" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<el-input v-model="query.itemCode" clearable placeholder="部品品番" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<el-input v-model="query.ns" clearable placeholder="纳所" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<el-input v-model="query.bp_type" clearable placeholder="大小物" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<el-select v-model="query.rAreaCode" value-key="id" filterable placeholder="库区" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" clearable>
<el-option
v-for="item in rAreaList"
:key="item.id"
:label="item.name"
:value="item.code"
/>
</el-select>
<el-input v-model="query.zPointCode" clearable placeholder="货位" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<rrOperation :crud="crud" />
<crudOperation :permission="permission" :tableKey="this.$options.name">
<el-button
slot="right"
class="filter-item"
type="primary"
size="mini"
@click="saveBomPrintD()"
icon="el-icon-document-add"
>
中大物标签
</el-button>
<el-button
slot="right"
class="filter-item"
type="primary"
size="mini"
@click="saveBomPrintX()"
icon="el-icon-document-add"
>
小物标签
</el-button>
</crudOperation>
<!--表格渲染-->
<el-table id="mytable" ref="table" border :height="crud.tableHeight" v-loading="crud.loading" :data="crud.data" size="small" style="width: 100%;" @selection-change="crud.selectionChangeHandler" >
<el-table-column type="selection" width="55" />
<el-table-column prop="id" label="序号" width="60" />
<el-table-column prop="nsv" label="纳所"/>
<el-table-column prop="code" label="部品品番" width="100"/>
<el-table-column prop="pm" label="品名" width="150"/>
<el-table-column prop="bonded" label="税别"/>
<el-table-column prop="hw" label="货位" />
<el-table-column prop="xz" label="箱种"/>
<el-table-column prop="srs" label="收容数"/>
<el-table-column prop="dxw" label="大小物"/>
<el-table-column prop="supplier" label="供应商" width="120" :show-overflow-tooltip="true"/>
<el-table-column prop="jx" label="机型"/>
<el-table-column prop="tyl" label="台用量"/>
</el-table>
<!--分页组件-->
<div style="position:absolute;right: 0">
<pagination />
</div>
</div>
</div>
</template>
<script>
import {exportExcel} from '@/components/TableToExcel/ExportExcel'
import {initData} from '@/api/data'
import crudBomAccount ,{queryBomPrintListD,queryBomPrintListX}from '@/api/bomAccount'
import CRUD, { presenter, header, form, crud } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import bigItem from '@/api/bigItem'
import { getItemsList } from '@/api/item'
import DateRangePicker from "@/components/DateRangePicker/index.vue";
import { getAreas, queryAreaList } from '@/api/area'
import { getToken } from '@/utils/auth'
import DonMessage from '@/utils/message'
import Link from "@/layout/components/Sidebar/Link.vue";
import excelUtil from "@/api/tools/excelUtil"
import { formatDate } from '@/utils/commonUtils'
import {mapGetters} from "vuex";
const defaultForm = { id: null, bigItem: null, supplier: null,item: null, contents: null, singles: null, rArea: null, cArea: null, outType: null, station_type: null, bp_type: null, dept: null, enabled: null, createBy: null, updateBy: null, createTime: null, updateTime: null, description: null, ac: null, bonded: null, zPoint: { code: null }}
export default {
name: 'BomAccountBq',
components: {Link, DateRangePicker, pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
dicts: ['process_content', 'out_type', 'station_type', 'bp_type','bonded_type','ac_type','zdw_type'],
cruds() {
return CRUD({ title: 'BOM工位清单', url: 'api/bomAccount/queryBomPrintList', idField: 'id', sort: 'id,desc', crudMethod: { ...crudBomAccount },
optShow: {
add: false,
edit: false,
del: false,
reset: true,
download: false
},
})
},
computed: {
...mapGetters([
'baseApi'
])
},
data() {
return {
headers: { 'Authorization': getToken() },
fileList: [],
//
bigItemList: [],
itemList: [],
rAreaList: [],
cAreaList: [],
excelQueryParam: {
excelConfigId: '912967151437389824',
queryParam: {
pageNo: 1,
bomAccount__完成品番: null,
bomAccount__完成品形式名: null,
bomAccount__工位: null,
bomAccount__部品品番: null,
currentPageNo: 1,
currentPageSize: 10,
pageSize: 10
}
},}
},
mounted() {
this.getBigItemList()
this.getItemList()
this.getRAreaList()
this.getCAreaList()
//
},
methods: {
downingthisExcel() {
this.crud.loading=true
initData(this.crud.url,this.crud.getQueryParams2()).then(data => {
this.crud.data=data.content
setTimeout(() => {
this.crud.loading=false
exportExcel(this.$xlsx, this.$fileSaver,"Bom清单","mytable")
}, 500)
})
},
handleErr(err, file, fileList) {
let myError = err.toString();//
myError = myError.replace("Error: ", "") // " Error: "
myError = JSON.parse(myError);//
DonMessage.error("" + myError['message'])
},
// false
[CRUD.HOOK.beforeRefresh]() {
return true
},
getBigItemList() {
bigItem.getBigItem(1).then(res => {
this.bigItemList = res.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
}
return obj
})
})
},
getRAreaList() {
queryAreaList({enabled:true}).then(res=>{
this.rAreaList = res
})
// getAreas().then(res => {
// this.rAreaList = res.map(function(obj) {
// if (obj.hasChildren) {
// obj.children = null
// }
// return obj
// })
// })
},
getCAreaList() {
queryAreaList({bexb:false,enabled:true}).then(res=>{
this.cAreaList = res
})
},
getItemList() {
getItemsList().then(res => {
this.itemList = res.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
}
return obj
})
})
},
saveBomPrintD() {
console.log("打印中大物标签")
queryBomPrintListD(this.crud.getQueryParams2()).then(res => {
this.showEwmReportD();
})
},
saveBomPrintX() {
console.log("打印小物标签")
queryBomPrintListX(this.crud.getQueryParams2()).then(res => {
this.showEwmReportX();
})
},
showEwmReportD(){
this.$router.push({path:'/base-data/base-ware/point_print_d',query:{tableID: '打印中大物标签'}})
},
showEwmReportX(){
this.$router.push({path:'/base-data/base-ware/point_print_x',query:{tableID: '打印小物标签'}})
},
//
getFormatDate(data){
return formatDate(data);
},
handleSuccess(response, file, fileList) {
this.crud.notify('上传成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.$refs.upload.clearFiles()
this.crud.status.add = CRUD.STATUS.NORMAL
this.crud.resetForm()
this.crud.toQuery()
},
//
handleError(e, file, fileList) {
const msg = JSON.parse(e.message)
this.$notify({
title: msg.message,
type: 'error',
duration: 2500
})
this.loading = false
}
}
}
</script>
<style scoped>
</style>

View File

@ -82,9 +82,6 @@
<!-- :value="item"-->
<!-- />-->
<!-- </el-select>-->
<el-form-item label="收容数" prop="extendD3">
<el-input v-model="form.extendD3" style="width: 180px;"/>
</el-form-item>
<el-form-item label="A/C" prop="ac">
<el-input v-model="form.ac" style="width: 180px;"/>
</el-form-item>
@ -95,6 +92,21 @@
<el-form-item label="箱种" prop="xz">
<el-input v-model="form.xz" style="width: 180px;"/>
</el-form-item>
<el-form-item label="收容数" prop="extendD3">
<el-input v-model="form.extendD3" style="width: 180px;"/>
</el-form-item>
<el-form-item label="长" prop="length">
<el-input v-model="form.length" style="width: 180px;"/>
</el-form-item>
<el-form-item label="宽" prop="width">
<el-input v-model="form.width" style="width: 180px;"/>
</el-form-item>
<el-form-item label="高" prop="height">
<el-input v-model="form.height" style="width: 180px;"/>
</el-form-item>
<el-form-item label="保管期限" prop="extendStr2">
<el-input v-model="form.extendD3" style="width: 180px;"/>
</el-form-item>
<el-form-item label="描述">
<el-input v-model="form.description" :rows="3" type="textarea" style="width: 370px;"/>
</el-form-item>
@ -119,10 +131,14 @@
<el-table-column prop="id" label="序号" width="100"/>
<el-table-column prop="code" label="品番" />
<el-table-column prop="name" label="名称"/>
<el-table-column prop="extendD3" label="收容数"/>
<el-table-column prop="ac" label="A/C"/>
<el-table-column prop="contents" label="加工内容"/>
<el-table-column prop="xz" label="箱种"/>
<el-table-column prop="extendD3" label="收容数"/>
<el-table-column prop="length" label="长"/>
<el-table-column prop="width" label="宽"/>
<el-table-column prop="height" label="高"/>
<el-table-column prop="extendStr2" label="保管期限"/>
<el-table-column prop="enabled" label="启用">
<template slot-scope="scope">
<el-switch

View File

@ -4,12 +4,8 @@
<div class="head-container">
<div v-if="crud.props.searchToggle">
<!-- 搜索 -->
<label class="el-form-item-label">代码</label>
<el-input v-model="query.code" clearable placeholder="代码" style="width: 120px;" class="filter-item"
@keyup.enter.native="crud.toQuery"
/>
<label class="el-form-item-label">名称</label>
<el-input v-model="query.name" clearable placeholder="名称" style="width: 120px;" class="filter-item"
<label class="el-form-item-label">库位号</label>
<el-input v-model="query.code" clearable placeholder="库位号" style="width: 120px;" class="filter-item"
@keyup.enter.native="crud.toQuery"
/>
<label class="el-form-item-label">库区</label>
@ -88,7 +84,7 @@
>
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<el-form-item label="代码" prop="code">
<el-form-item label="库位号" prop="code">
<el-input v-model="form.code" style="width: 370px;"/>
</el-form-item>
<!--<el-form-item label="名称">

View File

@ -122,7 +122,7 @@ export default {
},
getPrintList(){
console.log('打印标签')
bomPrintBiaoQianList('_BiaoQian_D').then(res => {
bomPrintBiaoQianList('_ZDWBQ').then(res => {
console.log(res)
this.kkkk2=res;

View File

@ -110,7 +110,7 @@ export default {
},
getPrintList(){
console.log('打印小物标签')
bomPrintBiaoQianList('_BiaoQian_X').then(res => {
bomPrintBiaoQianList('_XWBQ').then(res => {
console.log(res)
this.kkkk2=res;

View File

@ -206,6 +206,7 @@
<el-table-column prop="queuedQty" label="占用数"/>
<el-table-column prop="itemKey.propC1" label="批次号"/>
<el-table-column prop="itemKey.propC2" label="税别"/>
<el-table-column prop="itemKey.item.extendStr2" label="保管期限"/>
<!-- <el-table-column prop="zzkw.code" label="制造库位" align="center"/>
<el-table-column prop="area.pointCode" label="缓存库位" align="center"/>-->
<el-table-column label="操作" width="200px" align="center" fixed="right"

View File

@ -187,6 +187,7 @@
<el-table-column prop="queuedQty" label="占用数"/>
<el-table-column prop="itemKey.propC1" label="批次号"/>
<el-table-column prop="itemKey.propC2" label="税别"/>
<el-table-column prop="itemKey.item.extendStr2" label="保管期限"/>
<!-- <el-table-column v-if="checkPer(['admin','fileManagement:edit','fileManagement:del'])" label="操作"
width="150px" align="center" fixed="right"
>

View File

@ -20,17 +20,6 @@
</el-form>
<div class="statusButton" style="border-bottom: solid lightgray 1px;">
<el-radio-group v-model="radio3" @change="clickChange" size="small">
<el-radio-button label="未拣货"> 未拣货</el-radio-button>
<!-- <el-radio-button label="已拣未发">已拣未发</el-radio-button>
<el-radio-button label="已发未收"> 已发未收</el-radio-button>-->
<el-radio-button label="全部"> 全部</el-radio-button>
</el-radio-group>
</div>
<!-- 业务操作-->
<crudOperation :permission="permission" :tableKey="this.$options.name">
<el-button
@ -95,17 +84,9 @@
<el-table-column type="selection" width="50"/>
<el-table-column prop="id" label="序号"/>
<!-- <el-table-column prop="shArea.gcCode" label="工厂" width="150px"/>-->
<el-table-column prop="shArea.name" label="库区" width="150px"/>
<el-table-column :show-overflow-tooltip="true" prop="itemName" label="品番">
<template slot-scope="scope">
<div>{{ scope.row.item.code }}</div>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" prop="itemCode" label="品名">
<template slot-scope="scope">
<div>{{ scope.row.item.name }}</div>
</template>
</el-table-column>
<el-table-column prop="shArea.name" label="叫料库区" width="150px"/>
<el-table-column prop="item.code" label="品番"/>
<el-table-column prop="item.name" label="品名"/>
<el-table-column prop="status" label="状态">
<template slot-scope="scope">
{{ dict.label.pick_status[scope.row.status] }}
@ -113,6 +94,7 @@
</el-table-column>
<el-table-column prop="item.extendD3" label="收容数" width="60px" align="center"/>
<el-table-column prop="point.code" label="制造库位" width="100px"/>
<el-table-column prop="area.name" label="拣货库区" width="150px"/>
<el-table-column prop="orderQty" label="订单数量"/>
<el-table-column prop="allocatedQty" label="分配数量"/>
<el-table-column prop="pickedQty" label="拣货数量"/>
@ -145,7 +127,7 @@
<XdTask ref="xdTask"/>
<!--表单组件-->
<el-dialog title="产线叫料" :visible.sync="cxjlFromFlag" width="500px" >
<el-dialog title="制造叫料" :visible.sync="cxjlFromFlag" width="500px" >
<el-form ref="cxjlFrom" :model="cxjlFrom" :rules="rules" size="small" label-width="80px">
<el-form-item label="制造库位" prop="zzkwCode" :rules=" { required: true, message: '制造库位不能为空', trigger: 'blur' }">
<BomAccountPointSelect v-model="cxjlFrom.zzkw_code" :value-key="'bom_account_id'" @change="getChangeVule"/>
@ -162,7 +144,7 @@
<!--<el-form-item label="指示工厂">
<el-input v-model="cxjlFrom.gw_code" />
</el-form-item>-->
<el-form-item label="库区">
<el-form-item label="叫料库区">
<el-input v-model="cxjlFrom.gw_name" />
</el-form-item>