工序维护、工单管理、区域管理、点位管理、任务管理等bug修复与添加生产区域判断

This commit is contained in:
2023-03-21 19:26:13 +08:00
parent ca0b9a858d
commit e181a4a6e7
18 changed files with 220 additions and 174 deletions

View File

@@ -190,7 +190,7 @@ import pagination from '@crud/Pagination'
const defaultForm = {
workprocedure_id: null,
product_area: null,
product_area: 'A1',
workprocedure_code: null,
workprocedure_name: null,
worksection_type_scode: null,

View File

@@ -10,6 +10,23 @@
label-width="90px"
label-suffix=":"
>
<el-form-item label="生产区域">
<el-select
v-model="query.product_area"
clearable
filterable
size="mini"
placeholder="区域类型"
class="filter-item"
@change="crud.toQuery()"
>
<el-option
v-for="item in dict.product_area"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<!-- 搜索 -->
<el-form-item label="工单编号">
<el-input
@@ -180,6 +197,20 @@
width="1200px"
>
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="160px">
<el-form-item label="生产区域" prop="product_area">
<el-select
v-model="form.product_area"
placeholder=""
style="width: 200px"
>
<el-option
v-for="item in dict.product_area"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="所属工序" prop="workprocedure_id">
<el-select
v-model="form.workprocedure_id"
@@ -324,7 +355,7 @@
<el-link type="warning" @click="toView(scope.row)">{{ scope.row.workorder_code }}</el-link>
</template>
</el-table-column>
<el-table-column prop="shift_type_scode" label="班次类型" >
<el-table-column prop="shift_type_scode" label="班次类型">
<template slot-scope="scope">
{{ dict.label.PDM_BI_SHIFTTYPE[scope.row.shift_type_scode] }}
</template>
@@ -334,16 +365,16 @@
<el-table-column prop="plan_qty" label="计划数量" />
<el-table-column prop="real_qty" label="实际数量" />
<el-table-column prop="person_name" label="操作员" />
<el-table-column prop="person_real_qty" label="人员实际数量" width="100" show-overflow-tooltip/>
<el-table-column prop="dq_real_qty" label="电气实际数量" width="100" show-overflow-tooltip/>
<el-table-column prop="material_name" label="物料名称" width="120" show-overflow-tooltip/>
<el-table-column prop="workprocedure_name" label="工序名称" width="120" show-overflow-tooltip/>
<el-table-column prop="material_weight" label="物料单重" width="100"/>
<el-table-column prop="planproducestart_date" label="计划开始时间" width="100" show-overflow-tooltip/>
<el-table-column prop="planproduceend_date" label="计划结束时间" width="100" show-overflow-tooltip/>
<el-table-column prop="realproducestart_date" label="实际开始时间" width="100" show-overflow-tooltip/>
<el-table-column prop="realproduceend_date" label="实际结束时间" width="100" show-overflow-tooltip/>
<el-table-column prop="current_device_code" label="当前设备编码" width="100" show-overflow-tooltip/>
<el-table-column prop="person_real_qty" label="人员实际数量" width="100" show-overflow-tooltip />
<el-table-column prop="dq_real_qty" label="电气实际数量" width="100" show-overflow-tooltip />
<el-table-column prop="material_name" label="物料名称" width="120" show-overflow-tooltip />
<el-table-column prop="workprocedure_name" label="工序名称" width="120" show-overflow-tooltip />
<el-table-column prop="material_weight" label="物料单重" width="100" />
<el-table-column prop="planproducestart_date" label="计划开始时间" width="100" show-overflow-tooltip />
<el-table-column prop="planproduceend_date" label="计划结束时间" width="100" show-overflow-tooltip />
<el-table-column prop="realproducestart_date" label="实际开始时间" width="100" show-overflow-tooltip />
<el-table-column prop="realproduceend_date" label="实际结束时间" width="100" show-overflow-tooltip />
<el-table-column prop="current_device_code" label="当前设备编码" width="100" show-overflow-tooltip />
<el-table-column prop="is_canupdate_update" label="操作工是否允许修改报工数量" width="200" show-overflow-tooltip>
<template slot-scope="scope">
{{ dict.label.IS_OR_NOT[scope.row.is_canupdate_update] }}
@@ -354,7 +385,7 @@
{{ dict.label.MPS_BD_ORDERSTATUS[scope.row.workorder_status] }}
</template>
</el-table-column>
<el-table-column prop="is_needmove" label="是否搬运" >
<el-table-column prop="is_needmove" label="是否搬运">
<template slot-scope="scope">
{{ dict.label.IS_OR_NOT[scope.row.is_needmove] }}
</template>
@@ -364,17 +395,17 @@
{{ dict.label.WORKORDER_CREATE_TYPE[scope.row.create_type] }}
</template>
</el-table-column>
<el-table-column prop="is_error" label="是否异常" >
<el-table-column prop="is_error" label="是否异常">
<template slot-scope="scope">
{{ dict.label.IS_OR_NOT[scope.row.is_error] }}
</template>
</el-table-column>
<el-table-column prop="error_info" label="异常信息" show-overflow-tooltip/>
<el-table-column prop="error_info" label="异常信息" show-overflow-tooltip />
<el-table-column prop="remark" label="备注" />
<el-table-column prop="create_name" label="创建人" show-overflow-tooltip/>
<el-table-column prop="create_name" label="创建人" show-overflow-tooltip />
<el-table-column prop="create_time" label="创建时间" show-overflow-tooltip />
<el-table-column prop="update_name" label="修改人" show-overflow-tooltip/>
<el-table-column prop="update_time" label="修改时间" show-overflow-tooltip/>
<el-table-column prop="update_name" label="修改人" show-overflow-tooltip />
<el-table-column prop="update_time" label="修改时间" show-overflow-tooltip />
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
<template slot-scope="scope">
<udOperation
@@ -422,7 +453,7 @@ const defaultForm = {
workorder_code: null,
shift_type_scode: null,
workprocedure_id: null,
product_area: null,
product_area: 'A1',
plan_qty: null,
real_qty: null,
person_real_qty: null,
@@ -455,10 +486,10 @@ export default {
name: 'Produceshiftorder',
components: { AddDialog, pagination, crudOperation, rrOperation, udOperation, MaterDtl, Treeselect, ViewDialog, UploadDialog, ReplaceDeviceDialog },
mixins: [presenter(), header(), form(defaultForm), crud()],
dicts: ['PDM_BI_SHIFTTYPE', 'MPS_BD_ORDERSTATUS', 'WORKORDER_CREATE_TYPE', 'is_used', 'PDM_BI_ORDERTYPE', 'IS_OR_NOT'],
dicts: ['PDM_BI_SHIFTTYPE', 'MPS_BD_ORDERSTATUS', 'WORKORDER_CREATE_TYPE', 'is_used', 'PDM_BI_ORDERTYPE', 'IS_OR_NOT', 'product_area'],
cruds() {
return CRUD({
title: '工单', url: 'api/produceWorkorder', idField: 'produceorder_id', sort: 'produceorder_id,desc',
title: '工单', url: 'api/produceWorkorder', idField: 'workorder_id', sort: 'workorder_id,desc',
optShow: {
add: true,
edit: false,
@@ -468,6 +499,7 @@ export default {
},
query: {
order_status: '-1',
product_area: 'A1',
is_error: '0'
},
crudMethod: { ...crudProduceshiftorder }
@@ -739,7 +771,7 @@ export default {
},
[CRUD.HOOK.beforeToAdd]() {
this.initDataPlan()
},
}
// [CRUD.HOOK.afterToEdit]() {
// const editForm1 = JSON.parse(JSON.stringify(this.form))
// this.getNotWorkDeviceByWorkproceduceId(editForm1.workprocedure_id)

View File

@@ -10,6 +10,23 @@
label-width="90px"
label-suffix=":"
>
<el-form-item label="生产区域">
<el-select
v-model="query.product_area"
clearable
filterable
size="mini"
placeholder="区域类型"
class="filter-item"
@change="crud.toQuery()"
>
<el-option
v-for="item in dict.product_area"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="模糊搜索">
<el-input
v-model="query.name"
@@ -202,6 +219,20 @@
width="540px"
>
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="110px">
<el-form-item label="生产区域" prop="product_area">
<el-select
v-model="form.product_area"
placeholder=""
style="width: 370px"
>
<el-option
v-for="item in dict.product_area"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item v-if="false" label="点位标识" prop="point_id">
<el-input v-model="form.point_id" style="width: 370px;" />
</el-form-item>
@@ -219,32 +250,6 @@
/>
</el-select>
</el-form-item>
<el-form-item label="上一区域" prop="pre_region_code">
<el-select
v-model="form.pre_region_code"
placeholder="请选择"
style="width: 370px;"
>
<el-option
v-for="item in regionList"
:label="item.region_name"
:value="item.region_code"
/>
</el-select>
</el-form-item>
<el-form-item label="下一区域" prop="next_region_code">
<el-select
v-model="form.next_region_code"
placeholder="请选择"
style="width: 370px;"
>
<el-option
v-for="item in regionList"
:label="item.region_name"
:value="item.region_code"
/>
</el-select>
</el-form-item>
<el-form-item label="点位编码" prop="point_code">
<el-input v-model="form.point_code" style="width: 370px;" />
</el-form-item>
@@ -269,9 +274,9 @@
</el-form-item>
<el-form-item label="绑定设备" prop="device_code">
<el-select
v-model="form.device_code"
clearable
filterable
v-model="form.device_code"
placeholder="请选择"
style="width: 370px;"
>
@@ -282,22 +287,6 @@
/>
</el-select>
</el-form-item>
<el-form-item label="点位位置" prop="point_location">
<el-select
v-model="form.point_location"
clearable
size="mini"
placeholder="点位位置"
class="filter-item"
style="width: 370px;"
>
<el-option
v-for="item in dict.point_location"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="锁定类型" prop="lock_type">
<el-select
v-model="form.lock_type"
@@ -331,39 +320,19 @@
<el-form-item v-if="form.point_status !== '1'" label="载具编码" prop="vehicle_code">
<el-input v-model="form.vehicle_code" clearable style="width: 370px;" />
</el-form-item>
<el-form-item label="已放载具类型" prop="vehicle_type">
<el-select v-model="form.vehicle_type" placeholder="请选择" clearable style="width: 370px;">
<el-option
v-for="item in dict.storagevehicle_type"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="可放载具类型" prop="can_vehicle_types">
<el-select v-model="form.can_vehicle_types" multiple placeholder="请选择" style="width: 370px;">
<el-option
v-for="item in dict.storagevehicle_type"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<!-- <el-form-item v-if="form.point_status === '3'" label="库存数" prop="ivt_qty">-->
<!-- <el-input-number :controls="false" class="clear-number-input" v-model="form.ivt_qty" type="number" :min="1" :precision="3" :max="99999" label="库存数" size="mini" />-->
<!-- </el-form-item>-->
<el-form-item v-if="form.point_status === '3'" label="物料来源">
<!-- <el-form-item v-if="form.point_status === '3'" label="库存数" prop="ivt_qty">-->
<!-- <el-input-number :controls="false" class="clear-number-input" v-model="form.ivt_qty" type="number" :min="1" :precision="3" :max="99999" label="库存数" size="mini" />-->
<!-- </el-form-item>-->
<el-form-item v-if="form.point_status === '2'" label="物料来源">
<el-radio-group v-model="choose" size="mini">
<el-radio-button label="物料" />
<el-radio-button label="工单" />
</el-radio-group>
</el-form-item>
<el-form-item v-if="false" label="物料名称" prop="vehicle_code">
<el-input suffix-icon="el-icon-date" v-model="form.material_id" clearable style="width: 370px;" @focus="getMaterial" />
<el-input v-model="form.material_id" suffix-icon="el-icon-date" clearable style="width: 370px;" @focus="getMaterial" />
</el-form-item>
<el-form-item v-if="form.point_status === '3'" label="物料名称" prop="vehicle_code">
<el-form-item v-if="form.point_status === '2'" label="物料名称" prop="vehicle_code">
<el-input v-model="form.material_name" clearable style="width: 370px;" @focus="getMaterial" />
</el-form-item>
<el-form-item label="备注">
@@ -392,11 +361,6 @@
</el-table-column>
<el-table-column prop="point_name" label="点位名称" width="150" sortable show-overflow-tooltip />
<el-table-column prop="region_name" label="区域名称" min-width="120" show-overflow-tooltip />
<el-table-column prop="point_location" label="位置">
<template slot-scope="scope">
{{ scope.row.point_location ? '下' : '上' }}
</template>
</el-table-column>
<el-table-column prop="pre_region_name" label="上一区域" min-width="120" show-overflow-tooltip />
<el-table-column prop="next_region_name" label="下一区域" min-width="120" show-overflow-tooltip />
<el-table-column prop="material_name" label="物料名称" min-width="120" show-overflow-tooltip />
@@ -408,7 +372,7 @@
{{ dict.label.storagevehicle_type[scope.row.vehicle_type] }}
</template>
</el-table-column>
<el-table-column prop="vehicle_code" label="载具编码" min-width="120"/>
<el-table-column prop="vehicle_code" label="载具编码" min-width="120" />
<el-table-column prop="vehicle_qty" label="载具数量" />
<el-table-column prop="remark" label="备注" min-width="100" show-overflow-tooltip />
<el-table-column prop="is_used" label="是否启用">
@@ -459,7 +423,7 @@ const defaultForm = {
point_id: null,
point_code: null,
point_name: null,
product_area: null,
product_area: 'A1',
region_code: null,
pre_region_code: null,
next_region_code: null,
@@ -469,8 +433,6 @@ const defaultForm = {
material_id: null,
material_code: null,
device_code: null,
can_vehicle_type: null,
can_vehicle_types: null,
vehicle_max_qty: null,
vehicle_type: null,
vehicle_code: null,
@@ -499,7 +461,7 @@ const defaultForm = {
}
export default {
name: 'Point',
dicts: ['storagevehicle_type', 'd_lock_type', 'SCH_TASK_TYPE_DTL', 'point_location'],
dicts: ['storagevehicle_type', 'd_lock_type', 'SCH_TASK_TYPE_DTL', 'point_location', 'product_area'],
components: { WorkOrderDialog, MaterialDialog, pagination, crudOperation, rrOperation, udOperation, ViewDialog },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
@@ -514,7 +476,10 @@ export default {
download: false,
reset: true
},
crudMethod: { ...crudPoint }
crudMethod: { ...crudPoint },
query: {
product_area: 'A1'
}
})
},
@@ -546,19 +511,9 @@ export default {
region_code: [
{ required: true, message: '区域类型不能为空', trigger: 'blur' }
],
pre_region_code: [
{ required: true, message: '上一区域类型不能为空', trigger: 'blur' }
],
next_region_code: [
{ required: true, message: '下一区域类型不能为空', trigger: 'blur' }
],
lock_type: [
{ required: true, message: '锁定类型不能为空', trigger: 'blur' }
],
can_vehicle_types: [
{ required: true, message: '载具存放类型不能为空', trigger: 'blur' }
]
}
}
},

View File

@@ -3,17 +3,41 @@
<!--工具栏-->
<div class="head-container">
<div v-if="crud.props.searchToggle">
<!-- 搜索 -->
<label class="el-form-item-label">模糊搜索</label>
<el-input
v-model="query.region_code"
clearable
placeholder="编码、名称"
style="width: 185px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"
/>
<rrOperation :crud="crud" />
<el-form
:inline="true"
class="demo-form-inline"
label-position="right"
label-width="90px"
label-suffix=":"
>
<el-form-item label="生产区域">
<el-select
v-model="query.product_area"
clearable
filterable
size="mini"
placeholder="区域类型"
class="filter-item"
@change="crud.toQuery()"
>
<el-option
v-for="item in dict.product_area"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="编码/名称">
<el-input
v-model="query.region_code"
clearable
placeholder="输入编码或名称"
class="filter-item"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<rrOperation />
</el-form>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
@@ -26,6 +50,20 @@
width="550px"
>
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="100px">
<el-form-item label="生产区域" prop="product_area">
<el-select
v-model="form.product_area"
placeholder=""
style="width: 370px"
>
<el-option
v-for="item in dict.product_area"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="区域编码" prop="region_code">
<el-input v-model="form.region_code" style="width: 370px;" />
</el-form-item>
@@ -56,13 +94,13 @@
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column prop="region_code" label="区域编码" :min-width="flexWidth('region_code',crud.data,'区域编码')"/>
<el-table-column prop="region_code" label="区域编码" :min-width="flexWidth('region_code',crud.data,'区域编码')" />
<el-table-column prop="region_name" label="区域名称" :min-width="flexWidth('region_name',crud.data,'区域名称')" />
<el-table-column prop="product_area" label="生产区域" :min-width="flexWidth('product_area',crud.data,'生产区域')" />
<el-table-column prop="point_type_explain" label="点位类型说明" :min-width="flexWidth('point_type_explain',crud.data,'点位类型说明')" />
<el-table-column prop="point_status_explain" label="点位状态说明" :min-width="flexWidth('point_status_explain',crud.data,'点位状态说明')" />
<el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',crud.data,'备注')"/>
<el-table-column prop="create_name" label="创建人" :min-width="flexWidth('create_name',crud.data,'创建人')"/>
<el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',crud.data,'备注')" />
<el-table-column prop="create_name" label="创建人" :min-width="flexWidth('create_name',crud.data,'创建人')" />
<el-table-column prop="create_time" label="创建时间" :min-width="flexWidth('create_time',crud.data,'创建时间')" />
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
<template slot-scope="scope">
@@ -90,6 +128,7 @@ import pagination from '@crud/Pagination'
const defaultForm = {
region_code: null,
region_name: null,
product_area: 'A1',
point_type_explain: null,
point_status_explain: null,
remark: null,
@@ -102,6 +141,7 @@ const defaultForm = {
}
export default {
name: 'Region',
dicts: ['product_area'],
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
@@ -111,6 +151,9 @@ export default {
idField: 'region_code',
sort: 'region_code,desc',
crudMethod: { ...crudRegion },
query: {
product_area: 'A1'
},
optShow: {
add: true,
edit: false,

View File

@@ -10,6 +10,23 @@
label-width="80px"
label-suffix=":"
>
<el-form-item label="生产区域">
<el-select
v-model="query.product_area"
clearable
filterable
size="mini"
placeholder="区域类型"
class="filter-item"
@change="hand"
>
<el-option
v-for="item in dict.product_area"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="任务号">
<label slot="label">&nbsp;&nbsp;&nbsp;:</label>
<el-input
@@ -117,13 +134,13 @@
<el-table-column v-if="true" prop="material_id" label="物料标识" min-width="150" show-overflow-tooltip />
<el-table-column prop="task_code" label="任务编码" min-width="100" show-overflow-tooltip />
<el-table-column v-if="false" prop="task_type" label="任务类型" />
<el-table-column prop="acs_task_type" label="acs任务类型" min-width="120" show-overflow-tooltip >
<el-table-column prop="acs_task_type" label="acs任务类型" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
{{ dict.label.acs_task_type[scope.row.acs_task_type] }}
{{ dict.label.SCH_TASK_TYPE_DTL[scope.row.acs_task_type] }}
</template>
</el-table-column>
<el-table-column prop="task_name" label="任务描述" min-width="120" show-overflow-tooltip />
<el-table-column prop="finished_type" label="任务完成类型" min-width="100" show-overflow-tooltip >
<el-table-column prop="finished_type" label="任务完成类型" min-width="100" show-overflow-tooltip>
<template slot-scope="scope">
{{ dict.label.task_finished_type[scope.row.finished_type] }}
</template>
@@ -132,7 +149,7 @@
<el-table-column v-if="false" prop="task_status" label="任务状态" />
<el-table-column prop="product_area" label="生产区域" />
<el-table-column prop="task_status_name" label="任务状态" width="95px" :formatter="formatTaskStatusName" />
<el-table-column prop="vehicle_type" label="载具类型" min-width="100" show-overflow-tooltip >
<el-table-column prop="vehicle_type" label="载具类型" min-width="100" show-overflow-tooltip>
<template slot-scope="scope">
{{ dict.label.vehicle_type[scope.row.vehicle_type] }}
</template>
@@ -141,8 +158,8 @@
<el-table-column prop="point1_region_name" label="起点区域" width="120" />
<el-table-column prop="point_code2" label="终点" min-width="100" show-overflow-tooltip />
<el-table-column prop="point2_region_name" label="终点区域" min-width="120" show-overflow-tooltip />
<!-- <el-table-column prop="point_code3" label="等待点" min-width="100" show-overflow-tooltip />-->
<!-- <el-table-column prop="point3_region_name" label="等待点区域" min-width="120" show-overflow-tooltip />-->
<!-- <el-table-column prop="point_code3" label="等待点" min-width="100" show-overflow-tooltip />-->
<!-- <el-table-column prop="point3_region_name" label="等待点区域" min-width="120" show-overflow-tooltip />-->
<el-table-column prop="point_code3" label="点位3" min-width="100" show-overflow-tooltip />
<el-table-column prop="point3_region_name" label="点位3区域" min-width="120" show-overflow-tooltip />
<el-table-column prop="point_code4" label="点位4" min-width="100" show-overflow-tooltip />
@@ -214,7 +231,7 @@ import crudClassstandard from '@/api/wms/basedata/master/classstandard'
export default {
name: 'Task',
dicts: ['acs_task_type', 'vehicle_type', 'task_finished_type'],
dicts: ['SCH_TASK_TYPE_DTL', 'vehicle_type', 'task_finished_type', 'product_area'],
components: {
pagination, crudOperation, rrOperation, Treeselect, udOperation
},
@@ -233,6 +250,7 @@ export default {
next_point_code: '',
task_type: '',
finished_type: '',
product_area: 'A1',
task_status: ''
},
optShow: {