工序维护、工单管理、区域管理、点位管理、任务管理等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

@@ -136,19 +136,9 @@ public class WorkProcedureServiceImpl implements WorkProcedureService {
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteAll(Long[] ids) {
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
WQLObject wo = WQLObject.getWQLObject("pdm_bi_workProcedure");
for (Long workProcedure_id : ids) {
JSONObject param = new JSONObject();
param.put("workprocedure_id", String.valueOf(workProcedure_id));
param.put("is_delete", "1");
param.put("update_optid", currentUserId);
param.put("update_optname", nickName);
param.put("update_time", DateUtil.now());
wo.delete(param);
wo.delete("workProcedure_id = '" + workProcedure_id + "'");
}
}

View File

@@ -68,6 +68,7 @@ public class ProduceWorkorderServiceImpl implements ProduceWorkorderService {
String parent_id = MapUtil.getStr(whereJson, "product_series");
String sale_id = MapUtil.getStr(whereJson, "sale_id");
String is_error = MapUtil.getStr(whereJson, "is_error");
String product_area = MapUtil.getStr(whereJson, "product_area");
String product_series = "";
JSONObject map = new JSONObject();
map.put("flag", "1");
@@ -75,6 +76,7 @@ public class ProduceWorkorderServiceImpl implements ProduceWorkorderService {
map.put("shift_type_scode", shift_type_scode);
map.put("begin_time", begin_time);
map.put("end_time", end_time);
map.put("product_area", product_area);
if (StrUtil.isNotEmpty(order_status)) {
order_status = order_status.replace("[\"", "").replace("\"]", "").replace("\"", "");
}

View File

@@ -20,6 +20,7 @@
输入.workprocedure_code TYPEAS s_string
输入.order_status TYPEAS s_string
输入.shift_type_scode TYPEAS s_string
输入.product_area TYPEAS s_string
输入.begin_time TYPEAS s_string
输入.end_time TYPEAS s_string
输入.produceorder_code TYPEAS s_string
@@ -83,6 +84,9 @@
OPTION 输入.is_error <> ""
ShiftOrder.is_error = 输入.is_error
ENDOPTION
OPTION 输入.product_area <> ""
ShiftOrder.product_area = 输入.product_area
ENDOPTION
OPTION 输入.product_series <> ""
material.product_series in 输入.product_series
ENDOPTION

View File

@@ -140,7 +140,7 @@ public class DeviceServiceImpl implements DeviceService {
@Override
public JSONArray getWorkprocedure() {
WQLObject wo = WQLObject.getWQLObject("pdm_bi_workprocedure");
final JSONArray resultJSONArray = wo.query("is_delete = '0'").getResultJSONArray(0);
final JSONArray resultJSONArray = wo.query("is_used = '0'").getResultJSONArray(0);
return resultJSONArray;
}

View File

@@ -4,13 +4,13 @@ package org.nl.wms.sch.manage;
* Task状态:00生成 ,01下发02、执行中03、完成
*/
public enum TaskStatusEnum {
CREATED("01", "生成"),
SURE_START("02", "确定起点"),
SURE_END("03", "确定终点"),
START_AND_POINT("04", "起点终点确认"),
ISSUE("05", "下发"),
EXECUTING("06", "执行中"),
FINISHED("07", "完成");
CREATED("1", "生成"),
SURE_START("2", "确定起点"),
SURE_END("3", "确定终点"),
START_AND_POINT("4", "起点终点确认"),
ISSUE("5", "下发"),
EXECUTING("6", "执行中"),
FINISHED("7", "完成");
private String name;
private String code;

View File

@@ -55,14 +55,12 @@ public class PointServiceImpl implements PointService {
map.put("col_num", whereJson.get("col_num"));
map.put("layer_num", whereJson.get("layer_num"));
map.put("name", whereJson.get("name"));
map.put("product_area", whereJson.get("product_area"));
JSONObject json = WQL.getWO("QSCH_BASE_POINT").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "point_code asc");
JSONArray content = json.getJSONArray("content");
JSONArray res = new JSONArray();
for (int i = 0; i < content.size(); i++) {
JSONObject object = content.getJSONObject(i);
// 可以存放的载具类型
String[] can_vehicle_types = object.getString("can_vehicle_type").split(",");
object.put("can_vehicle_types", can_vehicle_types);
String region_code = object.getString("region_code");
String point_status = object.getString("point_status");
String point_type = object.getString("point_type");
@@ -133,14 +131,8 @@ public class PointServiceImpl implements PointService {
if (ObjectUtil.isNotEmpty(byCode)) {
throw new BadRequestException("存在相同的点位编码");
}
String can_vehicle_type = String.join(",", dto.getCan_vehicle_types());
dto.setCan_vehicle_type(can_vehicle_type);
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
dto.setPoint_id(IdUtil.getSnowflake(1, 1).nextIdStr());
dto.setCreate_id(currentUserId);
dto.setCreate_name(nickName);
@@ -168,9 +160,6 @@ public class PointServiceImpl implements PointService {
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String can_vehicle_type = String.join(",", dto.getCan_vehicle_types());
dto.setCan_vehicle_type(can_vehicle_type);
String now = DateUtil.now();
dto.setUpdate_time(now);
dto.setUpdate_id(currentUserId);
@@ -182,9 +171,9 @@ public class PointServiceImpl implements PointService {
dto.setVehicle_type("");
dto.setVehicle_code("");
dto.setVehicle_qty(0);
} else if (pointStatus.equals("2")) { // 空载具
} else if (pointStatus.equals("3")) { // 空载具
dto.setMaterial_id(null);
} else if (pointStatus.equals("3")) { // 有料
} else if (pointStatus.equals("2")) { // 有料
if (ObjectUtil.isEmpty(dto.getMaterial_id())) throw new BadRequestException("物料不能为空");
JSONObject materialObj = materialBaseTab.query("material_id = '" + dto.getMaterial_id() + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(materialObj)) throw new BadRequestException("未找到该物料");

View File

@@ -36,10 +36,12 @@ public class RegionServiceImpl implements RegionService {
@Override
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
String region_code = MapUtil.getStr(whereJson, "region_code");
String product_area = MapUtil.getStr(whereJson, "product_area");
HashMap<String, String> map = new HashMap<>();
map.put("flag", "1");
if (ObjectUtil.isNotEmpty(region_code)) map.put("region_code","%" + region_code + "%");
if (ObjectUtil.isNotEmpty(product_area)) map.put("product_area", product_area);
JSONObject json = WQL.getWO("QSCH_REGION_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "region.region_code ASC");
return json;

View File

@@ -51,6 +51,7 @@ public class TaskServiceImpl implements TaskService {
JSONObject whereJson = JSONObject.parseObject(JSON.toJSONString(form));
String task_status = whereJson.getString("task_status");
map.put("product_area", whereJson.getString("product_area"));
if (StrUtil.isNotEmpty(task_status)) {
task_status = task_status.replace("[\"", "").replace("\"]", "").replace("\"", "");
}

View File

@@ -19,6 +19,7 @@
输入.name TYPEAS s_string
输入.point_type TYPEAS s_string
输入.point_status TYPEAS s_string
输入.product_area TYPEAS s_string
输入.block_num TYPEAS s_string
输入.row_num TYPEAS s_string
输入.col_num TYPEAS s_string
@@ -78,6 +79,9 @@
OPTION 输入.lock_type <> ""
point.lock_type = 输入.lock_type
ENDOPTION
OPTION 输入.product_area <> ""
point.product_area = 输入.product_area
ENDOPTION
OPTION 输入.point_status <> ""
point.point_status = 输入.point_status
ENDOPTION

View File

@@ -15,6 +15,7 @@
#################################################
输入.flag TYPEAS s_string
输入.region_code TYPEAS s_string
输入.product_area TYPEAS s_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
@@ -46,12 +47,13 @@
SCH_BASE_Region region
WHERE
1=1
OPTION 输入.region_code <> ""
(region.region_code like 输入.region_code or
region.region_name like 输入.region_code)
OPTION 输入.product_area <> ""
region.product_area = 输入.product_area
ENDOPTION
OPTION 输入.region_code <> ""
(region.region_code like 输入.region_code or
region.region_name like 输入.region_code)
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF

View File

@@ -14,12 +14,13 @@
## 表字段对应输入参数
#################################################
输入.flag TYPEAS s_string
输入.task_status TYPEAS s_string
输入.task_status TYPEAS s_string
输入.finished_type TYPEAS s_string
输入.task_type TYPEAS s_string
输入.point_code1 TYPEAS s_string
输入.point_code1 TYPEAS s_string
输入.point_code2 TYPEAS s_string
输入.task_code TYPEAS s_string
输入.product_area TYPEAS s_string
输入.vehicle_code TYPEAS s_string
输入.begin_time TYPEAS s_string
输入.end_time TYPEAS s_string
@@ -76,7 +77,7 @@
WHERE
task.is_delete = '0'
OPTION 输入.task_type <> ""
task.task_type = 输入.task_type
task.task_type = ( select md2.class_code from md_pb_classstandard md2 where md2.class_id = 输入.task_type )
ENDOPTION
OPTION 输入.finished_type <> ""
task.finished_type = 输入.finished_type
@@ -87,6 +88,9 @@
OPTION 输入.end_time <> ""
task.create_time <= 输入.end_time
ENDOPTION
OPTION 输入.product_area <> ""
task.product_area = 输入.product_area
ENDOPTION
OPTION 输入.unFinish <> ""
task.task_status <> '7'
ENDOPTION

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: {