fix: 工单、点位、组盘
This commit is contained in:
@@ -13,58 +13,145 @@
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, 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="800px">
|
||||
<el-form ref="form" style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;" :inline="true" :model="form" :rules="rules" size="mini" label-width="115px" label-suffix=":">
|
||||
<el-form-item label="工单编号">
|
||||
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="820px">
|
||||
<el-form ref="form" style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;" :inline="true" :model="form" :rules="rules" size="mini" label-width="135px" label-suffix=":">
|
||||
<el-form-item label="所属车间">
|
||||
<el-select
|
||||
v-model="form.workshop_code"
|
||||
placeholder="请选择"
|
||||
style="width: 240px;"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in workShopList"
|
||||
:label="item.workshop_name"
|
||||
:value="item.workshop_code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="工单编号" prop="workorder_code">
|
||||
<el-input v-model="form.workorder_code" style="width: 240px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="计划数量">
|
||||
<el-input v-model="form.plan_qty" style="width: 240px;" />
|
||||
<el-form-item label="计划数量" prop="plan_qty">
|
||||
<el-input-number
|
||||
v-model.number="form.plan_qty"
|
||||
:min="0"
|
||||
:max="999"
|
||||
style="width: 240px;"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="实际数量">
|
||||
<el-input v-model="form.real_qty" style="width: 240px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料标识">
|
||||
<el-input v-model="form.material_id" style="width: 240px;" />
|
||||
<el-form-item label="实际数量" prop="real_qty">
|
||||
<el-input-number
|
||||
v-model.number="form.real_qty"
|
||||
:min="0"
|
||||
:max="999"
|
||||
style="width: 240px;"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="载具类型">
|
||||
<el-input v-model="form.vehicle_type" style="width: 240px;" />
|
||||
<el-select
|
||||
v-model="form.vehicle_type"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="请选择"
|
||||
class="filter-item"
|
||||
style="width: 240px;"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.vehicle_type"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="计划开始时间">
|
||||
<el-input v-model="form.planproducestart_date" style="width: 240px;" />
|
||||
<el-form-item label="物料名称" prop="material_name">
|
||||
<el-input v-model="form.material_name" style="width: 240px;" @focus="getMaterial"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="计划结束时间">
|
||||
<el-input v-model="form.planproduceend_date" style="width: 240px;" />
|
||||
<el-form-item label="物料编码">
|
||||
<el-input v-model="form.material_code" style="width: 240px;" disabled/>
|
||||
</el-form-item>
|
||||
<el-form-item label="物料规格">
|
||||
<el-input v-model="form.material_spec" style="width: 240px;" disabled/>
|
||||
</el-form-item>
|
||||
<el-form-item label="计划开始时间" prop="planproducestart_date">
|
||||
<el-date-picker
|
||||
v-model="form.planproducestart_date"
|
||||
type="datetime"
|
||||
style="width: 240px;"
|
||||
placeholder="选择日期时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="计划结束时间" prop="planproduceend_date">
|
||||
<el-date-picker
|
||||
v-model="form.planproduceend_date"
|
||||
type="datetime"
|
||||
style="width: 240px;"
|
||||
placeholder="选择日期时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="实际开始时间">
|
||||
<el-input v-model="form.realproducestart_date" style="width: 240px;" />
|
||||
<el-date-picker
|
||||
v-model="form.realproducestart_date"
|
||||
type="datetime"
|
||||
style="width: 240px;"
|
||||
placeholder="选择日期时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="实际结束时间">
|
||||
<el-input v-model="form.realproduceend_date" style="width: 240px;" />
|
||||
<el-date-picker
|
||||
v-model="form.realproduceend_date"
|
||||
type="datetime"
|
||||
style="width: 240px;"
|
||||
placeholder="选择日期时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="静置时间(分钟)">
|
||||
<el-input v-model="form.standing_time" style="width: 240px;" />
|
||||
<el-form-item label="静置时间(分钟)" prop="standing_time">
|
||||
<el-input-number
|
||||
v-model.number="form.standing_time"
|
||||
:min="0"
|
||||
:max="999"
|
||||
style="width: 240px;"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="点位编码">
|
||||
<el-input v-model="form.point_code" style="width: 240px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="点位名称">
|
||||
<el-input v-model="form.point_name" style="width: 240px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="区域编码">
|
||||
<el-input v-model="form.region_code" style="width: 240px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="区域名称">
|
||||
<el-input v-model="form.region_name" style="width: 240px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="是否自动搬运">
|
||||
<el-input v-model="form.is_needmove" style="width: 240px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="工单类型">
|
||||
<el-form-item label="工单类型" prop="workorder_type">
|
||||
<el-input v-model="form.workorder_type" style="width: 240px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="车间编码">
|
||||
<el-input v-model="form.workshop_code" style="width: 240px;" />
|
||||
<el-form-item label="所属区域" prop="region_code">
|
||||
<el-select v-model="form.region_code" filterable placeholder="请选择" style="width: 240px;" @change="setRegionName">
|
||||
<el-option
|
||||
v-for="item in regionList"
|
||||
:key="item.region_code"
|
||||
:label="item.region_code"
|
||||
:value="item.region_code"
|
||||
>
|
||||
<span style="float: left">{{ item.region_name }}</span>
|
||||
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.region_code }}</span>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="区域名称">
|
||||
<el-input v-model="form.region_name" style="width: 240px;" disabled/>
|
||||
</el-form-item>
|
||||
<el-form-item label="点位编码" prop="point_code">
|
||||
<el-select v-model="form.point_code" filterable placeholder="请选择" style="width: 240px;" @change="setPointName">
|
||||
<el-option
|
||||
v-for="item in pointList"
|
||||
:key="item.point_code"
|
||||
:label="item.point_code"
|
||||
:value="item.point_code"
|
||||
>
|
||||
<span style="float: left">{{ item.point_name }}</span>
|
||||
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.point_code }}</span>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="点位名称">
|
||||
<el-input v-model="form.point_name" style="width: 240px;" disabled/>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否自动搬运" prop="is_needmove">
|
||||
<el-radio-group v-model="form.is_needmove" style="width: 240px">
|
||||
<el-radio :label="true">是</el-radio>
|
||||
<el-radio :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
@@ -91,7 +178,11 @@
|
||||
<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="workorder_status" label="工单状态" :min-width="flexWidth('workorder_status',crud.data,'工单状态')"/>
|
||||
<el-table-column prop="is_needmove" label="是否自动搬运" :min-width="flexWidth('is_needmove',crud.data,'是否自动搬运')"/>
|
||||
<el-table-column prop="is_needmove" label="是否自动搬运" :min-width="flexWidth('is_needmove',crud.data,'是否自动搬运')">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.is_needmove?'是':'否'}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="workorder_type" label="工单类型" :min-width="flexWidth('workorder_type',crud.data,'工单类型')"/>
|
||||
<el-table-column prop="passback_status" label="回传MES状态" :min-width="flexWidth('passback_status',crud.data,'回传MES状态')"/>
|
||||
<el-table-column prop="workshop_code" label="车间编码" :min-width="flexWidth('workshop_code',crud.data,'车间编码')"/>
|
||||
@@ -111,16 +202,22 @@
|
||||
<!--分页组件-->
|
||||
<pagination />
|
||||
</div>
|
||||
<MaterialDialog :dialog-show.sync="materialDialog" @tableChanged="tableChanged"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import crudPdmBdWorkorder from './pdmBdWorkorder'
|
||||
import crudSchBaseRegion from '@/views/wms/sch/region/schBaseRegion'
|
||||
import crudSchBasePoint from '@/views/wms/sch/point/schBasePoint'
|
||||
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'
|
||||
import crudMdBaseWorkShop from '@/views/wms/basedata/workshop/mdBaseWorkshop'
|
||||
import MaterialDialog from '@/views/wms/sch/group/MaterialDialog.vue'
|
||||
import item from '@/layout/components/Sidebar/Item.vue'
|
||||
|
||||
const defaultForm = {
|
||||
workorder_id: null,
|
||||
@@ -139,22 +236,17 @@ const defaultForm = {
|
||||
region_code: null,
|
||||
region_name: null,
|
||||
workorder_status: null,
|
||||
is_needmove: null,
|
||||
is_needmove: true,
|
||||
workorder_type: null,
|
||||
passback_status: null,
|
||||
workshop_code: null,
|
||||
ext_id: null,
|
||||
is_delete: null,
|
||||
create_id: null,
|
||||
create_name: null,
|
||||
create_time: null,
|
||||
update_id: null,
|
||||
update_name: null,
|
||||
update_time: null
|
||||
is_delete: false
|
||||
}
|
||||
export default {
|
||||
name: 'PdmBdWorkorder',
|
||||
components: { pagination, crudOperation, rrOperation, udOperation },
|
||||
dicts: ['vehicle_type'],
|
||||
components: { MaterialDialog, pagination, crudOperation, rrOperation, udOperation },
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
@@ -165,22 +257,104 @@ export default {
|
||||
crudMethod: { ...crudPdmBdWorkorder }
|
||||
})
|
||||
},
|
||||
created() {
|
||||
this.getWorkShopList()
|
||||
this.getRegionList()
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
permission: {
|
||||
},
|
||||
rules: {
|
||||
workorder_code: [
|
||||
{ required: true, message: '工单编码不能为空', trigger: 'blur' }
|
||||
],
|
||||
plan_qty: [
|
||||
{ required: true, message: '计划数量不能为空', trigger: 'blur' }
|
||||
],
|
||||
real_qty: [
|
||||
{ required: true, message: '实际数量不能为空', trigger: 'blur' }
|
||||
],
|
||||
planproducestart_date: [
|
||||
{ required: true, message: '计划开始不能为空', trigger: 'change' }
|
||||
],
|
||||
planproduceend_date: [
|
||||
{ required: true, message: '计划结束不能为空', trigger: 'change' }
|
||||
],
|
||||
standing_time: [
|
||||
{ required: true, message: '静置时间不能为空', trigger: 'change' }
|
||||
],
|
||||
point_code: [
|
||||
{ required: true, message: '点位编码不能为空', trigger: 'change' }
|
||||
],
|
||||
region_code: [
|
||||
{ required: true, message: '区域编码不能为空', trigger: 'change' }
|
||||
],
|
||||
workorder_type: [
|
||||
{ required: true, message: '工单类型不能为空', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
queryTypeOptions: [
|
||||
{ key: 'workorder_code', display_name: '工单编号' },
|
||||
{ key: 'point_code', display_name: '点位编码' }
|
||||
]
|
||||
],
|
||||
workShopList: [],
|
||||
regionList: [],
|
||||
pointList: [],
|
||||
regionCodeParam: null,
|
||||
materialDialog: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
item() {
|
||||
return item
|
||||
},
|
||||
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
||||
[CRUD.HOOK.beforeRefresh]() {
|
||||
return true
|
||||
},
|
||||
getWorkShopList() { // 获取车间列表
|
||||
crudMdBaseWorkShop.getWorkShopList().then(res => {
|
||||
this.workShopList = res
|
||||
})
|
||||
},
|
||||
getRegionList() { // 获取区域列表
|
||||
const param = {
|
||||
is_has_workder: true
|
||||
}
|
||||
crudSchBaseRegion.getRegionList(param).then(res => {
|
||||
this.regionList = res
|
||||
})
|
||||
},
|
||||
getPointList() { // 获取点位列表
|
||||
if (this.regionCodeParam) {
|
||||
const param = {
|
||||
region_code: this.regionCodeParam
|
||||
}
|
||||
crudSchBasePoint.getPointList(param).then(res => {
|
||||
this.pointList = res
|
||||
this.regionCodeParam = null
|
||||
})
|
||||
}
|
||||
},
|
||||
getMaterial() {
|
||||
this.materialDialog = true
|
||||
},
|
||||
tableChanged(row) {
|
||||
this.form.material_name = row.material_name
|
||||
this.form.material_id = row.material_id
|
||||
this.form.material_spec = row.material_spec
|
||||
this.form.material_code = row.material_code
|
||||
},
|
||||
setRegionName(data) {
|
||||
this.regionCodeParam = data
|
||||
var region = this.regionList.find(item => item.region_code === data)
|
||||
this.form.region_name = region.region_name
|
||||
this.getPointList()
|
||||
},
|
||||
setPointName(data) {
|
||||
var point = this.pointList.find(item => item.point_code === data)
|
||||
this.form.point_name = point.point_name
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -168,7 +168,11 @@
|
||||
<el-table-column prop="point_code" label="点位编码" :min-width="flexWidth('point_code',crud.data,'点位编码')" />
|
||||
<el-table-column prop="point_name" label="点位名称" :min-width="flexWidth('point_name',crud.data,'点位名称')" />
|
||||
<el-table-column prop="region_name" label="所属区域" :min-width="flexWidth('region_name',crud.data,'所属区域')" />
|
||||
<el-table-column prop="is_full" label="是否满托" :min-width="flexWidth('is_full',crud.data,'是否满托')" />
|
||||
<el-table-column prop="is_full" label="是否满托" :min-width="flexWidth('is_full',crud.data,'是否满托')">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.is_full?'是':'否'}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="pcsn" label="批次" :min-width="flexWidth('pcsn',crud.data,'批次')" />
|
||||
<el-table-column prop="workorder_code" label="工单编码" :min-width="flexWidth('workorder_code',crud.data,'工单编码')" />
|
||||
<el-table-column prop="instorage_time" label="入库时间" :min-width="flexWidth('instorage_time',crud.data,'入库时间')" />
|
||||
@@ -243,19 +247,13 @@ const defaultForm = {
|
||||
table_fk: null,
|
||||
table_fk_id: null,
|
||||
buss_move_id: null,
|
||||
is_first_flow_task: null,
|
||||
is_first_flow_task: true,
|
||||
flow_code: null,
|
||||
flow_num: null,
|
||||
before_task_code: null,
|
||||
next_task_code: null,
|
||||
remark: null,
|
||||
is_delete: null,
|
||||
create_id: null,
|
||||
create_name: null,
|
||||
create_time: null,
|
||||
update_id: null,
|
||||
update_name: null,
|
||||
update_time: null
|
||||
is_delete: false
|
||||
}
|
||||
export default {
|
||||
name: 'VehicleMaterialGroup',
|
||||
|
||||
@@ -437,7 +437,6 @@ export default {
|
||||
},
|
||||
getPointStatusList(id, flag) {
|
||||
crudSchBaseRegion.getPointStatusSelectById(id).then(res => {
|
||||
console.log('1:', res)
|
||||
if (flag === 1) {
|
||||
this.pointStatusList = res
|
||||
} else {
|
||||
@@ -447,7 +446,6 @@ export default {
|
||||
},
|
||||
getPointTypeList(id, flag) {
|
||||
crudSchBaseRegion.getPointTypeSelectById(id).then(res => {
|
||||
console.log('2:', res)
|
||||
if (flag === 1) {
|
||||
this.pointTypesList = res
|
||||
} else {
|
||||
@@ -456,7 +454,6 @@ export default {
|
||||
})
|
||||
},
|
||||
changeUsed(data, flag) { // 更改启用状态
|
||||
console.log('qqqqqqqqq')
|
||||
const param = {}
|
||||
param.data = data
|
||||
param.used = flag
|
||||
|
||||
@@ -32,4 +32,12 @@ export function changeUsed(data) {
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del, changeUsed }
|
||||
export function getPointList(data) {
|
||||
return request({
|
||||
url: 'api/schBasePoint/getPointList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del, changeUsed, getPointList }
|
||||
|
||||
@@ -86,19 +86,10 @@
|
||||
<el-input v-model="form.point_status_explain" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="是否有工单">
|
||||
<el-select
|
||||
v-model="form.is_has_workder"
|
||||
size="mini"
|
||||
placeholder="是否有工单"
|
||||
class="filter-item"
|
||||
style="width: 370px;"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.TrueOrFalse"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
<el-radio-group v-model="form.is_has_workder" style="width: 240px">
|
||||
<el-radio :label="true">是</el-radio>
|
||||
<el-radio :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="description">
|
||||
<el-input v-model="form.remark" style="width: 380px;" rows="2" type="textarea" />
|
||||
@@ -157,14 +148,13 @@ const defaultForm = {
|
||||
region_name: null,
|
||||
point_type_explain: null,
|
||||
point_status_explain: null,
|
||||
is_has_workder: 'true',
|
||||
is_has_workder: true,
|
||||
workshop_code: null,
|
||||
order_seq: 0,
|
||||
remark: null
|
||||
}
|
||||
export default {
|
||||
name: 'Region',
|
||||
dicts: ['TrueOrFalse'],
|
||||
components: { pagination, crudOperation, rrOperation, udOperation },
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
cruds() {
|
||||
@@ -193,9 +183,6 @@ export default {
|
||||
[CRUD.HOOK.beforeRefresh]() {
|
||||
return true
|
||||
},
|
||||
[CRUD.HOOK.beforeToCU]() {
|
||||
this.form.is_has_workder = this.form.is_has_workder.toString()
|
||||
},
|
||||
hand(value) {
|
||||
this.crud.toQuery()
|
||||
},
|
||||
|
||||
@@ -24,10 +24,11 @@ export function edit(data) {
|
||||
})
|
||||
}
|
||||
|
||||
export function getRegionList() {
|
||||
export function getRegionList(data) {
|
||||
return request({
|
||||
url: 'api/schBaseRegion/getRegionList',
|
||||
method: 'get'
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -42,6 +42,19 @@
|
||||
<!--表单组件-->
|
||||
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="820px">
|
||||
<el-form ref="form" style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;" :inline="true" :model="form" :rules="rules" size="mini" label-width="135px" label-suffix=":">
|
||||
<el-form-item label="所属车间">
|
||||
<el-select
|
||||
v-model="form.workshop_code"
|
||||
placeholder="请选择"
|
||||
style="width: 240px;"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in workShopList"
|
||||
:label="item.workshop_name"
|
||||
:value="item.workshop_code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="配置编码" prop="config_code">
|
||||
<el-input v-model="form.config_code" style="width: 240px;" />
|
||||
</el-form-item>
|
||||
|
||||
Reference in New Issue
Block a user