fix: 工单、点位、组盘
This commit is contained in:
@@ -8,13 +8,13 @@ import org.nl.common.domain.query.PageQuery;
|
|||||||
import org.nl.common.logging.annotation.Log;
|
import org.nl.common.logging.annotation.Log;
|
||||||
import org.nl.wms.pdm.service.IPdmBdWorkorderService;
|
import org.nl.wms.pdm.service.IPdmBdWorkorderService;
|
||||||
import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
|
import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
|
||||||
|
import org.nl.wms.pdm.service.dto.PdmBdWorkorderQuery;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
/**
|
/**
|
||||||
* @author lyd
|
* @author lyd
|
||||||
@@ -33,8 +33,8 @@ public class PdmBdWorkorderController {
|
|||||||
@Log("查询工单管理")
|
@Log("查询工单管理")
|
||||||
@ApiOperation("查询工单管理")
|
@ApiOperation("查询工单管理")
|
||||||
//@SaCheckPermission("@el.check('pdmBdWorkorder:list')")
|
//@SaCheckPermission("@el.check('pdmBdWorkorder:list')")
|
||||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, PageQuery page){
|
public ResponseEntity<Object> query(PdmBdWorkorderQuery query, PageQuery page){
|
||||||
return new ResponseEntity<>(TableDataInfo.build(pdmBdWorkorderService.queryAll(whereJson,page)),HttpStatus.OK);
|
return new ResponseEntity<>(TableDataInfo.build(pdmBdWorkorderService.queryAll(query,page)),HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping
|
@PostMapping
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
package org.nl.wms.pdm.service;
|
package org.nl.wms.pdm.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import org.nl.common.domain.query.PageQuery;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import org.nl.common.domain.query.PageQuery;
|
||||||
import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
|
import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
|
||||||
|
import org.nl.wms.pdm.service.dto.PdmBdWorkorderQuery;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -21,7 +21,7 @@ public interface IPdmBdWorkorderService extends IService<PdmBdWorkorder> {
|
|||||||
* @param pageable 分页参数
|
* @param pageable 分页参数
|
||||||
* @return IPage<PdmBdWorkorder>
|
* @return IPage<PdmBdWorkorder>
|
||||||
*/
|
*/
|
||||||
IPage<PdmBdWorkorder> queryAll(Map whereJson, PageQuery pageable);
|
IPage<PdmBdWorkorder> queryAll(PdmBdWorkorderQuery whereJson, PageQuery pageable);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建
|
* 创建
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ public class PdmBdWorkorder implements Serializable {
|
|||||||
private String workorder_status;
|
private String workorder_status;
|
||||||
|
|
||||||
@ApiModelProperty(value = "是否需要AGV搬运")
|
@ApiModelProperty(value = "是否需要AGV搬运")
|
||||||
private String is_needmove;
|
private Boolean is_needmove;
|
||||||
|
|
||||||
@ApiModelProperty(value = "工单类型")
|
@ApiModelProperty(value = "工单类型")
|
||||||
private String workorder_type;
|
private String workorder_type;
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package org.nl.wms.pdm.service.dao.mapper;
|
|||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
|
import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
|
||||||
|
import org.nl.wms.pdm.service.dto.PdmBdWorkorderQuery;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author lyd
|
* @author lyd
|
||||||
@@ -10,5 +11,5 @@ import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
|
|||||||
**/
|
**/
|
||||||
public interface PdmBdWorkorderMapper extends BaseMapper<PdmBdWorkorder> {
|
public interface PdmBdWorkorderMapper extends BaseMapper<PdmBdWorkorder> {
|
||||||
|
|
||||||
IPage<PdmBdWorkorder> selectPageLeftJoin(IPage<PdmBdWorkorder> pages, String workorderCode, String pointCode);
|
IPage<PdmBdWorkorder> selectPageLeftJoin(IPage<PdmBdWorkorder> pages, PdmBdWorkorderQuery query);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,11 +9,11 @@
|
|||||||
FROM pdm_bd_workorder wo
|
FROM pdm_bd_workorder wo
|
||||||
LEFT JOIN md_base_material ma ON ma.material_id = wo.material_id
|
LEFT JOIN md_base_material ma ON ma.material_id = wo.material_id
|
||||||
WHERE 1 = 1
|
WHERE 1 = 1
|
||||||
<if test="workorderCode != null">
|
<if test="query.workorder_code != null and query.workorder_code != ''">
|
||||||
AND wo.workorder_code like CONCAT('%', #{workorderCode}, '%')
|
AND wo.workorder_code LIKE CONCAT('%', #{query.workorder_code}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="pointCode != null">
|
<if test="query.point_code != null and query.point_code != ''">
|
||||||
AND wo.point_code like CONCAT('%', #{pointCode}, '%')
|
AND wo.point_code LIKE CONCAT('%', #{query.point_code}, '%')
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -1,12 +1,16 @@
|
|||||||
package org.nl.wms.pdm.service.dto;
|
package org.nl.wms.pdm.service.dto;
|
||||||
|
|
||||||
import org.nl.common.domain.query.BaseQuery;
|
import lombok.Data;
|
||||||
import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author lyd
|
* @author lyd
|
||||||
* @date 2023-05-05
|
* @date 2023-05-05
|
||||||
**/
|
**/
|
||||||
public class PdmBdWorkorderQuery extends BaseQuery<PdmBdWorkorder> {
|
@Data
|
||||||
|
public class PdmBdWorkorderQuery implements Serializable {
|
||||||
|
private String workorder_code;
|
||||||
|
private String point_code;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,9 +2,6 @@ package org.nl.wms.pdm.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@@ -13,12 +10,12 @@ import org.nl.common.domain.query.PageQuery;
|
|||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.wms.pdm.service.IPdmBdWorkorderService;
|
import org.nl.wms.pdm.service.IPdmBdWorkorderService;
|
||||||
import org.nl.wms.pdm.service.dao.mapper.PdmBdWorkorderMapper;
|
|
||||||
import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
|
import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
|
||||||
|
import org.nl.wms.pdm.service.dao.mapper.PdmBdWorkorderMapper;
|
||||||
|
import org.nl.wms.pdm.service.dto.PdmBdWorkorderQuery;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -34,11 +31,11 @@ public class PdmBdWorkorderServiceImpl extends ServiceImpl<PdmBdWorkorderMapper,
|
|||||||
private PdmBdWorkorderMapper pdmBdWorkorderMapper;
|
private PdmBdWorkorderMapper pdmBdWorkorderMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<PdmBdWorkorder> queryAll(Map whereJson, PageQuery page){
|
public IPage<PdmBdWorkorder> queryAll(PdmBdWorkorderQuery query, PageQuery page){
|
||||||
String workorder_code = ObjectUtil.isNotEmpty(whereJson.get("workorder_code")) ? whereJson.get("workorder_code").toString() : null;
|
// String workorder_code = ObjectUtil.isNotEmpty(whereJson.get("workorder_code")) ? whereJson.get("workorder_code").toString() : null;
|
||||||
String point_code = ObjectUtil.isNotEmpty(whereJson.get("point_code")) ? whereJson.get("point_code").toString() : null;
|
// String point_code = ObjectUtil.isNotEmpty(whereJson.get("point_code")) ? whereJson.get("point_code").toString() : null;
|
||||||
IPage<PdmBdWorkorder> pages = new Page<>(page.getPage() + 1, page.getSize());
|
IPage<PdmBdWorkorder> pages = new Page<>(page.getPage() + 1, page.getSize());
|
||||||
pages = pdmBdWorkorderMapper.selectPageLeftJoin(pages, workorder_code, point_code);
|
pages = pdmBdWorkorderMapper.selectPageLeftJoin(pages, query);
|
||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -72,4 +72,12 @@ public class SchBasePointController {
|
|||||||
schBasePointService.changeUsed(jsonObject);
|
schBasePointService.changeUsed(jsonObject);
|
||||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/getPointList")
|
||||||
|
@Log("获取区域下拉框")
|
||||||
|
@ApiOperation("获取区域下拉框")
|
||||||
|
//@SaCheckPermission("@el.check('schBaseRegion:list')")
|
||||||
|
public ResponseEntity<Object> getPointList(@RequestBody(required = false) SchBasePoint region){
|
||||||
|
return new ResponseEntity<>(schBasePointService.getPointList(region),HttpStatus.OK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import org.nl.common.domain.query.PageQuery;
|
|||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@@ -47,4 +48,6 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
|
|||||||
* @param jsonObject
|
* @param jsonObject
|
||||||
*/
|
*/
|
||||||
void changeUsed(JSONObject jsonObject);
|
void changeUsed(JSONObject jsonObject);
|
||||||
|
|
||||||
|
List<SchBasePoint> getPointList(SchBasePoint region);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -145,4 +145,12 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SchBasePoint> getPointList(SchBasePoint region) {
|
||||||
|
if (ObjectUtil.isEmpty(region)) return this.list();
|
||||||
|
return pointMapper.selectList(new LambdaQueryWrapper<SchBasePoint>()
|
||||||
|
.eq(SchBasePoint::getRegion_code, region.getRegion_code())
|
||||||
|
.eq(SchBasePoint::getIs_has_workder, true));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,12 +64,12 @@ public class SchBaseRegionController {
|
|||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/getRegionList")
|
@PostMapping("/getRegionList")
|
||||||
@Log("获取区域下拉框")
|
@Log("获取区域下拉框")
|
||||||
@ApiOperation("获取区域下拉框")
|
@ApiOperation("获取区域下拉框")
|
||||||
//@SaCheckPermission("@el.check('schBaseRegion:list')")
|
//@SaCheckPermission("@el.check('schBaseRegion:list')")
|
||||||
public ResponseEntity<Object> getRegionList(){
|
public ResponseEntity<Object> getRegionList(@RequestBody(required = false) SchBaseRegion region){
|
||||||
return new ResponseEntity<>(regionService.getRegionList(),HttpStatus.OK);
|
return new ResponseEntity<>(regionService.getRegionList(region),HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/getPointStatusSelectById")
|
@PostMapping("/getPointStatusSelectById")
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ public interface ISchBaseRegionService extends IService<SchBaseRegion> {
|
|||||||
* 区域下拉框
|
* 区域下拉框
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<SchBaseRegion> getRegionList();
|
List<SchBaseRegion> getRegionList(SchBaseRegion region);
|
||||||
|
|
||||||
JSONArray getPointStatusSelectById(String regionId);
|
JSONArray getPointStatusSelectById(String regionId);
|
||||||
|
|
||||||
|
|||||||
@@ -87,8 +87,9 @@ public class SchBaseRegionServiceImpl extends ServiceImpl<SchBaseRegionMapper, S
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SchBaseRegion> getRegionList() {
|
public List<SchBaseRegion> getRegionList(SchBaseRegion region) {
|
||||||
return this.list();
|
return schBaseRegionMapper.selectList(new LambdaQueryWrapper<SchBaseRegion>()
|
||||||
|
.eq(ObjectUtil.isNotEmpty(region), SchBaseRegion::getIs_has_workder, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -13,58 +13,145 @@
|
|||||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||||
<crudOperation :permission="permission" />
|
<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 > 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="115px" label-suffix=":">
|
<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-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-input v-model="form.workorder_code" style="width: 240px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="计划数量">
|
<el-form-item label="计划数量" prop="plan_qty">
|
||||||
<el-input v-model="form.plan_qty" style="width: 240px;" />
|
<el-input-number
|
||||||
|
v-model.number="form.plan_qty"
|
||||||
|
:min="0"
|
||||||
|
:max="999"
|
||||||
|
style="width: 240px;"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="实际数量">
|
<el-form-item label="实际数量" prop="real_qty">
|
||||||
<el-input v-model="form.real_qty" style="width: 240px;" />
|
<el-input-number
|
||||||
</el-form-item>
|
v-model.number="form.real_qty"
|
||||||
<el-form-item label="物料标识">
|
:min="0"
|
||||||
<el-input v-model="form.material_id" style="width: 240px;" />
|
:max="999"
|
||||||
|
style="width: 240px;"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="载具类型">
|
<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>
|
||||||
<el-form-item label="计划开始时间">
|
<el-form-item label="物料名称" prop="material_name">
|
||||||
<el-input v-model="form.planproducestart_date" style="width: 240px;" />
|
<el-input v-model="form.material_name" style="width: 240px;" @focus="getMaterial"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="计划结束时间">
|
<el-form-item label="物料编码">
|
||||||
<el-input v-model="form.planproduceend_date" style="width: 240px;" />
|
<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>
|
||||||
<el-form-item label="实际开始时间">
|
<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>
|
||||||
<el-form-item label="实际结束时间">
|
<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>
|
||||||
<el-form-item label="静置时间(分钟)">
|
<el-form-item label="静置时间(分钟)" prop="standing_time">
|
||||||
<el-input v-model="form.standing_time" style="width: 240px;" />
|
<el-input-number
|
||||||
|
v-model.number="form.standing_time"
|
||||||
|
:min="0"
|
||||||
|
:max="999"
|
||||||
|
style="width: 240px;"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="点位编码">
|
<el-form-item label="工单类型" prop="workorder_type">
|
||||||
<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-input v-model="form.workorder_type" style="width: 240px;" />
|
<el-input v-model="form.workorder_type" style="width: 240px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="车间编码">
|
<el-form-item label="所属区域" prop="region_code">
|
||||||
<el-input v-model="form.workshop_code" style="width: 240px;" />
|
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<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_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="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="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="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="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,'车间编码')"/>
|
<el-table-column prop="workshop_code" label="车间编码" :min-width="flexWidth('workshop_code',crud.data,'车间编码')"/>
|
||||||
@@ -111,16 +202,22 @@
|
|||||||
<!--分页组件-->
|
<!--分页组件-->
|
||||||
<pagination />
|
<pagination />
|
||||||
</div>
|
</div>
|
||||||
|
<MaterialDialog :dialog-show.sync="materialDialog" @tableChanged="tableChanged"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import crudPdmBdWorkorder from './pdmBdWorkorder'
|
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 CRUD, {crud, form, header, presenter} from '@crud/crud'
|
||||||
import rrOperation from '@crud/RR.operation'
|
import rrOperation from '@crud/RR.operation'
|
||||||
import crudOperation from '@crud/CRUD.operation'
|
import crudOperation from '@crud/CRUD.operation'
|
||||||
import udOperation from '@crud/UD.operation'
|
import udOperation from '@crud/UD.operation'
|
||||||
import pagination from '@crud/Pagination'
|
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 = {
|
const defaultForm = {
|
||||||
workorder_id: null,
|
workorder_id: null,
|
||||||
@@ -139,22 +236,17 @@ const defaultForm = {
|
|||||||
region_code: null,
|
region_code: null,
|
||||||
region_name: null,
|
region_name: null,
|
||||||
workorder_status: null,
|
workorder_status: null,
|
||||||
is_needmove: null,
|
is_needmove: true,
|
||||||
workorder_type: null,
|
workorder_type: null,
|
||||||
passback_status: null,
|
passback_status: null,
|
||||||
workshop_code: null,
|
workshop_code: null,
|
||||||
ext_id: null,
|
ext_id: null,
|
||||||
is_delete: null,
|
is_delete: false
|
||||||
create_id: null,
|
|
||||||
create_name: null,
|
|
||||||
create_time: null,
|
|
||||||
update_id: null,
|
|
||||||
update_name: null,
|
|
||||||
update_time: null
|
|
||||||
}
|
}
|
||||||
export default {
|
export default {
|
||||||
name: 'PdmBdWorkorder',
|
name: 'PdmBdWorkorder',
|
||||||
components: { pagination, crudOperation, rrOperation, udOperation },
|
dicts: ['vehicle_type'],
|
||||||
|
components: { MaterialDialog, pagination, crudOperation, rrOperation, udOperation },
|
||||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||||
cruds() {
|
cruds() {
|
||||||
return CRUD({
|
return CRUD({
|
||||||
@@ -165,22 +257,104 @@ export default {
|
|||||||
crudMethod: { ...crudPdmBdWorkorder }
|
crudMethod: { ...crudPdmBdWorkorder }
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
created() {
|
||||||
|
this.getWorkShopList()
|
||||||
|
this.getRegionList()
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
permission: {
|
permission: {
|
||||||
},
|
},
|
||||||
rules: {
|
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: [
|
queryTypeOptions: [
|
||||||
{ key: 'workorder_code', display_name: '工单编号' },
|
{ key: 'workorder_code', display_name: '工单编号' },
|
||||||
{ key: 'point_code', display_name: '点位编码' }
|
{ key: 'point_code', display_name: '点位编码' }
|
||||||
]
|
],
|
||||||
|
workShopList: [],
|
||||||
|
regionList: [],
|
||||||
|
pointList: [],
|
||||||
|
regionCodeParam: null,
|
||||||
|
materialDialog: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
item() {
|
||||||
|
return item
|
||||||
|
},
|
||||||
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
||||||
[CRUD.HOOK.beforeRefresh]() {
|
[CRUD.HOOK.beforeRefresh]() {
|
||||||
return true
|
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_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="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="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="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="workorder_code" label="工单编码" :min-width="flexWidth('workorder_code',crud.data,'工单编码')" />
|
||||||
<el-table-column prop="instorage_time" label="入库时间" :min-width="flexWidth('instorage_time',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: null,
|
||||||
table_fk_id: null,
|
table_fk_id: null,
|
||||||
buss_move_id: null,
|
buss_move_id: null,
|
||||||
is_first_flow_task: null,
|
is_first_flow_task: true,
|
||||||
flow_code: null,
|
flow_code: null,
|
||||||
flow_num: null,
|
flow_num: null,
|
||||||
before_task_code: null,
|
before_task_code: null,
|
||||||
next_task_code: null,
|
next_task_code: null,
|
||||||
remark: null,
|
remark: null,
|
||||||
is_delete: null,
|
is_delete: false
|
||||||
create_id: null,
|
|
||||||
create_name: null,
|
|
||||||
create_time: null,
|
|
||||||
update_id: null,
|
|
||||||
update_name: null,
|
|
||||||
update_time: null
|
|
||||||
}
|
}
|
||||||
export default {
|
export default {
|
||||||
name: 'VehicleMaterialGroup',
|
name: 'VehicleMaterialGroup',
|
||||||
|
|||||||
@@ -437,7 +437,6 @@ export default {
|
|||||||
},
|
},
|
||||||
getPointStatusList(id, flag) {
|
getPointStatusList(id, flag) {
|
||||||
crudSchBaseRegion.getPointStatusSelectById(id).then(res => {
|
crudSchBaseRegion.getPointStatusSelectById(id).then(res => {
|
||||||
console.log('1:', res)
|
|
||||||
if (flag === 1) {
|
if (flag === 1) {
|
||||||
this.pointStatusList = res
|
this.pointStatusList = res
|
||||||
} else {
|
} else {
|
||||||
@@ -447,7 +446,6 @@ export default {
|
|||||||
},
|
},
|
||||||
getPointTypeList(id, flag) {
|
getPointTypeList(id, flag) {
|
||||||
crudSchBaseRegion.getPointTypeSelectById(id).then(res => {
|
crudSchBaseRegion.getPointTypeSelectById(id).then(res => {
|
||||||
console.log('2:', res)
|
|
||||||
if (flag === 1) {
|
if (flag === 1) {
|
||||||
this.pointTypesList = res
|
this.pointTypesList = res
|
||||||
} else {
|
} else {
|
||||||
@@ -456,7 +454,6 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
changeUsed(data, flag) { // 更改启用状态
|
changeUsed(data, flag) { // 更改启用状态
|
||||||
console.log('qqqqqqqqq')
|
|
||||||
const param = {}
|
const param = {}
|
||||||
param.data = data
|
param.data = data
|
||||||
param.used = flag
|
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-input v-model="form.point_status_explain" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="是否有工单">
|
<el-form-item label="是否有工单">
|
||||||
<el-select
|
<el-radio-group v-model="form.is_has_workder" style="width: 240px">
|
||||||
v-model="form.is_has_workder"
|
<el-radio :label="true">是</el-radio>
|
||||||
size="mini"
|
<el-radio :label="false">否</el-radio>
|
||||||
placeholder="是否有工单"
|
</el-radio-group>
|
||||||
class="filter-item"
|
|
||||||
style="width: 370px;"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in dict.TrueOrFalse"
|
|
||||||
:label="item.label"
|
|
||||||
:value="item.value"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="备注" prop="description">
|
<el-form-item label="备注" prop="description">
|
||||||
<el-input v-model="form.remark" style="width: 380px;" rows="2" type="textarea" />
|
<el-input v-model="form.remark" style="width: 380px;" rows="2" type="textarea" />
|
||||||
@@ -157,14 +148,13 @@ const defaultForm = {
|
|||||||
region_name: null,
|
region_name: null,
|
||||||
point_type_explain: null,
|
point_type_explain: null,
|
||||||
point_status_explain: null,
|
point_status_explain: null,
|
||||||
is_has_workder: 'true',
|
is_has_workder: true,
|
||||||
workshop_code: null,
|
workshop_code: null,
|
||||||
order_seq: 0,
|
order_seq: 0,
|
||||||
remark: null
|
remark: null
|
||||||
}
|
}
|
||||||
export default {
|
export default {
|
||||||
name: 'Region',
|
name: 'Region',
|
||||||
dicts: ['TrueOrFalse'],
|
|
||||||
components: { pagination, crudOperation, rrOperation, udOperation },
|
components: { pagination, crudOperation, rrOperation, udOperation },
|
||||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||||
cruds() {
|
cruds() {
|
||||||
@@ -193,9 +183,6 @@ export default {
|
|||||||
[CRUD.HOOK.beforeRefresh]() {
|
[CRUD.HOOK.beforeRefresh]() {
|
||||||
return true
|
return true
|
||||||
},
|
},
|
||||||
[CRUD.HOOK.beforeToCU]() {
|
|
||||||
this.form.is_has_workder = this.form.is_has_workder.toString()
|
|
||||||
},
|
|
||||||
hand(value) {
|
hand(value) {
|
||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -24,10 +24,11 @@ export function edit(data) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getRegionList() {
|
export function getRegionList(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/schBaseRegion/getRegionList',
|
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-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 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-form-item label="配置编码" prop="config_code">
|
||||||
<el-input v-model="form.config_code" style="width: 240px;" />
|
<el-input v-model="form.config_code" style="width: 240px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|||||||
Reference in New Issue
Block a user