add: 添加组盘管理中生成任务
This commit is contained in:
@@ -141,11 +141,12 @@ public class FabServiceImpl {
|
||||
pcOperationSMTTask.apply(param);
|
||||
break;
|
||||
case "snt":
|
||||
Assert.noNullElements(new Object[]{form.getString("device_code"), form.getString("region_code")}, "参数不能为空!");
|
||||
Assert.noNullElements(new Object[]{form.getString("device_code")}, "参数不能为空!");
|
||||
SendVehicleVo sendVehicleVo = form.toJavaObject(SendVehicleVo.class);
|
||||
SchBasePoint schBasePoint = iSchBasePointService.selectByPointCode(sendVehicleVo.getDevice_code());
|
||||
sendVehicleVo.setRegion_code(schBasePoint.getRegion_code());
|
||||
param.put("device_code", sendVehicleVo.getDevice_code());
|
||||
param.put("region_code", sendVehicleVo.getRegion_code());
|
||||
param.put("region_code", schBasePoint.getRegion_code());
|
||||
param.put("config_code", "PcOperationSNTTask");
|
||||
param.put("vehicle_code", schBasePoint.getVehicle_code());
|
||||
param.put("vehicle_type", schBasePoint.getVehicle_type());
|
||||
|
||||
@@ -80,4 +80,13 @@ public class SchBaseVehiclematerialgroupController {
|
||||
public ResponseEntity<Object> selectByVehicleCode(@RequestBody JSONObject entity){
|
||||
return new ResponseEntity<>(schBaseVehiclematerialgroupService.selectByVehicleCode(entity), HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@PostMapping("/createTask")
|
||||
@Log("根据载具物料信息创建任务")
|
||||
@ApiOperation("根据载具物料信息创建任务")
|
||||
public ResponseEntity<Object> createTask(@RequestBody JSONObject entity){
|
||||
return new ResponseEntity<>(schBaseVehiclematerialgroupService.createTask(entity), HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,4 +87,11 @@ public interface ISchBaseVehiclematerialgroupService extends IService<SchBaseVeh
|
||||
* @return
|
||||
*/
|
||||
List<SchBaseVehiclematerialgroup> selectByVehicleCode(JSONObject entity);
|
||||
|
||||
/**
|
||||
* 根据载具号创建任务
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
Object createTask(JSONObject entity);
|
||||
}
|
||||
|
||||
@@ -16,10 +16,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.enums.GoodsEnum;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.database.material.service.IMdBaseMaterialService;
|
||||
import org.nl.wms.database.material.service.dao.MdBaseMaterial;
|
||||
import org.nl.wms.ext.fab.service.dto.CallMaterVo;
|
||||
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
||||
import org.nl.wms.sch.group.service.dao.mapper.SchBaseVehiclematerialgroupMapper;
|
||||
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
||||
@@ -28,6 +30,7 @@ import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.process_flow.service.ProcessFlowService;
|
||||
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||
import org.nl.wms.sch.task_manage.task.tasks.pcoperation.PcOperationCMTask;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -52,6 +55,10 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
||||
private ProcessFlowService processFlowService;
|
||||
@Autowired
|
||||
private ISchBasePointService pointService;
|
||||
@Autowired
|
||||
private PcOperationCMTask pcOperationCMTask;
|
||||
@Autowired
|
||||
private ISchBasePointService iSchBasePointService;
|
||||
|
||||
@Override
|
||||
public IPage<SchBaseVehiclematerialgroup> queryAll(SchBaseVehiclematerialgroupQuery whereJson, PageQuery page) {
|
||||
@@ -84,6 +91,7 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
||||
item.setHasChildren(true);
|
||||
item.setChildren(schBaseVehiclematerialgroups);
|
||||
}
|
||||
item.setHas_work(true);
|
||||
});
|
||||
return schBaseVehiclematerialgroupIPage;
|
||||
}
|
||||
@@ -181,6 +189,25 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
||||
return schBaseVehiclematerialgroups;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object createTask(JSONObject entity) {
|
||||
Assert.noNullElements(new Object[]{entity.get("point_code2"), entity.get("vehicle_code")},"载具号不能为空!");
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("device_code", entity.get("point_code2"));
|
||||
param.put("config_code", "PcOperationCMTask");
|
||||
param.put("vehicle_code", entity.get("vehicle_code"));
|
||||
param.put("ext_data", entity);
|
||||
pcOperationCMTask.apply(param);
|
||||
iSchBasePointService.update(Wrappers.lambdaUpdate(SchBasePoint.class)
|
||||
.eq(SchBasePoint::getPoint_code, entity.get("point_code2"))
|
||||
.eq(SchBasePoint::getPoint_status, GoodsEnum.OUT_OF_STOCK.getValue())
|
||||
.set(SchBasePoint::getPoint_status, GoodsEnum.IN_STOCK.getValue())
|
||||
.set(SchBasePoint::getIs_lock, true));
|
||||
vehiclematerialgroupMapper.delete(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class)
|
||||
.eq(SchBaseVehiclematerialgroup::getVehicle_code, entity.get("vehicle_code")));
|
||||
return null;
|
||||
}
|
||||
|
||||
private Long getTime(String dateString) {
|
||||
String pattern = "yyyy-MM-dd HH:mm:ss";
|
||||
java.util.Date date = DateUtil.parse(dateString, pattern);
|
||||
|
||||
@@ -261,7 +261,6 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
.eq(SchBasePoint::getIs_used, true));
|
||||
if (CollUtil.isNotEmpty(schBasePoints) && schBasePoints.size() > 0) {
|
||||
SchBasePoint schBasePoint = schBasePoints.get(0);
|
||||
schBasePoint.setVehicle_code(vehicleCode);
|
||||
schBasePoint.setIs_lock(true);
|
||||
update(Wrappers.lambdaUpdate(SchBasePoint.class)
|
||||
.eq(SchBasePoint::getPoint_code, schBasePoint.getPoint_code())
|
||||
@@ -278,10 +277,9 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
.eq(SchBasePoint::getCan_vehicle_type, mdBaseVehicle.getVehicle_type())
|
||||
.eq(SchBasePoint::getIs_used, true)
|
||||
.eq(SchBasePoint::getPoint_status, GoodsEnum.OUT_OF_STOCK.getValue()));
|
||||
schBasePoints1.stream().sorted(Comparator.comparingInt(schBasePoint -> Math.abs(schBasePoint1.getRegion_seq() - schBasePoint.getRegion_seq())));
|
||||
if (CollUtil.isNotEmpty(schBasePoints1) && schBasePoints1.size() > 0) {
|
||||
schBasePoints1.stream().sorted(Comparator.comparingInt(schBasePoint -> Math.abs(schBasePoint1.getRegion_seq() - schBasePoint.getRegion_seq())));
|
||||
SchBasePoint schBasePoint = schBasePoints1.get(0);
|
||||
schBasePoint.setVehicle_code(vehicleCode);
|
||||
schBasePoint.setIs_lock(true);
|
||||
update(Wrappers.lambdaUpdate(SchBasePoint.class)
|
||||
.eq(SchBasePoint::getPoint_code, schBasePoint.getPoint_code())
|
||||
|
||||
@@ -100,6 +100,7 @@ public class SchBaseRegionServiceImpl extends ServiceImpl<SchBaseRegionMapper, S
|
||||
*/
|
||||
SchBaseRegion schBaseRegion = schBaseRegionMapper.selectById(regionId);
|
||||
JSONArray res = new JSONArray();
|
||||
if (ObjectUtil.isEmpty(schBaseRegion)) return res;
|
||||
String pointStatusExplain = schBaseRegion.getPoint_status_explain();
|
||||
if (ObjectUtil.isEmpty(pointStatusExplain)) return res;
|
||||
String[] explain = pointStatusExplain.split(",");
|
||||
@@ -120,6 +121,7 @@ public class SchBaseRegionServiceImpl extends ServiceImpl<SchBaseRegionMapper, S
|
||||
*/
|
||||
SchBaseRegion schBaseRegion = schBaseRegionMapper.selectById(regionId);
|
||||
JSONArray res = new JSONArray();
|
||||
if (ObjectUtil.isEmpty(schBaseRegion)) return res;
|
||||
String pointTypeExplain = schBaseRegion.getPoint_type_explain();
|
||||
if (ObjectUtil.isEmpty(pointTypeExplain)) return res;
|
||||
String[] explain = pointTypeExplain.split(",");
|
||||
|
||||
@@ -132,7 +132,8 @@ public class PcOperationCMTask extends AbstractTask {
|
||||
pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class)
|
||||
.eq(SchBasePoint::getPoint_code, point_code2)
|
||||
.set(SchBasePoint::getIs_lock, false)
|
||||
.set(SchBasePoint::getVehicle_code, taskObj.getVehicle_code()));
|
||||
.set(SchBasePoint::getVehicle_code, taskObj.getVehicle_code())
|
||||
.set(SchBasePoint::getPoint_status, GoodsEnum.IN_STOCK.getValue()));
|
||||
}
|
||||
// 任务完成
|
||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||
|
||||
@@ -132,14 +132,16 @@ public class PcOperationSNTTask extends AbstractTask {
|
||||
if (ObjectUtil.isNotEmpty(schBasePoint)) {
|
||||
PointUtils.updateByIngTaskCode(schBasePoint);
|
||||
pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, startPoint)
|
||||
.set(SchBasePoint::getIs_lock, false));
|
||||
.set(SchBasePoint::getIs_lock, false)
|
||||
.set(SchBasePoint::getVehicle_code,null));
|
||||
}
|
||||
String point_code2 = taskObj.getPoint_code2();
|
||||
SchBasePoint schBasePoint2 = pointService.selectByPointCode(point_code2);
|
||||
if (ObjectUtil.isNotEmpty(schBasePoint2)) {
|
||||
PointUtils.updateByIngTaskCode(schBasePoint2);
|
||||
pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, point_code2)
|
||||
.set(SchBasePoint::getIs_lock, false));
|
||||
.set(SchBasePoint::getIs_lock, false)
|
||||
.set(SchBasePoint::getVehicle_code,taskObj.getVehicle_code()));
|
||||
}
|
||||
// 任务完成
|
||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, 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-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu" :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-input v-model="form.vehicle_code" style="width: 240px;" />
|
||||
@@ -227,6 +227,37 @@
|
||||
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog
|
||||
title="创建任务"
|
||||
:visible.sync="dialogVisible"
|
||||
width="350px"
|
||||
:style="{ 'max-height': '80vh', overflowY: 'auto' }"
|
||||
@close="resetForm"
|
||||
>
|
||||
<el-form ref="taskForm" :model="newTask" width="200px">
|
||||
<el-form-item label="目的地" :rules="[{ required: true, message: '请输入目的地', trigger: 'blur' }]">
|
||||
<el-select
|
||||
v-model="newTask.point_code2"
|
||||
size="mini"
|
||||
placeholder="点位状态"
|
||||
class="filter-item"
|
||||
style="width: 240px;"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="item in pointList"
|
||||
:key="item.point_code"
|
||||
:label="item.point_name"
|
||||
:value="item.point_code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="submitTask">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!--表格渲染-->
|
||||
<el-table
|
||||
ref="table"
|
||||
@@ -245,26 +276,9 @@
|
||||
>
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column v-if="false" prop="group_id" label="组盘编码" :min-width="flexWidth('group_id',crud.data,'组盘编码')" />
|
||||
<el-table-column prop="vehicle_code" label="载具编码" :min-width="flexWidth('vehicle_code',crud.data,'载具编码')" />
|
||||
<!-- <el-table-column prop="child_vehicle_code" label="子载具编码" :min-width="flexWidth('child_vehicle_code',crud.data,'子载具编码')"/>-->
|
||||
<!-- <el-table-column prop="source_vehicle_code" label="来源载具" :min-width="flexWidth('source_vehicle_code',crud.data,'来源载具')" /> -->
|
||||
<el-table-column prop="vehicle_code" label="载具编码" width="100" />
|
||||
<el-table-column prop="region_name" label="下道工序" :min-width="flexWidth('region_name',crud.data,'下道工序')" />
|
||||
<!-- <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="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="order_code" label="工单编码" :min-width="flexWidth('order_code',crud.data,'工单编码')" />
|
||||
<!-- <el-table-column prop="instorage_time" label="入库时间" :min-width="flexWidth('instorage_time',crud.data,'入库时间')" /> -->
|
||||
<!-- <el-table-column prop="group_bind_material_status" label="绑定状态" :min-width="flexWidth('group_bind_material_status',crud.data,'入库时间')">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.group_bind_material_status[scope.row.group_bind_material_status] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="standing_time" label="静置时间(分钟)" :min-width="flexWidth('standing_time',crud.data,'静置时间(分钟)')" /> -->
|
||||
<el-table-column v-if="false" prop="material_name" label="物料名称" show-overflow-tooltip :min-width="flexWidth('material_name',crud.data,'物料数量')" />
|
||||
<el-table-column prop="material_id" label="物料编码" show-overflow-tooltip :min-width="flexWidth('material_id',crud.data,'物料编码')" />
|
||||
<el-table-column prop="material_qty" label="物料数量" show-overflow-tooltip :min-width="flexWidth('material_qty',crud.data,'物料数量')" />
|
||||
@@ -272,31 +286,27 @@
|
||||
<el-table-column prop="due_date" label="交期时间" show-overflow-tooltip :min-width="flexWidth('due_date',crud.data,'交期时间')" />
|
||||
<el-table-column v-if="false" prop="material_spec" label="物料规格" :min-width="flexWidth('material_spec',crud.data,'物料规格')" />
|
||||
<el-table-column prop="theLocation" label="存放点位" :min-width="flexWidth('theLocation',crud.data,'存放点位')" />
|
||||
<!-- <el-table-column prop="material_qty" label="物料数量" :min-width="flexWidth('material_qty',crud.data,'物料数量')" />
|
||||
<el-table-column prop="material_weight" label="物料重量" :min-width="flexWidth('material_weight',crud.data,'物料重量')" />
|
||||
<el-table-column prop="group_number" label="组盘次数" :min-width="flexWidth('group_number',crud.data,'组盘次数')" />
|
||||
<el-table-column prop="task_code" label="任务编码" :min-width="flexWidth('task_code',crud.data,'任务编码')" /> -->
|
||||
<!-- <el-table-column prop="workshop_code" label="车间编码" :min-width="flexWidth('workshop_code',crud.data,'车间编码')"/>-->
|
||||
<!-- <el-table-column prop="group_status" label="组盘状态" :min-width="flexWidth('group_status',crud.data,'组盘状态')">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.group_status[scope.row.group_status] }}
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<!-- <el-table-column prop="is_first_flow_task" label="是否首个流程任务" :min-width="flexWidth('is_first_flow_task',crud.data,'是否首个流程任务')"/>-->
|
||||
<!-- <el-table-column prop="flow_code" label="流程编码" :min-width="flexWidth('flow_code',crud.data,'流程编码')"/>-->
|
||||
<!-- <el-table-column prop="flow_num" label="流程顺序" :min-width="flexWidth('flow_num',crud.data,'流程顺序')"/>-->
|
||||
<!-- <el-table-column prop="move_way" label="移动途径" :min-width="flexWidth('move_way',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-if="false" prop="update_name" label="修改人" :min-width="flexWidth('update_name',crud.data,'修改人')" />
|
||||
<el-table-column v-if="false" prop="update_time" label="修改时间" :min-width="flexWidth('update_time',crud.data,'修改时间')" />
|
||||
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<!-- <template slot-scope="scope">
|
||||
<udOperation
|
||||
:data="scope.row"
|
||||
:permission="permission"
|
||||
/>
|
||||
</template> -->
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
v-if="!!scope.row.has_work && scope.row.theLocation != null"
|
||||
type="text"
|
||||
icon="el-icon-plus"
|
||||
@click="createTask(scope.row)"
|
||||
>
|
||||
创建任务
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -313,7 +323,6 @@ import crudSchBaseVehiclematerialgroup from './schBaseVehiclematerialgroup'
|
||||
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'
|
||||
@@ -356,7 +365,7 @@ const defaultForm = {
|
||||
export default {
|
||||
name: 'VehicleMaterialGroup',
|
||||
dicts: ['group_status', 'group_bind_material_status'],
|
||||
components: { WorkOrderDialog, MaterialDialog, pagination, crudOperation, rrOperation, udOperation },
|
||||
components: { WorkOrderDialog, MaterialDialog, pagination, crudOperation, rrOperation },
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
@@ -388,7 +397,13 @@ export default {
|
||||
regionList: [],
|
||||
choose: '物料',
|
||||
materialDialog: false,
|
||||
workOrderDialog: false
|
||||
workOrderDialog: false,
|
||||
dialogVisible: false,
|
||||
newTask: {
|
||||
point_code2: '',
|
||||
vehicle_code: '',
|
||||
point_code1: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@@ -452,6 +467,33 @@ export default {
|
||||
resolve(res)
|
||||
})
|
||||
}, 100)
|
||||
},
|
||||
createTask(tree) {
|
||||
this.newTask.vehicle_code = tree.vehicle_code
|
||||
this.dialogVisible = true // 打开对话框
|
||||
},
|
||||
resetForm() {
|
||||
// 在对话框关闭时重置表单
|
||||
this.newTask.point_code2 = ''
|
||||
},
|
||||
cleanFrom() {
|
||||
// 在对话框关闭时重置表单
|
||||
this.newTask.point_code2 = ''
|
||||
this.dialogVisible = false
|
||||
},
|
||||
submitTask() {
|
||||
this.$refs.taskForm.validate((valid) => {
|
||||
if (valid) {
|
||||
crudSchBaseVehiclematerialgroup.createTask(this.newTask).then(res => {
|
||||
console.log(res)
|
||||
this.dialogVisible = false // 只在成功后关闭对话框
|
||||
}).catch(error => {
|
||||
console.error('任务创建失败:', error)
|
||||
})
|
||||
} else {
|
||||
console.error('表单验证失败')
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,4 +32,20 @@ export function getGroup(data) {
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del, getGroup }
|
||||
export function selectByVehicle(data) {
|
||||
return request({
|
||||
url: 'api/schBaseVehiclematerialgroup/selectByVehicleCode',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function createTask(data) {
|
||||
return request({
|
||||
url: 'api/schBaseVehiclematerialgroup/createTask',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del, getGroup, selectByVehicle, createTask }
|
||||
|
||||
Reference in New Issue
Block a user