Merge remote-tracking branch 'origin/b_lms' into master_merge

This commit is contained in:
2024-07-02 22:45:29 +08:00
56 changed files with 1031 additions and 345 deletions

View File

@@ -0,0 +1,248 @@
<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<div v-if="crud.props.searchToggle">
<!-- 搜索 -->
<el-form
:inline="true"
class="demo-form-inline"
label-position="right"
label-width="90px"
label-suffix=":"
>
<el-form-item label="点位编码">
<el-input
v-model="query.point_code"
clearable
placeholder="输入点位编码"
style="width: 185px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="点位区域">
<el-select
v-model="query.packageinfo_area"
clearable
filterable
size="mini"
class="filter-item"
style="width: 185px;"
@change="hand"
>
<el-option
v-for="item in dict.packageinfo_area"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="点位状态">
<el-select
v-model="query.ivt_status"
clearable
filterable
size="mini"
class="filter-item"
style="width: 185px;"
@change="hand"
>
<el-option
v-for="item in dict.sch_packageinfo_status"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="是否启用">
<el-switch
v-model="query.is_used"
active-value="0"
inactive-value="1"
active-color="#C0CCDA"
inactive-color="#409EFF"
@change="hand"
/>
</el-form-item>
<rrOperation :crud="crud" />
</el-form>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
<!--表单组件-->
<el-dialog
:close-on-click-modal="false"
:before-close="crud.cancelCU"
:visible.sync="crud.status.cu > 0"
:title="crud.status.title"
width="500px"
>
<br>
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px">
<el-form-item label="点位编码" prop="point_code">
<el-input v-model="form.point_code" style="width: 370px;" disabled />
</el-form-item>
<el-form-item label="点位名称" prop="point_name">
<el-input v-model="form.point_name" style="width: 370px;" disabled />
</el-form-item>
<el-form-item label="子卷编号">
<el-input v-model="form.container_name" style="width: 370px;" />
</el-form-item>
<el-form-item label="点位状态">
<el-select
v-model="form.point_status"
size="mini"
placeholder="点位状态"
class="filter-item"
style="width: 370px;"
>
<el-option
v-for="item in dict.sch_packageinfo_status"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="顺序号" prop="sort_seq">
<el-input v-model="form.sort_seq" style="width: 370px;" disabled />
</el-form-item>
<el-form-item label="是否启用" prop="is_used">
<el-switch v-model="form.is_used" active-value="1" inactive-value="0" />
</el-form-item>
<el-form-item label="备注">
<el-input v-model="form.remark" 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.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
</div>
</el-dialog>
<!--表格渲染-->
<el-table
ref="table"
v-loading="crud.loading"
:data="crud.data"
size="mini"
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column type="selection" width="55" />
<el-table-column prop="point_status" label="区域类型">
<template slot-scope="scope">
{{ dict.label.packageinfo_area[scope.row.point_status] }}
</template>
</el-table-column>
<el-table-column prop="point_code" label="点位编码" width="100px" />
<el-table-column prop="point_name" label="点位名称" width="140px" />
<el-table-column prop="ivt_status" label="库存状态">
<template slot-scope="scope">
{{ dict.label.sch_packageinfo_status[scope.row.ivt_status] }}
</template>
</el-table-column>
<el-table-column prop="container_name" label="子卷编号" width="140px" />
<el-table-column prop="row_num" label="" width="100px" />
<el-table-column prop="col_num" label="" width="100px" />
<el-table-column prop="depth" label="深浅位" width="100px" />
<el-table-column prop="wait_point_type" label="等待点" width="100px" />
<el-table-column prop="is_used" label="是否启用">
<template slot-scope="scope">
{{ dict.label.is_used[scope.row.is_used] }}
</template>
</el-table-column>
<el-table-column prop="remark" label="备注" />
<el-table-column prop="update_time" label="修改时间" min-width="150" show-overflow-tooltip />
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
:is-visiable-del="false"
/>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
</div>
</div>
</template>
<script>
import crudDeliverypointivt from './packageinfoivt'
import CRUD, { crud, form, header, presenter } 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'
const defaultForm = {
ivt_id: null,
point_code: null,
product_area: null,
qzzno: null,
vehicle_code: null,
point_status: null,
packageinfo_area: null,
sch_packageinfo_status: null,
sort_seq: null,
is_used: null,
remark: null,
create_id: null,
create_name: null,
create_time: null,
update_optid: null,
update_optname: null,
update_time: null
}
export default {
name: 'Packageinfoivt',
components: { pagination, crudOperation, rrOperation, udOperation },
dicts: ['sch_packageinfo_status', 'packageinfo_area', 'is_used'],
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
title: '装箱区域',
url: 'api/bstIvtPackageInfoIvt',
idField: 'ivt_id',
sort: 'ivt_id,desc',
crudMethod: { ...crudDeliverypointivt },
optShow: {
add: false,
edit: false,
del: false,
download: false,
reset: true
}
})
},
data() {
return {
permission: {},
rules: {
point_code: [
{ required: true, message: '点位编码不能为空', trigger: 'blur' }
],
is_used: [
{ required: true, message: '是否启用不能为空', trigger: 'blur' }
]
}
}
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
},
hand(value) {
this.crud.toQuery()
}
}
}
</script>
<style scoped>
</style>

View File

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

View File

@@ -111,9 +111,7 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
</el-row>
<el-row />
<el-row>
<el-col :span="6">
<el-form-item label="母卷上料">
@@ -217,7 +215,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
<rrOperation/>
<rrOperation />
</el-col>
</el-row>
</el-form>
@@ -279,6 +277,50 @@
>
强制完成
</el-button>
<el-button
slot="right"
class="filter-item"
type="warning"
icon="el-icon-top"
size="mini"
:disabled="crud.selections.length < 1"
@click="setUpOrDown('1')"
>
设置上轴
</el-button>
<el-button
slot="right"
class="filter-item"
type="warning"
icon="el-icon-bottom"
size="mini"
:disabled="crud.selections.length < 1"
@click="setUpOrDown('2')"
>
设置下轴
</el-button>
<el-button
slot="right"
class="filter-item"
type="warning"
icon="el-icon-back"
size="mini"
:disabled="crud.selections.length < 1"
@click="setLeftOrRight('1')"
>
设置左卷
</el-button>
<el-button
slot="right"
class="filter-item"
type="warning"
icon="el-icon-right"
size="mini"
:disabled="crud.selections.length < 1"
@click="setLeftOrRight('2')"
>
设置右卷
</el-button>
</crudOperation>
<!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="1200px">
@@ -286,144 +328,144 @@
<el-row>
<el-col :span="12">
<el-form-item label="订单类型" prop="order_type">
<el-input v-model="form.order_type" style="width: 370px;"/>
<el-input v-model="form.order_type" style="width: 370px;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="子卷号" prop="container_name">
<el-input v-model="form.container_name" style="width: 370px;"/>
<el-input v-model="form.container_name" style="width: 370px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="产品编码" prop="product_name">
<el-input v-model="form.product_name" style="width: 370px;"/>
<el-input v-model="form.product_name" style="width: 370px;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产品描述" prop="description">
<el-input v-model="form.description" style="width: 370px;"/>
<el-input v-model="form.description" style="width: 370px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="来源母卷号" prop="parent_container_name">
<el-input v-model="form.parent_container_name" style="width: 370px;"/>
<el-input v-model="form.parent_container_name" style="width: 370px;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="改制来源子卷号" prop="restruct_container_name">
<el-input v-model="form.restruct_container_name" style="width: 370px;"/>
<el-input v-model="form.restruct_container_name" style="width: 370px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="子卷立库木箱号" prop="package_box_sn">
<el-input v-model="form.package_box_sn" style="width: 370px;"/>
<el-input v-model="form.package_box_sn" style="width: 370px;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="来源卷位置" prop="ware_house">
<el-input v-model="form.ware_house" style="width: 370px;"/>
<el-input v-model="form.ware_house" style="width: 370px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="分切机台编码" prop="resource_name">
<el-input v-model="form.resource_name" style="width: 370px;"/>
<el-input v-model="form.resource_name" style="width: 370px;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="分切组" prop="split_group">
<el-input v-model="form.split_group" style="width: 370px;"/>
<el-input v-model="form.split_group" style="width: 370px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="生产顺序" prop="manufacture_sort">
<el-input v-model="form.manufacture_sort" style="width: 370px;"/>
<el-input v-model="form.manufacture_sort" style="width: 370px;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="生产订单" prop="mfg_order_name">
<el-input v-model="form.mfg_order_name" style="width: 370px;"/>
<el-input v-model="form.mfg_order_name" style="width: 370px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="生产日期" prop="manufacture_date">
<el-input v-model="form.manufacture_date" style="width: 370px;"/>
<el-input v-model="form.manufacture_date" style="width: 370px;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="管件类型" prop="paper_tube_or_FRP">
<el-input v-model="form.paper_tube_or_FRP" style="width: 370px;"/>
<el-input v-model="form.paper_tube_or_FRP" style="width: 370px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="纸筒物料编码" prop="paper_tube_material">
<el-input v-model="form.paper_tube_material" style="width: 370px;"/>
<el-input v-model="form.paper_tube_material" style="width: 370px;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="纸筒物料描述" prop="paper_tube_description">
<el-input v-model="form.paper_tube_description" style="width: 370px;"/>
<el-input v-model="form.paper_tube_description" style="width: 370px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="纸筒规格" prop="paper_tube_model">
<el-input v-model="form.paper_tube_model" style="width: 370px;"/>
<el-input v-model="form.paper_tube_model" style="width: 370px;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="FRP管物料编码" prop="FRP_material">
<el-input v-model="form.FRP_material" style="width: 370px;"/>
<el-input v-model="form.FRP_material" style="width: 370px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="FRP管物料描述" prop="FRP_description">
<el-input v-model="form.FRP_description" style="width: 370px;"/>
<el-input v-model="form.FRP_description" style="width: 370px;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="FRP管规格" prop="FRP_model">
<el-input v-model="form.FRP_model" style="width: 370px;"/>
<el-input v-model="form.FRP_model" style="width: 370px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="子卷幅宽" prop="split_breadth">
<el-input v-model="form.split_breadth" style="width: 370px;"/>
<el-input v-model="form.split_breadth" style="width: 370px;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="子卷理论长度" prop="split_height">
<el-input v-model="form.split_height" style="width: 370px;"/>
<el-input v-model="form.split_height" style="width: 370px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="子卷理论重量" prop="split_weight">
<el-input v-model="form.split_weight" style="width: 370px;"/>
<el-input v-model="form.split_weight" style="width: 370px;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="销售订单及行号" prop="sale_order_name">
<el-input v-model="form.sale_order_name" style="width: 370px;"/>
<el-input v-model="form.sale_order_name" style="width: 370px;" />
</el-form-item>
</el-col>
</el-row>
@@ -434,42 +476,58 @@
</div>
</el-dialog>
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;"
@selection-change="crud.selectionChangeHandler">
<el-table-column type="selection" width="55"/>
<el-table-column v-if="false" prop="workorder_id" label="分切计划标识"/>
<el-table-column prop="status" label="状态" :formatter="formatStatusName"/>
<el-table-column prop="order_type" label="订单类型" :formatter="formatTypeName"/>
<el-table-column prop="mfg_order_name" label="订单号" min-width="140" show-overflow-tooltip/>
<el-table-column prop="container_name" label="子卷号" min-width="140" show-overflow-tooltip/>
<el-table-column prop="parent_container_name" label="母卷号" min-width="120" show-overflow-tooltip/>
<el-table-column prop="ware_house" label="来源位置" :formatter="formatHouseName" width="120px"/>
<el-table-column prop="restruct_container_name" label="改制来源子卷号" width="120px"/>
<el-table-column prop="package_box_sn" label="改制来源子卷木箱号" width="150px"/>
<el-table-column prop="resource_name" label="机台编码" min-width="110" show-overflow-tooltip/>
<el-table-column prop="point_code" label="点位" min-width="110" show-overflow-tooltip/>
<el-table-column prop="product_name" label="产品编码" min-width="130" show-overflow-tooltip/>
<el-table-column prop="product_area" label="生产区域"/>
<el-table-column prop="split_group" label="分切组"/>
<el-table-column prop="manufacture_sort" label="生产顺序"/>
<el-table-column prop="manufacture_date" label="生产日期" width="120px"/>
<el-table-column prop="split_breadth" label="子卷幅宽" :formatter="crud.formatNum3"/>
<el-table-column prop="split_height" label="子卷理论长度" width="100px" :formatter="crud.formatNum3"/>
<el-table-column prop="split_weight" label="子卷理论重量" width="100px" :formatter="crud.formatNum3"/>
<el-table-column prop="paper_tube_or_frp" label="管件类型" :formatter="formatTubeName"/>
<el-table-column prop="paper_tube_material" label="纸筒物料编码" min-width="140" show-overflow-tooltip/>
<el-table-column prop="paper_tube_description" label="纸筒物料描述" width="120px" show-overflow-tooltip/>
<el-table-column prop="paper_tube_model" label="纸筒规格" min-width="140" show-overflow-tooltip/>
<el-table-column prop="frp_material" label="FRP管物料编码" min-width="140" show-overflow-tooltip/>
<el-table-column prop="frp_description" label="FRP管物料描述" min-width="140" show-overflow-tooltip/>
<el-table-column prop="frp_model" label="FRP管规格" min-width="140" show-overflow-tooltip/>
<el-table-column prop="is_parent_ok" label="母卷上料完成" width="100px" :formatter="formatParentName"/>
<el-table-column prop="is_child_tz_ok" label="子卷套轴完成" width="100px" :formatter="formatChildName"/>
<el-table-column prop="is_child_ps_ok" label="子卷配送完成" width="100px" :formatter="formatChildPsName"/>
<el-table-column prop="is_call" label="是否呼叫" width="100px" :formatter="formatChildCallName"/>
<el-table-column prop="qzzno" label="气涨轴编码" width="160px"/>
<el-table-column prop="start_time" label="开始时间" width="150px"/>
<el-table-column prop="end_time" label="结束时间" width="150px"/>
<el-table
ref="table"
v-loading="crud.loading"
:data="crud.data"
size="mini"
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column type="selection" width="55" />
<el-table-column v-if="false" prop="workorder_id" label="分切计划标识" />
<el-table-column prop="status" label="状态" :formatter="formatStatusName" />
<el-table-column prop="order_type" label="订单类型" :formatter="formatTypeName" />
<el-table-column prop="mfg_order_name" label="订单号" min-width="140" show-overflow-tooltip />
<el-table-column prop="container_name" label="子卷号" min-width="140" show-overflow-tooltip />
<el-table-column prop="parent_container_name" label="母卷号" min-width="120" show-overflow-tooltip />
<el-table-column prop="ware_house" label="来源位置" :formatter="formatHouseName" width="120px" />
<el-table-column prop="restruct_container_name" label="改制来源子卷号" width="120px" />
<el-table-column prop="package_box_sn" label="改制来源子卷木箱号" width="150px" />
<el-table-column prop="resource_name" label="机台编码" min-width="110" show-overflow-tooltip />
<el-table-column prop="point_code" label="点位" min-width="110" show-overflow-tooltip />
<el-table-column prop="product_name" label="产品编码" min-width="130" show-overflow-tooltip />
<el-table-column prop="product_area" label="生产区域" />
<el-table-column prop="split_group" label="分切组" />
<el-table-column prop="manufacture_sort" label="生产顺序" />
<el-table-column prop="manufacture_date" label="生产日期" width="120px" />
<el-table-column prop="split_breadth" label="子卷幅宽" :formatter="crud.formatNum3" />
<el-table-column prop="split_height" label="子卷理论长度" width="100px" :formatter="crud.formatNum3" />
<el-table-column prop="split_weight" label="子卷理论重量" width="100px" :formatter="crud.formatNum3" />
<el-table-column prop="paper_tube_or_frp" label="管件类型" :formatter="formatTubeName" />
<el-table-column prop="paper_tube_material" label="纸筒物料编码" min-width="140" show-overflow-tooltip />
<el-table-column prop="paper_tube_description" label="纸筒物料描述" width="120px" show-overflow-tooltip />
<el-table-column prop="paper_tube_model" label="纸筒规格" min-width="140" show-overflow-tooltip />
<el-table-column prop="frp_material" label="FRP管物料编码" min-width="140" show-overflow-tooltip />
<el-table-column prop="frp_description" label="FRP管物料描述" min-width="140" show-overflow-tooltip />
<el-table-column prop="frp_model" label="FRP管规格" min-width="140" show-overflow-tooltip />
<el-table-column prop="is_parent_ok" label="母卷上料完成" width="100px" :formatter="formatParentName" />
<el-table-column prop="is_child_tz_ok" label="子卷套轴完成" width="100px" :formatter="formatChildName" />
<el-table-column prop="is_child_ps_ok" label="子卷配送完成" width="100px" :formatter="formatChildPsName" />
<el-table-column prop="is_call" label="是否呼叫" width="100px" :formatter="formatChildCallName" />
<el-table-column prop="up_or_down" label="上轴下轴" width="100px">
<template slot-scope="scope">
{{ scope.row.up_or_down === '' ? '-' : scope.row.up_or_down === '1' ? '上轴' : '下轴' }}
</template>
</el-table-column>
<el-table-column prop="left_or_right" label="左卷右卷" width="100px">
<template slot-scope="scope">
{{ scope.row.left_or_right === '' ? '-' :scope.row.left_or_right === '1' ? '左卷' : '右卷' }}
</template>
</el-table-column>
<el-table-column prop="qzzno" label="气涨轴编码" width="160px" />
<el-table-column prop="start_time" label="开始时间" width="150px" />
<el-table-column prop="end_time" label="结束时间" width="150px" />
<!-- <el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
<template slot-scope="scope">
<udOperation
@@ -480,7 +538,7 @@
</el-table-column>-->
</el-table>
<!--分页组件-->
<pagination/>
<pagination />
</div>
</div>
</template>
@@ -674,6 +732,28 @@ export default {
},
formatChildCallName(row) {
return this.dict.label.IS_OR_NOT[row.is_call]
},
setUpOrDown(flag) {
const _selectData = this.$refs.table.selection
const param = {
'data': _selectData,
'up_or_down': flag
}
crudSlittingproductionplan.setDirection(param).then(() => {
this.crud.toQuery()
this.crud.notify('设置成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
})
},
setLeftOrRight(flag) {
const _selectData = this.$refs.table.selection
const param = {
'data': _selectData,
'left_or_right': flag
}
crudSlittingproductionplan.setDirection(param).then(() => {
this.crud.toQuery()
this.crud.notify('设置成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
})
}
}
}

View File

@@ -64,4 +64,12 @@ export function compelFinish(data) {
})
}
export default { add, edit, del, upMaterFinish, caseFinish, sendFinish, inFinish, compelFinish }
export function setDirection(data) {
return request({
url: 'api/slittingproductionplan/setDirection',
method: 'post',
data
})
}
export default { add, edit, del, upMaterFinish, caseFinish, sendFinish, inFinish, compelFinish, setDirection }

View File

@@ -380,6 +380,9 @@ export default {
if (this.currentSelection.length > 0 && this.$refs.dis_table.selection.length > 0) {
debugger
const descriptionList = this.currentSelection.filter(item => item.paper_tube_description !== null && item.paper_tube_description !== '')
if (descriptionList.length === 0) {
this.crud.notify('未查询到该子卷的规格信息,请检查子卷的分切计划信息!', CRUD.NOTIFICATION_TYPE.WARNING)
}
const paper_tube_description = descriptionList[0].paper_tube_description
const descriptionsAreSame = this.currentSelection.every(item => item.paper_tube_description === paper_tube_description)
if (descriptionsAreSame) {