发财拉,过年拉

main
FOAM 2026-02-12 14:47:10 +08:00
parent 8163ca4b35
commit 26b9e1de20
19 changed files with 340 additions and 69 deletions

27
src/api/operLog.js 100644
View File

@ -0,0 +1,27 @@
import request from '@/utils/request'
export function add(data) {
return request({
url: 'api/operLog',
method: 'post',
data
})
}
export function del(ids) {
return request({
url: 'api/operLog/',
method: 'delete',
data: ids
})
}
export function edit(data) {
return request({
url: 'api/operLog',
method: 'put',
data
})
}
export default { add, edit, del }

View File

@ -39,4 +39,12 @@ export function haoYong(data) {
})
}
export function readHaoYongData(data) {
return request({
url: 'api/productionPlan/readHaoYongData',
method: 'put',
data
})
}
export default { add, edit, del,manualGeneration }

27
src/api/xppPlan.js 100644
View File

@ -0,0 +1,27 @@
import request from '@/utils/request'
export function add(data) {
return request({
url: 'api/xppPlan',
method: 'post',
data
})
}
export function del(ids) {
return request({
url: 'api/xppPlan/',
method: 'delete',
data: ids
})
}
export function edit(data) {
return request({
url: 'api/xppPlan',
method: 'put',
data
})
}
export default { add, edit, del }

View File

@ -4,8 +4,8 @@
<div class="head-container">
<div v-if="crud.props.searchToggle">
<!-- 搜索 -->
<el-input v-model="query.code" clearable placeholder="完成品品番" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<el-input v-model="query.name" clearable placeholder="完成形式名" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<el-input v-model="query.code" clearable placeholder="机型" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<el-input v-model="query.name" clearable placeholder="机型名" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<el-input v-model="query.models" clearable placeholder="机种" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<!-- <el-input v-model="query.country" clearable placeholder="国别" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />-->
<!-- <el-input v-model="query.outboundType" clearable placeholder="出库类型" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />-->
@ -39,13 +39,13 @@
<!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="700px">
<el-form ref="form" :model="form" :inline="true" :rules="rules" size="small" label-width="100px">
<el-form-item label="完成品品番" prop="code" >
<el-form-item label="机型" prop="code" >
<el-input v-model="form.code" style="width: 180px;" />
</el-form-item>
<el-form-item label="主形式名" prop="masterName">
<el-input v-model="form.masterName" style="width: 180px;" />
</el-form-item>
<el-form-item label="完成形式名" prop="name">
<el-form-item label="机型名" prop="name">
<el-input v-model="form.name" style="width: 180px;" />
</el-form-item>
<el-form-item label="机种" prop="models">
@ -72,9 +72,9 @@
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :height="crud.tableHeight" :data="crud.data" size="small" style="width: 100%;" @selection-change="crud.selectionChangeHandler" border>
<el-table-column type="selection" width="55" />
<el-table-column prop="code" label="完成品品番" />
<el-table-column prop="code" label="机型" />
<el-table-column prop="masterName" label="主形式名"/>
<el-table-column prop="name" label="完成形式名"/>
<el-table-column prop="name" label="机型名"/>
<el-table-column prop="models" label="机种" />
<el-table-column prop="country" label="国别" />
<!-- <el-table-column prop="outboundType" label="出库类型" />
@ -124,7 +124,7 @@ export default {
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({ title: '完成品品番', url: 'api/bigItem', idField: 'id', sort: 'id,desc', crudMethod: { ...crudBigItem },
return CRUD({ title: '机型', url: 'api/bigItem', idField: 'id', sort: 'id,desc', crudMethod: { ...crudBigItem },
optShow: {
add: true,
edit: true,
@ -153,18 +153,18 @@ export default {
},
rules: {
code: [
{ required: true, message: '完成品品番不能为空', trigger: 'blur' }
{ required: true, message: '机型不能为空', trigger: 'blur' }
],
name: [
{ required: true, message: '完成形式名不能为空', trigger: 'blur' }
{ required: true, message: '机型名不能为空', trigger: 'blur' }
],
models: [
{ required: true, message: '机种不能为空', trigger: 'blur' }
]
},
queryTypeOptions: [
{ key: 'code', display_name: '完成品品番' },
{ key: 'name', display_name: '完成形式名' },
{ key: 'code', display_name: '机型' },
{ key: 'name', display_name: '机型名' },
{ key: 'models', display_name: '机种' },
{ key: 'country', display_name: '国别' },
{ key: 'outboundType', display_name: '出库类型' },

View File

@ -3,14 +3,15 @@
<!--工具栏-->
<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.bigItemName" clearable placeholder="完成品名" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<el-input v-model="query.bigItemCode" clearable placeholder="机型" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<el-input v-model="query.bigItemName" 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.itemName" 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-input v-model="query.tckw" clearable placeholder="台车" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<el-input v-model="query.supplier" clearable placeholder="供应商" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<el-input v-model="query.kyQz" clearable placeholder="刻印号" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<!--<el-select v-model="query.rAreaCode" clearable placeholder="工位" filterable style="width: 185px;" class="filter-item"
@keyup.enter.native="crud.toQuery" clearable>
<el-option
@ -79,7 +80,7 @@
<!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="700px">
<el-form ref="form" :model="form" :inline="true" :rules="rules" size="small" label-width="100px">
<el-form-item label="完成品品番" prop="bigItem">
<el-form-item label="机型" prop="bigItem">
<BigItemSelect :value-key="'id'" v-model="form.bigItem" :immediate="true"/>
</el-form-item>
<el-form-item label="部品品番" prop="item">
@ -189,6 +190,7 @@
<el-table-column prop="contents" label="加工内容" width="70"/>
<el-table-column prop="zcfq" label="制材区分" />
<el-table-column prop="zPoint.code" label="货位" />
<el-table-column prop="zPoint.zflx" label="总分类型" />
<el-table-column prop="xz" label="箱种"/>
<el-table-column prop="srs" label="收容数"/>
<el-table-column prop="tckw" label="工程(台车库位)" width="120"/>
@ -285,8 +287,8 @@ export default {
excelConfigId: '912967151437389824',
queryParam: {
pageNo: 1,
bomAccount__完成品番: null,
bomAccount__完成品形式: null,
bomAccount__机型: null,
bomAccount__机型: null,
bomAccount__工位: null,
bomAccount__部品品番: null,
currentPageNo: 1,
@ -296,7 +298,7 @@ export default {
},
rules: {
bigItem: [
{ required: true, message: '完成品品番不能为空', trigger: 'blur' }
{ required: true, message: '机型不能为空', trigger: 'blur' }
],
item: [
{ required: true, message: '部品品番不能为空', trigger: 'blur' }
@ -360,8 +362,8 @@ export default {
this.$router.push({path:'/DaoChu/ExcelDaoChu',query:{tableID: 'Bom工位清单导出'}})
},
doDownlodExcel(){
this.excelQueryParam.queryParam.bomAccount__完成品番 = this.query.bigItemIdCode
this.excelQueryParam.queryParam.bomAccount__完成品形式= this.query.bigItemName
this.excelQueryParam.queryParam.bomAccount__机型 = this.query.bigItemIdCode
this.excelQueryParam.queryParam.bomAccount__机型= this.query.bigItemName
this.excelQueryParam.queryParam.bomAccount__工位 = this.dict.label.station_type[this.query.stationType]
this.excelQueryParam.queryParam.bomAccount__部品品番 = this.query.itemName
const fileName = 'Bom工位清单导出'

View File

@ -34,7 +34,8 @@
<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="hw" label="台车名" />
<el-table-column prop="jx" label="机型" />
<el-table-column prop="code" label="机型" />
<el-table-column prop="pm" label="机型名" />
</el-table>
<!--分页组件-->
<div style="position:absolute;right: 0">
@ -108,8 +109,8 @@ export default {
excelConfigId: '912967151437389824',
queryParam: {
pageNo: 1,
bomAccount__完成品番: null,
bomAccount__完成品形式: null,
bomAccount__机型: null,
bomAccount__机型: null,
bomAccount__工位: null,
bomAccount__部品品番: null,
currentPageNo: 1,

View File

@ -36,8 +36,8 @@
{{ dict.label.bom_oper_type[scope.row.operType] }}
</template>
</el-table-column>
<el-table-column prop="bigItem.code" label="完成品品番" width="120" />
<el-table-column prop="bigItem.name" label="完成品形式名" width="150" align="center" />
<el-table-column prop="bigItem.code" label="机型" width="120" />
<el-table-column prop="bigItem.name" label="机型名" width="150" align="center" />
<el-table-column prop="rArea.code" label="工位" width="80"/>
<el-table-column prop="rArea.name" label="指示纳所" width="250"/>
<el-table-column prop="item.code" label="部品品番" width="100"/>

View File

@ -4,8 +4,8 @@
<div class="head-container">
<div v-if="crud.props.searchToggle">
<!-- 搜索 -->
<el-input v-model="query.bigItemCode" clearable placeholder="完成品番" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<el-input v-model="query.bigItemName" clearable placeholder="完成品名" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<el-input v-model="query.bigItemCode" clearable placeholder="机型" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<el-input v-model="query.bigItemName" clearable placeholder="机型名" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<el-select v-model="query.stationType" clearable placeholder="工位" filterable style="width: 185px;" class="filter-item"
@keyup.enter.native="crud.toQuery" clearable>
<el-option
@ -48,8 +48,8 @@
<!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="500px">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="120px">
<el-form-item label="完成品品番" prop="bigItem" >
<el-select v-model="form.bigItem" value-key="id" filterable placeholder="请选择完成品品番">
<el-form-item label="机型" prop="bigItem" >
<el-select v-model="form.bigItem" value-key="id" filterable placeholder="请选择机型">
<el-option
v-for="item in bigItemList"
:key="item.id"
@ -98,8 +98,8 @@
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="small" style="width: 100%;" :height="crud.tableHeight" @selection-change="crud.selectionChangeHandler" border>
<el-table-column type="selection" width="55" />
<el-table-column prop="bigItem.code" label="完成品品番" />
<el-table-column prop="bigItem.name" label="完成品形式名" width="210px" align="center"/>
<el-table-column prop="bigItem.code" label="机型" />
<el-table-column prop="bigItem.name" label="机型名" width="210px" align="center"/>
<el-table-column prop="out_type#outType" label="出库类型">
<template slot-scope="scope">
{{ dict.label.out_type[scope.row.outType] }}
@ -145,7 +145,7 @@ export default {
mixins: [presenter(), header(), form(defaultForm), crud()],
dicts: ['out_type', 'station_type'],
cruds() {
return CRUD({ title: '完成品工位清单', url: 'api/itemLis', idField: 'id', sort: 'id,desc', crudMethod: { ...crudItemLis }})
return CRUD({ title: '机型工位清单', url: 'api/itemLis', idField: 'id', sort: 'id,desc', crudMethod: { ...crudItemLis }})
},
computed: {
...mapGetters([
@ -164,7 +164,7 @@ export default {
},
rules: {
bigItem: [
{ required: true, message: '完成品番不能为空', trigger: 'blur' }
{ required: true, message: '机型不能为空', trigger: 'blur' }
],
outType: [
{ required: true, message: '出库类型不能为空', trigger: 'blur' }
@ -174,7 +174,7 @@ export default {
]
},
queryTypeOptions: [
{ key: 'bigItemId', display_name: '完成品番' },
{ key: 'bigItemId', display_name: '机型' },
{ key: 'outType', display_name: '出库类型' },
{ key: 'stationType', display_name: '工位' },
{ key: 'rAreaCode', display_name: '入库库区' },

View File

@ -147,6 +147,9 @@
<el-form-item label="标签类型">
<el-input v-model="form.bqlx" style="width: 370px;"/>
</el-form-item>
<el-form-item label="总分类型">
<el-input v-model="form.zflx" style="width: 370px;"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -182,6 +185,7 @@
</template>
</el-table-column>
<el-table-column prop="bqlx" label="标签类型"/>
<el-table-column prop="zflx" label="总分类型"/>
<el-table-column v-if="checkPer(['admin','item:edit'])" label="操作" width="60px" align="center">
<template slot-scope="scope">
@ -232,7 +236,8 @@ const defaultForm = {
description: null,
area: null,
point: null,
invMin:999
invMin:999,
zflx:null
}
export default {
name: 'Point',
@ -246,7 +251,7 @@ export default {
url: 'api/point',
idField: 'id',
sort: 'id,desc',
query: { typeNotData: ['FHZC', 'SHZC', 'HCKW'] },
query: { typeNotData: ['FHZC', 'SHZC'] },
crudMethod: { ...crudPoint },
optShow: {
add: true,

View File

@ -10,8 +10,8 @@
class="label-item" >
<table class="label-table">
<tr style="height: 6mm">
<td class="td-item-value" style="width:25mm">台车名</td>
<td class="td-item-value" colspan="1" style="width: 46mm;background:#fcd700">{{ k2.hw }}</td>
<td class="td-item-value" style="width:20mm">台车名</td>
<td class="td-item-value3" colspan="1" style="width: 46mm;background:#fcd700">{{ k2.hw }}</td>
<td class="td-item" rowspan="1" style="width: 23mm;height: 20mm;">
<vue-qrcode
:value="getQrContent(k2)"
@ -23,16 +23,8 @@
</tr>
<tr style="height: 6mm">
<td class="td-item-value" rowspan="3" style="width:25mm">机型</td>
<td class="td-item-value3" >{{ k2.jxs[0] }}</td>
<td class="td-item-value3" >{{ k2.jxs[2] }}</td>
</tr>
<tr style="height: 6mm">
<td class="td-item-value3" >{{ k2.jxs[3] }}</td>
<td class="td-item-value3" >{{ k2.jxs[4] }}</td>
</tr>
<tr style="height: 6mm">
<td class="td-item-value3" >{{ k2.jxs[5] }}</td>
<td class="td-item-value3" >{{ k2.jxs[6] }}</td>
<td class="td-item-value3" >{{ k2.code }}</td>
<td class="td-item-value3" >{{ k2.pm }}</td>
</tr>
</table>
@ -105,8 +97,8 @@ export default {
this.kkkk2=res;
this.kwfenzu=[]
for (let i = 0; i < this.kkkk2.length; i += 4) {
this.kwfenzu.push(this.kkkk2.slice(i, i + 4));
for (let i = 0; i < this.kkkk2.length; i += 5) {
this.kwfenzu.push(this.kkkk2.slice(i, i + 5));
}
console.log(kwfenzu)
});
@ -173,7 +165,7 @@ body {
}
.td-item-value3{
font-size: 9pt;
font-size: 16pt;
font-weight: bold;
text-align: center;
border: #000000 2px solid;
@ -194,8 +186,8 @@ body {
.label-table {
background: #00a0e9;
width: 170mm;
height: 60mm;
width: 140mm;
height: 52mm;
background: #ffffff;
border-collapse: collapse;
font-size: 13px;
@ -205,7 +197,7 @@ body {
.grid-container {
display: grid;
grid-template-columns: repeat(1, 1fr); /* 4列 */
grid-template-rows: repeat(4, 1fr); /* 5行 */
grid-template-rows: repeat(5, 1fr); /* 5行 */
width: 100%;
height: 100%;
background: #ffffff;

View File

@ -110,10 +110,10 @@
<el-input v-model="productionPlanVo.machineNo" placeholder="工件" disabled>
</el-input>
</el-form-item>
<el-form-item label="工位名" prop="name">
<!-- <el-form-item label="工位名" prop="name">
<el-input v-model="productionPlanVo.workingStation" disabled>
</el-input>
</el-form-item>
</el-form-item>-->
<el-form-item label="数量" prop="number">
<el-input v-model.number="productionPlanVo.number" placeholder="数量" clearable>
</el-input>
@ -127,9 +127,9 @@
<!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="500px">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<el-form-item label="完成品番" prop="bigItem">
<el-form-item label="机型" prop="bigItem">
<!-- <el-input v-model="form.bigItem" style="width: 370px;" />-->
<el-select v-model="form.bigItem" placeholder="请选择完成品番" style="width: 370px;">
<el-select v-model="form.bigItem" placeholder="请选择机型" style="width: 370px;">
<el-option
v-for="item in bigItemListoOptions"
:key="item.code"
@ -216,7 +216,7 @@
</template>
<script>
import crudProductionPlan, {haoYong, manualGeneration} from '@/api/productionPlan'
import crudProductionPlan, {haoYong, manualGeneration, readHaoYongData} from '@/api/productionPlan'
import CRUD, { presenter, header, form, crud } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
@ -295,7 +295,7 @@ export default {
},
rules: {
bigItem: [
{ required: true, message: '完成品番不能为空', trigger: 'blur' }
{ required: true, message: '机型不能为空', trigger: 'blur' }
],
workingStation: [
{ required: true, message: '工位不能为空', trigger: 'blur' }
@ -422,8 +422,8 @@ export default {
//
this.productionPlanVo.machineNo = data.machineNo
//
this.productionPlanVo.workingStation = data.rkArea.name
this.productionPlanVo.areaId = data.rkArea.id
//this.productionPlanVo.workingStation = data.rkArea.name
// this.productionPlanVo.areaId = data.rkArea.id
this.haoYongOnOff = true
},
submitHaoYongForm() {

View File

@ -0,0 +1,176 @@
<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<div v-if="crud.props.searchToggle">
<!-- 搜索 -->
<label class="el-form-item-label">定单编号</label>
<el-input v-model="query.ddbh" clearable placeholder="定单编号" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<label class="el-form-item-label">分支号</label>
<el-input v-model="query.fzh" clearable placeholder="分支号" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<label class="el-form-item-label">品番</label>
<el-input v-model="query.itemCode" clearable placeholder="品番" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<date-range-picker
v-model="query.nrDate"
start-placeholder="nrDateStart"
end-placeholder="nrDateStart"
class="date-item"
/>
<date-range-picker
v-model="query.createTime"
start-placeholder="createTimeStart"
end-placeholder="createTimeStart"
class="date-item"
/>
<rrOperation :crud="crud" />
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" :tableKey="this.$options.name">
<el-upload
class="upload-demo"
ref="upload"
slot='right'
style="float: right;padding-left: 5px"
:action="baseApi+'/api/importData/importXppPlan'"
:file-list="fileList"
:on-success=handleSuccess
:on-error="handleError"
:headers="headers"
:show-file-list="true">
<el-button size="mini" type="success" v-permission="permission.import" icon="el-icon-upload"></el-button>
</el-upload>
</crudOperation>
<!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="500px">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<el-form-item label="纳入数">
<el-input v-model="form.nrs" style="width: 370px;" />
</el-form-item>
<el-form-item label="定单编号">
<el-input v-model="form.ddbh" style="width: 370px;" />
</el-form-item>
<el-form-item label="分支号">
<el-input v-model="form.fzh" style="width: 370px;" />
</el-form-item>
<el-form-item label="创建日期">
<el-date-picker v-model="form.nrDate" type="datetime" style="width: 370px;" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU"></el-button>
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU"></el-button>
</div>
</el-dialog>
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" :height="crud.tableHeight" size="small" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
<el-table-column type="selection" width="55" />
<el-table-column prop="id" label="ID" />
<el-table-column prop="areaCode" label="工厂" />
<el-table-column prop="itemCode" label="品番" />
<el-table-column prop="ddbh" label="定单编号" />
<el-table-column prop="fzh" label="分支号" />
<el-table-column prop="nrs" label="纳入数" />
<el-table-column prop="zf" label="受入受領NO" />
<el-table-column prop="cjDate" label="创建时间" />
<el-table-column prop="cjr" label="端末NO" />
<el-table-column prop="nrDate" label="更新时间" />
<el-table-column prop="createTime" label="导入时间" />
<el-table-column v-if="checkPer(['admin','xppPlan:del'])" label="操作" width="150px" align="center">
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
/>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
</div>
</div>
</template>
<script>
import crudXppPlan from '@/api/xppPlan'
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 { getToken } from '@/utils/auth'
import DonMessage from "@/utils/message";
import {mapGetters} from "vuex";
const defaultForm = { id: null, itemId: null, ac: null, nrs: null, ddbh: null, zf: null, fzh: null, nrDate: null, shQuantity: null, cjr: null, bhr: null, fhr: null, contents: null, relaSupplier: null, relaDoor: null, relaCode: null, relaType: null, relaQuantity: null, areaCode: null, itemCode: null, deptId: null, description: null, createBy: null, updateBy: null, createTime: null, updateTime: null, ewm: null }
export default {
name: 'XppPlan',
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({ title: 'xppPlan', url: 'api/xppPlan', idField: 'id', sort: 'id,desc', crudMethod: { ...crudXppPlan }, optShow: {
add: false,
edit: false,
del: true,
reset: true,
download: true
}})
},
computed: {
...mapGetters([
'baseApi'
])
},
data() {
return {
headers: { 'Authorization': getToken() },
fileList: [],
permission: {
add: ['admin', 'xppPlan:add'],
edit: ['admin', 'xppPlan:edit'],
del: ['admin', 'xppPlan:del']
},
rules: {
},
queryTypeOptions: [
{ key: 'ddbh', display_name: '定单编号' },
{ key: 'fzh', display_name: '分支号' },
{ key: 'itemCode', display_name: '品番' }
]
}
},
methods: {
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
},
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

@ -52,6 +52,9 @@
<el-input v-model="query.propC1" clearable placeholder="批次号" style="width: 150px;"
@keyup.enter.native="crud.toQuery"
/>
<el-input v-model="query.quantity2" clearable placeholder="库存数<" style="width: 150px;"
@keyup.enter.native="crud.toQuery"
/>
<el-select v-model="query.areaNames" value-key="id" clearable placeholder="库区" style="width: 180px" filterable multiple reserve-keyword="true" >
<el-option
@ -305,6 +308,7 @@ export default {
cruds() {
return CRUD({
query: {
betc:false,
quantity: 0
},
areaOptions: [],

View File

@ -42,6 +42,9 @@
:value="item.value"
/>
</el-select>
<el-input v-model="query.quantity2" clearable placeholder="库存数<" style="width: 150px;"
@keyup.enter.native="crud.toQuery"
/>
<el-select v-model="query.areaNames" value-key="id" clearable placeholder="指示纳所" style="width: 180px" filterable multiple reserve-keyword="true" >
@ -159,9 +162,13 @@
<!-- <el-table-column prop="area.code" label="库区" width="80"/>-->
<el-table-column prop="area.name" label="库区" width="200"/>
<el-table-column prop="point.code" label="库位号" align="center"/>
<el-table-column prop="stockCode" label="机型代码" align="center"/>
<el-table-column prop="itemKey.item.code" label="品番"/>
<el-table-column prop="itemKey.item.name" label="品番名称"/>
<el-table-column prop="weight" label="台用量"/>
<el-table-column prop="quantity" label="数量"/>
<el-table-column prop="volume" label="套数"/>
<el-table-column prop="itemKey.propC1" label="刻印号"/>
<el-table-column prop="itemKey.propC2" label="税别"/>
<!-- <el-table-column prop="zzkw.code" label="制造库位" align="center"/>
<el-table-column prop="area.pointCode" label="缓存库位" align="center"/>

View File

@ -53,6 +53,9 @@
<el-input v-model="query.propC1" clearable placeholder="批次号" style="width: 150px;"
@keyup.enter.native="crud.toQuery"
/>
<el-input v-model="query.quantity2" clearable placeholder="库存数<" style="width: 150px;"
@keyup.enter.native="crud.toQuery"
/>
<el-select v-model="query.areaNames" value-key="id" clearable placeholder="库区" style="width: 180px" filterable multiple reserve-keyword="true" >
<el-option

View File

@ -32,6 +32,9 @@
:value="item.value"
/>
</el-select>
<el-input v-model="query.quantity2" clearable placeholder="库存数<" style="width: 150px;"
@keyup.enter.native="crud.toQuery"
/>
<el-date-picker
v-model="query.propD1"
type="date"
@ -173,6 +176,7 @@
<el-table-column prop="id" label="序号" align="center"/>
<el-table-column prop="area_name" label="库区" width="200"/>
<el-table-column prop="point_code" label="库位号" align="center"/>
<el-table-column prop="point_zflx" label="总分类型" align="center"/>
<el-table-column prop="item_code" label="品番"/>
<el-table-column prop="item_name" label="品名"/>
<el-table-column prop="prop_c2" label="税别"/>

View File

@ -54,10 +54,10 @@
:title="crud.status.title" width="500px"
>
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="100px">
<el-form-item label="完成品" prop="bigItem">
<el-form-item label="机型" prop="bigItem">
<!-- <el-input v-model="form.bigItem" style="width: 350px;"/>-->
<el-select v-model="form.bigItem" value-key="id" style="width:100%"
placeholder="完成品" clearable filterable
placeholder="机型" clearable filterable
>
<el-option
v-for="item in bigItems"
@ -177,7 +177,7 @@ export default {
{ required: true, message: '工位不能为空', trigger: 'blur' }
],
bigItem: [
{ required: true, message: 'Bom完成品工位清单不能为空', trigger: 'blur' }
{ required: true, message: 'Bom机型工位清单不能为空', trigger: 'blur' }
],
orderQty: [
{ required: true, message: '订单数量不能为空', trigger: 'blur' }

View File

@ -66,6 +66,10 @@
@click="copySparePartsBtn(crud.selections)"
>
</el-button>
<el-button size="mini" type="success" slot="right" class="upload-demo" style="float: right;"
@click="readHaoYongDataBtn()" v-permission="permission.haoYong"
>下线数据读取
</el-button>
</crudOperation>
<!--新增的表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0"
@ -84,9 +88,9 @@
/>
</el-select>
</el-form-item>-->
<el-form-item label="库区" prop="shArea">
<!--<el-form-item label="库区" prop="shArea">
<AreaSelect v-model="form.shArea" :value-key="'id'" :bexb=true @change="getChangeVule"/>
</el-form-item>
</el-form-item>-->
<el-form-item label="型号品番" prop="bigItemId">
<el-select v-model="form.bigItemId" value-key="id" @change="getBigItemName" filterable
placeholder="请选择" style="width: 370px;"
@ -158,8 +162,8 @@
>
<el-table-column type="selection" width="55"/>
<el-table-column prop="id" label="ID" width="80"/>
<el-table-column prop="shArea.code" label="库区" width="120"/>
<el-table-column prop="shArea.name" label="库区名称" width="120"/>
<!-- <el-table-column prop="shArea.code" label="库区" width="120"/>
<el-table-column prop="shArea.name" label="库区名称" width="120"/>-->
<el-table-column prop="date" label="下线日期">
<template slot-scope="scope">
{{ getFormatDate(scope.row.date) }}
@ -221,6 +225,7 @@ import DateRangePicker from "@/components/DateRangePicker/index.vue";
import BomAccountPointSelect from "@/views/generic-component/BomAccountPointSelect.vue";
import AreaSelect from "@/views/generic-component/AreaSelect.vue";
import PointSelect from "@/views/generic-component/PointSelect.vue";
import {readHaoYongData} from "@/api/productionPlan";
const defaultForm = {
id: null,
@ -404,6 +409,16 @@ export default {
getChangeAreaValue(dben) {
this.query.shAreaCode = dben.code;
},
readHaoYongDataBtn() {
readHaoYongData().then(res =>{
if(res.status==200){
this.crud.notify('下线数据接收成功!', CRUD.NOTIFICATION_TYPE.SUCCESS);
this.crud.refresh();
}
},e=>{
})
},
}
}
</script>

View File

@ -30,7 +30,7 @@ export default {
value: null, // v-model
placeholder: {
type: String,
default: '请选择完成品品番'
default: '请选择机型'
},
filterable: {
type: Boolean,