8 changed files with 583 additions and 0 deletions
@ -0,0 +1,24 @@ |
|||
package org.nl.wms.basedata_manage.controller; |
|||
|
|||
|
|||
import lombok.RequiredArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.nl.wms.basedata_manage.service.IMdMeMaterialbaseService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
/** |
|||
* @author liuxy |
|||
* @date 2025-5-13 |
|||
**/ |
|||
@RestController |
|||
@RequiredArgsConstructor |
|||
@RequestMapping("/api/Materia") |
|||
@Slf4j |
|||
public class MaterialbaseController { |
|||
|
|||
@Autowired |
|||
private IMdMeMaterialbaseService iMdMeMaterialbaseService; |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package org.nl.wms.basedata_manage.service; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase; |
|||
|
|||
/** |
|||
* <p> |
|||
* 物料基本信息表 服务类 |
|||
* </p> |
|||
* |
|||
* @author author |
|||
* @since 2025-05-13 |
|||
*/ |
|||
public interface IMdMeMaterialbaseService extends IService<MdMeMaterialbase> { |
|||
|
|||
} |
@ -0,0 +1,183 @@ |
|||
package org.nl.wms.basedata_manage.service.dao; |
|||
|
|||
import java.math.BigDecimal; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import java.io.Serializable; |
|||
|
|||
import lombok.Builder; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import lombok.experimental.Accessors; |
|||
|
|||
/** |
|||
* <p> |
|||
* 物料基本信息表 |
|||
* </p> |
|||
* |
|||
* @author author |
|||
* @since 2025-05-13 |
|||
*/ |
|||
@Data |
|||
@Builder |
|||
@EqualsAndHashCode(callSuper = false) |
|||
@Accessors(chain = true) |
|||
@TableName("md_me_materialbase") |
|||
public class MdMeMaterialbase implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 物料标识 |
|||
*/ |
|||
@TableId(value = "material_id", type = IdType.AUTO) |
|||
private String material_id; |
|||
|
|||
/** |
|||
* 物料编码 |
|||
*/ |
|||
private String material_code; |
|||
|
|||
/** |
|||
* 物料名称 |
|||
*/ |
|||
private String material_name; |
|||
|
|||
/** |
|||
* 规格 |
|||
*/ |
|||
private String material_spec; |
|||
|
|||
/** |
|||
* 型号 |
|||
*/ |
|||
private String material_model; |
|||
|
|||
/** |
|||
* 外文名称 |
|||
*/ |
|||
private String english_name; |
|||
|
|||
/** |
|||
* 基本计量单位 |
|||
*/ |
|||
private String baseUnit_id; |
|||
|
|||
/** |
|||
* 辅助计量单位 |
|||
*/ |
|||
private String assUnit_id; |
|||
|
|||
/** |
|||
* 批准文号 |
|||
*/ |
|||
private String approve_fileno; |
|||
|
|||
/** |
|||
* 工程图号 |
|||
*/ |
|||
private String print_no; |
|||
|
|||
/** |
|||
* 物料分类标识 |
|||
*/ |
|||
private String material_type_id; |
|||
|
|||
/** |
|||
* 长度单位 |
|||
*/ |
|||
private String len_unit_id; |
|||
|
|||
/** |
|||
* 物料长度 |
|||
*/ |
|||
private BigDecimal length; |
|||
|
|||
/** |
|||
* 物料宽度 |
|||
*/ |
|||
private BigDecimal width; |
|||
|
|||
/** |
|||
* 物料高度 |
|||
*/ |
|||
private BigDecimal height; |
|||
|
|||
/** |
|||
* 重量单位 |
|||
*/ |
|||
private String weight_unit_id; |
|||
|
|||
/** |
|||
* 物料毛重 |
|||
*/ |
|||
private BigDecimal gross_weight; |
|||
|
|||
/** |
|||
* 物料净重 |
|||
*/ |
|||
private BigDecimal net_weight; |
|||
|
|||
/** |
|||
* 体积单位 |
|||
*/ |
|||
private String cubage_unit_id; |
|||
|
|||
/** |
|||
* 物料体积 |
|||
*/ |
|||
private BigDecimal cubage; |
|||
|
|||
/** |
|||
* 创建人 |
|||
*/ |
|||
private Long create_id; |
|||
|
|||
/** |
|||
* 创建人姓名 |
|||
*/ |
|||
private String create_name; |
|||
|
|||
/** |
|||
* 创建时间 |
|||
*/ |
|||
private String create_time; |
|||
|
|||
/** |
|||
* 修改人 |
|||
*/ |
|||
private String update_optid; |
|||
|
|||
/** |
|||
* 修改人姓名 |
|||
*/ |
|||
private String update_optname; |
|||
|
|||
/** |
|||
* 修改时间 |
|||
*/ |
|||
private String update_time; |
|||
|
|||
/** |
|||
* 启用时间 |
|||
*/ |
|||
private String isUsed_time; |
|||
|
|||
/** |
|||
* 是否启用 |
|||
*/ |
|||
private String is_used; |
|||
|
|||
/** |
|||
* 是否删除 |
|||
*/ |
|||
private String is_delete; |
|||
|
|||
/** |
|||
* 外部标识 |
|||
*/ |
|||
private String ext_id; |
|||
|
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package org.nl.wms.basedata_manage.service.dao.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase; |
|||
|
|||
/** |
|||
* <p> |
|||
* 物料基本信息表 Mapper 接口 |
|||
* </p> |
|||
* |
|||
* @author author |
|||
* @since 2025-05-13 |
|||
*/ |
|||
public interface MdMeMaterialbaseMapper extends BaseMapper<MdMeMaterialbase> { |
|||
|
|||
} |
@ -0,0 +1,5 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="org.nl.wms.basedata_manage.service.dao.mapper.MdMeMaterialbaseMapper"> |
|||
|
|||
</mapper> |
@ -0,0 +1,20 @@ |
|||
package org.nl.wms.basedata_manage.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import org.nl.wms.basedata_manage.service.IMdMeMaterialbaseService; |
|||
import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase; |
|||
import org.nl.wms.basedata_manage.service.dao.mapper.MdMeMaterialbaseMapper; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
/** |
|||
* <p> |
|||
* 物料基本信息表 服务实现类 |
|||
* </p> |
|||
* |
|||
* @author author |
|||
* @since 2025-05-13 |
|||
*/ |
|||
@Service |
|||
public class MdMeMaterialbaseServiceImpl extends ServiceImpl<MdMeMaterialbaseMapper, MdMeMaterialbase> implements IMdMeMaterialbaseService { |
|||
|
|||
} |
@ -0,0 +1,269 @@ |
|||
<template> |
|||
<div v-loading.fullscreen.lock="fullscreenLoading" class="app-container"> |
|||
<!--工具栏--> |
|||
<div class="head-container"> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
模糊查询: |
|||
<el-input |
|||
v-model="query.search" |
|||
clearable |
|||
style="width: 200px" |
|||
size="mini" |
|||
placeholder="输入物料编码或名称" |
|||
prefix-icon="el-icon-search" |
|||
class="filter-item" |
|||
/> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<rrOperation /> |
|||
</el-col> |
|||
</el-row> |
|||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'--> |
|||
<crudOperation /> |
|||
<!--表单组件--> |
|||
<el-dialog |
|||
:close-on-click-modal="false" |
|||
:before-close="crud.cancelCU" |
|||
:visible.sync="crud.status.cu > 0" |
|||
:title="crud.status.title" |
|||
width="1200px" |
|||
> |
|||
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="110px"> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<el-form-item label="物料编码" prop="material_code"> |
|||
<el-input v-model="form.material_code" style="width: 200px;" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="物料名称" prop="material_name"> |
|||
<el-input v-model="form.material_name" style="width: 200px;" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
|
|||
<el-form-item label="规格" prop="material_spec"> |
|||
<label slot="label">规 格</label> |
|||
<el-input v-model="form.material_spec" style="width: 200px;" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<el-form-item label="型号" prop="material_model"> |
|||
<label slot="label">型 号</label> |
|||
<el-input v-model="form.material_model" style="width: 200px;" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="外部标识" prop="ext_id"> |
|||
<el-input v-model="form.ext_id" style="width: 200px;" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<el-form-item label="静置时间" prop="standing_time"> |
|||
<el-input-number v-model="form.standing_time" :controls="false" :min="0" label="分钟" style="width: 200px;" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="是否启用" prop="is_used"> |
|||
<el-radio v-model="form.is_used" label="0">否</el-radio> |
|||
<el-radio v-model="form.is_used" label="1">是</el-radio> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button type="text" @click="crud.cancelCU">取消</el-button> |
|||
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
<!--表格渲染--> |
|||
<el-table |
|||
ref="table" |
|||
v-loading="crud.loading" |
|||
:data="crud.data" |
|||
size="mini" |
|||
style="width: 100%;" |
|||
@selection-change="crud.selectionChangeHandler" |
|||
> |
|||
<el-table-column prop="material_code" label="物料编码" width="160" /> |
|||
<el-table-column prop="material_name" label="物料名称" width="180" show-overflow-tooltip /> |
|||
<el-table-column prop="material_spec" label="物料规格" width="140" /> |
|||
<el-table-column prop="material_model" label="物料型号" /> |
|||
<el-table-column prop="class_name" label="物料分类" width="140" /> |
|||
<el-table-column prop="unit_name" label="计量单位" /> |
|||
<el-table-column prop="standing_time" label="静置时间(分钟)" width="130px" /> |
|||
<el-table-column prop="product_series_name" label="系列" /> |
|||
<el-table-column label="启用" align="center" prop="is_used"> |
|||
<template slot-scope="scope"> |
|||
<el-switch |
|||
v-model="scope.row.is_used" |
|||
active-color="#409EFF" |
|||
inactive-color="#F56C6C" |
|||
active-value="1" |
|||
inactive-value="0" |
|||
@change="changeEnabled(scope.row, scope.row.is_used)" |
|||
/> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="update_optname" label="修改人" /> |
|||
<el-table-column prop="update_time" label="修改时间" width="135" /> |
|||
<el-table-column |
|||
v-permission="['admin','Materialbase:edit','Materialbase:del']" |
|||
fixed="right" |
|||
label="操作" |
|||
width="120px" |
|||
align="center" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<udOperation |
|||
:data="scope.row" |
|||
:permission="permission" |
|||
/> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<!--分页组件--> |
|||
<pagination /> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import crudMaterial from '@/views/wms/basedata/material/material' |
|||
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' |
|||
|
|||
const defaultForm = { |
|||
material_id: null, |
|||
ass_unit_id: null, |
|||
material_code: null, |
|||
material_name: null, |
|||
material_spec: null, |
|||
material_model: null, |
|||
english_name: null, |
|||
base_unit_id: null, |
|||
approve_fileno: null, |
|||
print_no: null, |
|||
material_type_id: null, |
|||
len_unit_id: null, |
|||
length: null, |
|||
width: null, |
|||
height: null, |
|||
weight_unit_id: null, |
|||
gross_weight: null, |
|||
net_weight: null, |
|||
cubage_unit_id: null, |
|||
cubage: null, |
|||
create_id: null, |
|||
create_name: null, |
|||
create_time: null, |
|||
update_optid: null, |
|||
update_optname: null, |
|||
update_time: null, |
|||
is_used_time: null, |
|||
is_used: null, |
|||
is_delete: null, |
|||
ext_id: null, |
|||
material_height_type: null, |
|||
product_series: null |
|||
} |
|||
export default { |
|||
name: 'Materia', |
|||
// 数据字典 |
|||
dicts: ['is_used'], |
|||
components: { pagination, crudOperation, rrOperation, udOperation }, |
|||
mixins: [presenter(), header(), form(defaultForm), crud()], |
|||
cruds() { |
|||
return CRUD({ |
|||
title: '物料', |
|||
optShow: { add: true, reset: true }, |
|||
url: 'api/Materia', |
|||
idField: 'material_id', |
|||
sort: 'material_id,desc', |
|||
crudMethod: { ...crudMaterial } |
|||
}) |
|||
}, |
|||
data() { |
|||
return { |
|||
classes1: [], |
|||
classes2: [], |
|||
classes3: [], |
|||
fullscreenLoading: false, |
|||
measure_unit: [], |
|||
productSeries: [], |
|||
permission: {}, |
|||
rules: { |
|||
material_id: [ |
|||
{ required: true, message: '不能为空', trigger: 'blur' } |
|||
], |
|||
material_code: [ |
|||
{ required: true, message: '物料编码不能为空', trigger: 'blur' } |
|||
], |
|||
material_name: [ |
|||
{ required: true, message: '物料名称不能为空', trigger: 'blur' } |
|||
], |
|||
create_id: [ |
|||
{ required: true, message: '不能为空', trigger: 'blur' } |
|||
], |
|||
create_time: [ |
|||
{ required: true, message: '不能为空', trigger: 'blur' } |
|||
], |
|||
is_used: [ |
|||
{ required: true, message: '是否启用不能为空', trigger: 'blur' } |
|||
], |
|||
material_height_type: [ |
|||
{ required: true, message: '不能为空', trigger: 'blur' } |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
// 钩子:在获取表格数据之前执行,false 则代表不获取数据 |
|||
[CRUD.HOOK.beforeRefresh]() { |
|||
return true |
|||
}, |
|||
[CRUD.HOOK.beforeToCU](crud, form) { |
|||
}, |
|||
// 改变状态 |
|||
changeEnabled(data, val) { |
|||
this.$confirm('此操作将 "' + this.dict.label.is_used[val] + '" ' + data.material_name + ', 是否继续?', '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
crudMaterial.edit(data).then(res => { |
|||
this.crud.notify(this.dict.label.is_used[val] + '成功', CRUD.NOTIFICATION_TYPE.SUCCESS) |
|||
}).catch(() => { |
|||
if (data.is_used === '0') { |
|||
data.is_used = '1' |
|||
return |
|||
} |
|||
if (data.is_used === '1') { |
|||
data.is_used = '0' |
|||
} |
|||
}) |
|||
}).catch(() => { |
|||
if (data.is_used === '0') { |
|||
data.is_used = '1' |
|||
return |
|||
} |
|||
if (data.is_used === '1') { |
|||
data.is_used = '0' |
|||
} |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
|
|||
</style> |
@ -0,0 +1,50 @@ |
|||
import request from '@/utils/request' |
|||
|
|||
export function add(data) { |
|||
return request({ |
|||
url: 'api/Materia', |
|||
method: 'post', |
|||
data |
|||
}) |
|||
} |
|||
|
|||
export function del(ids) { |
|||
return request({ |
|||
url: 'api/Materia/', |
|||
method: 'delete', |
|||
data: ids |
|||
}) |
|||
} |
|||
|
|||
export function edit(data) { |
|||
return request({ |
|||
url: 'api/Materia', |
|||
method: 'put', |
|||
data |
|||
}) |
|||
} |
|||
|
|||
export function getMaterOptType(data) { |
|||
return request({ |
|||
url: 'api/Materia/getMaterOptType', |
|||
method: 'post', |
|||
data |
|||
}) |
|||
} |
|||
|
|||
export function isAlongMaterType(data) { |
|||
return request({ |
|||
url: 'api/Materia/isAlongMaterType', |
|||
method: 'post', |
|||
data |
|||
}) |
|||
} |
|||
|
|||
export function getProductSeries() { |
|||
return request({ |
|||
url: 'api/Materia/getProductSeries', |
|||
method: 'get' |
|||
}) |
|||
} |
|||
|
|||
export default { add, edit, del, getMaterOptType, isAlongMaterType, getProductSeries } |
Loading…
Reference in new issue