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