From 1c3b1a65016708522927b5e3d74ae4f83737c6ea Mon Sep 17 00:00:00 2001 From: liangzongpeng <532365025@qq.com> Date: Tue, 4 Jun 2024 18:20:10 +0800 Subject: [PATCH] 0604 --- .../Configuration/Database.json | 3 +- .../Entity/ProductionLine.cs | 28 +++ .../Service/Materials/MaterialsService.cs | 4 +- .../ProductWarehousingService.cs | 57 +++--- .../ProductionLine/Dto/ProductionLineDto.cs | 68 +++++++ .../ProductionLine/Dto/ProductionLineInput.cs | 134 +++++++++++++ .../Dto/ProductionLineOutput.cs | 70 +++++++ .../ProductionLine/ProductionLineService.cs | 110 +++++++++++ .../Service/SysUnit/SysUnitService.cs | 4 +- .../Extension/RepositoryExtension.cs | 10 + .../wwwroot/Template/Manage.js.vm | 9 + Web/src/api-services/apis/sys-unit-api.ts | 2 +- Web/src/api/main/brand.ts | 8 + Web/src/api/main/materials.ts | 8 + Web/src/api/main/productionLine.ts | 59 ++++++ Web/src/api/main/supplier.ts | 8 + Web/src/api/main/unit.ts | 66 +++++++ Web/src/api/main/warehouse.ts | 8 + .../productionLine/component/editDialog.vue | 135 +++++++++++++ .../basics-date/productionLine/index.vue | 180 ++++++++++++++++++ .../component/editDialog.vue | 118 +++++++----- .../views/labelPrinting/codeElement/index.vue | 1 - .../warehouseDetails/component/editDialog.vue | 64 +------ .../component/editDialog.vue | 55 ++---- 24 files changed, 1043 insertions(+), 166 deletions(-) create mode 100644 Admin.NET/Admin.NET.Application/Entity/ProductionLine.cs create mode 100644 Admin.NET/Admin.NET.Application/Service/ProductionLine/Dto/ProductionLineDto.cs create mode 100644 Admin.NET/Admin.NET.Application/Service/ProductionLine/Dto/ProductionLineInput.cs create mode 100644 Admin.NET/Admin.NET.Application/Service/ProductionLine/Dto/ProductionLineOutput.cs create mode 100644 Admin.NET/Admin.NET.Application/Service/ProductionLine/ProductionLineService.cs create mode 100644 Web/src/api/main/productionLine.ts create mode 100644 Web/src/api/main/unit.ts create mode 100644 Web/src/views/basics-date/productionLine/component/editDialog.vue create mode 100644 Web/src/views/basics-date/productionLine/index.vue diff --git a/Admin.NET/Admin.NET.Application/Configuration/Database.json b/Admin.NET/Admin.NET.Application/Configuration/Database.json index 79efcaf..de5b0d7 100644 --- a/Admin.NET/Admin.NET.Application/Configuration/Database.json +++ b/Admin.NET/Admin.NET.Application/Configuration/Database.json @@ -8,7 +8,8 @@ { //"ConfigId": "1300000000001", // 默认库标识-禁止修改 "DbType": "MySql", // MySql、SqlServer、Sqlite、Oracle、PostgreSQL、Dm、Kdbndp、Oscar、MySqlConnector、Access、OpenGauss、QuestDB、HG、ClickHouse、GBase、Odbc、Custom - "ConnectionString": "Server=139.199.191.197;Port=3306;Database=b-guanwei;Uid=b-guanwei;Pwd=hfc123456;SslMode=none;AllowPublicKeyRetrieval=True;", // 库连接字符串 + "ConnectionString": "Server=gz-cdb-76wyaumn.sql.tencentcdb.com;Port=29867;Database=guanwei-;Uid=guanwei-dig;Pwd=hfc123456;SslMode=none;AllowPublicKeyRetrieval=True;", // 库连接字符串 + //"ConnectionString": "Server=139.199.191.197;Port=3306;Database=b-guanwei;Uid=b-guanwei;Pwd=hfc123456;SslMode=none;AllowPublicKeyRetrieval=True;", // 库连接字符串 //"SlaveConnectionConfigs": [ // 读写分离/主从 // { // "HitRate": 10, diff --git a/Admin.NET/Admin.NET.Application/Entity/ProductionLine.cs b/Admin.NET/Admin.NET.Application/Entity/ProductionLine.cs new file mode 100644 index 0000000..639a474 --- /dev/null +++ b/Admin.NET/Admin.NET.Application/Entity/ProductionLine.cs @@ -0,0 +1,28 @@ +using Admin.NET.Core; +namespace Admin.NET.Application.Entity; + +/// +/// 生产线 +/// +[SugarTable("ProductionLine","生产线")] +public class ProductionLine : EntityTenant +{ + /// + /// 名称 + /// + [SugarColumn(ColumnName = "Name", ColumnDescription = "名称", Length = 32)] + public string? Name { get; set; } + + /// + /// 地址 + /// + [SugarColumn(ColumnName = "Address", ColumnDescription = "地址", Length = 32)] + public string? Address { get; set; } + + /// + /// 备注 + /// + [SugarColumn(ColumnName = "Remarks", ColumnDescription = "备注", Length = 64)] + public string? Remarks { get; set; } + +} diff --git a/Admin.NET/Admin.NET.Application/Service/Materials/MaterialsService.cs b/Admin.NET/Admin.NET.Application/Service/Materials/MaterialsService.cs index e89e905..0761c34 100644 --- a/Admin.NET/Admin.NET.Application/Service/Materials/MaterialsService.cs +++ b/Admin.NET/Admin.NET.Application/Service/Materials/MaterialsService.cs @@ -119,7 +119,9 @@ public class MaterialsService : IDynamicApiController, ITransient [ApiDescriptionSettings(Name = "List")] public async Task> List() { - return await _rep.AsQueryable().Where(a => !a.IsDelete).Select().ToListAsync(); + var list = await _rep.AsQueryable().Where(a => !a.IsDelete).Select().ToListAsync(); + list.Reverse(); + return list; } /// diff --git a/Admin.NET/Admin.NET.Application/Service/ProductWarehousing/ProductWarehousingService.cs b/Admin.NET/Admin.NET.Application/Service/ProductWarehousing/ProductWarehousingService.cs index ced9ff6..780629b 100644 --- a/Admin.NET/Admin.NET.Application/Service/ProductWarehousing/ProductWarehousingService.cs +++ b/Admin.NET/Admin.NET.Application/Service/ProductWarehousing/ProductWarehousingService.cs @@ -39,7 +39,7 @@ public class ProductWarehousingService : IDynamicApiController, ITransient [ApiDescriptionSettings(Name = "Page")] public async Task> Page(ProductWarehousingInput input) { - var query = _rep.AsQueryable() + var query = _rep.AsQueryable().Where(a => !a.IsDelete) .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u => u.Name.Contains(input.SearchKey.Trim()) || u.GoodCode.Contains(input.SearchKey.Trim()) @@ -132,34 +132,43 @@ public class ProductWarehousingService : IDynamicApiController, ITransient [ApiDescriptionSettings(Name = "Add")] public async Task Add(AddProductWarehousingInput input) { - var materials = await _materialsService.Detail(new QueryByIdMaterialsInput() { Id = input.MaterialsId.Value }); SysUnitOutput unit = null; - string unitScale = string.Empty; - if (materials != null) + try { - input.Specifications = materials.Specifications; - input.CodeNum = materials.CodeNum; - input.Brand = materials.Brand; - var units = await _sysUnitService.ListByGroupId(materials.UnitGroupId.Value); - unit = units.Find(a => a.Name == input.Unit); - if (unit != null) + var materials = await _materialsService.Detail(new QueryByIdMaterialsInput() { Id = input.MaterialsId.Value }); + + string unitScale = string.Empty; + if (materials != null) { - input.BaseCount = input.Count * unit.Rate; - input.BaseUnit = units.FirstOrDefault(a => a.IsBaseUnit == true).Name; - unitScale = SysUnitService.GetUnitScale(units); + input.Specifications = materials.Specifications; + input.CodeNum = materials.CodeNum; + input.Brand = materials.Brand; + var units = await _sysUnitService.ListByGroupId(materials.UnitGroupId.Value); + unit = units.Find(a => a.Name == input.Unit); + if (unit != null) + { + input.BaseCount = input.Count * unit.Rate; + input.BaseUnit = units.FirstOrDefault(a => a.IsBaseUnit == true).Name; + unitScale = SysUnitService.GetUnitScale(units); + } + input.GoodCode = materials.BarCode; + input.MaterialsNum = materials.CodeNum; + input.UnitPrice = materials.Price; + input.Custom = input.Supplier; + if (unit != null) + { + input.BaseCount = input.Count * unit.Rate; + } + input.TotalPrice = input.BaseCount * materials.Price; + input.PackageScale = unitScale; + input.Classify = (await _materialClassifyService.Detail(new QueryByIdMaterialClassifyInput() { Id = materials.Classify })).Name; } - input.GoodCode = materials.BarCode; - input.MaterialsNum = materials.CodeNum; - input.UnitPrice = materials.Price; - input.Custom = input.Supplier; - if (unit != null) - { - input.BaseCount = input.Count * unit.Rate; - } - input.TotalPrice = input.BaseCount * materials.Price; - input.PackageScale = unitScale; - input.Classify = (await _materialClassifyService.Detail(new QueryByIdMaterialClassifyInput() { Id = materials.Classify })).Name; } + catch (Exception ex) + { + + } + var entity = input.Adapt(); diff --git a/Admin.NET/Admin.NET.Application/Service/ProductionLine/Dto/ProductionLineDto.cs b/Admin.NET/Admin.NET.Application/Service/ProductionLine/Dto/ProductionLineDto.cs new file mode 100644 index 0000000..2d7bcd0 --- /dev/null +++ b/Admin.NET/Admin.NET.Application/Service/ProductionLine/Dto/ProductionLineDto.cs @@ -0,0 +1,68 @@ +namespace Admin.NET.Application; + + /// + /// 生产线输出参数 + /// + public class ProductionLineDto + { + /// + /// 主键Id + /// + public long Id { get; set; } + + /// + /// 名称 + /// + public string? Name { get; set; } + + /// + /// 地址 + /// + public string? Address { get; set; } + + /// + /// 备注 + /// + public string? Remarks { get; set; } + + /// + /// 租户Id + /// + public long? TenantId { get; set; } + + /// + /// 创建时间 + /// + public DateTime? CreateTime { get; set; } + + /// + /// 更新时间 + /// + public DateTime? UpdateTime { get; set; } + + /// + /// 创建者Id + /// + public long? CreateUserId { get; set; } + + /// + /// 创建者姓名 + /// + public string? CreateUserName { get; set; } + + /// + /// 修改者Id + /// + public long? UpdateUserId { get; set; } + + /// + /// 修改者姓名 + /// + public string? UpdateUserName { get; set; } + + /// + /// 软删除 + /// + public bool IsDelete { get; set; } + + } diff --git a/Admin.NET/Admin.NET.Application/Service/ProductionLine/Dto/ProductionLineInput.cs b/Admin.NET/Admin.NET.Application/Service/ProductionLine/Dto/ProductionLineInput.cs new file mode 100644 index 0000000..06b7d0f --- /dev/null +++ b/Admin.NET/Admin.NET.Application/Service/ProductionLine/Dto/ProductionLineInput.cs @@ -0,0 +1,134 @@ +using Admin.NET.Core; +using System.ComponentModel.DataAnnotations; + +namespace Admin.NET.Application; + + /// + /// 生产线基础输入参数 + /// + public class ProductionLineBaseInput + { + /// + /// 名称 + /// + public virtual string? Name { get; set; } + + /// + /// 地址 + /// + public virtual string? Address { get; set; } + + /// + /// 备注 + /// + public virtual string? Remarks { get; set; } + + /// + /// 租户Id + /// + public virtual long? TenantId { get; set; } + + /// + /// 创建时间 + /// + public virtual DateTime? CreateTime { get; set; } + + /// + /// 更新时间 + /// + public virtual DateTime? UpdateTime { get; set; } + + /// + /// 创建者Id + /// + public virtual long? CreateUserId { get; set; } + + /// + /// 创建者姓名 + /// + public virtual string? CreateUserName { get; set; } + + /// + /// 修改者Id + /// + public virtual long? UpdateUserId { get; set; } + + /// + /// 修改者姓名 + /// + public virtual string? UpdateUserName { get; set; } + + /// + /// 软删除 + /// + public virtual bool IsDelete { get; set; } + + } + + /// + /// 生产线分页查询输入参数 + /// + public class ProductionLineInput : BasePageInput + { + /// + /// 关键字查询 + /// + public string? SearchKey { get; set; } + + /// + /// 名称 + /// + public string? Name { get; set; } + + /// + /// 地址 + /// + public string? Address { get; set; } + + /// + /// 备注 + /// + public string? Remarks { get; set; } + + } + + /// + /// 生产线增加输入参数 + /// + public class AddProductionLineInput : ProductionLineBaseInput + { + /// + /// 软删除 + /// + [Required(ErrorMessage = "软删除不能为空")] + public override bool IsDelete { get; set; } + + } + + /// + /// 生产线删除输入参数 + /// + public class DeleteProductionLineInput : BaseIdInput + { + } + + /// + /// 生产线更新输入参数 + /// + public class UpdateProductionLineInput : ProductionLineBaseInput + { + /// + /// 主键Id + /// + [Required(ErrorMessage = "主键Id不能为空")] + public long Id { get; set; } + + } + + /// + /// 生产线主键查询输入参数 + /// + public class QueryByIdProductionLineInput : DeleteProductionLineInput + { + + } diff --git a/Admin.NET/Admin.NET.Application/Service/ProductionLine/Dto/ProductionLineOutput.cs b/Admin.NET/Admin.NET.Application/Service/ProductionLine/Dto/ProductionLineOutput.cs new file mode 100644 index 0000000..bd1af14 --- /dev/null +++ b/Admin.NET/Admin.NET.Application/Service/ProductionLine/Dto/ProductionLineOutput.cs @@ -0,0 +1,70 @@ +namespace Admin.NET.Application; + +/// +/// 生产线输出参数 +/// +public class ProductionLineOutput +{ + /// + /// 主键Id + /// + public long Id { get; set; } + + /// + /// 名称 + /// + public string? Name { get; set; } + + /// + /// 地址 + /// + public string? Address { get; set; } + + /// + /// 备注 + /// + public string? Remarks { get; set; } + + /// + /// 租户Id + /// + public long? TenantId { get; set; } + + /// + /// 创建时间 + /// + public DateTime? CreateTime { get; set; } + + /// + /// 更新时间 + /// + public DateTime? UpdateTime { get; set; } + + /// + /// 创建者Id + /// + public long? CreateUserId { get; set; } + + /// + /// 创建者姓名 + /// + public string? CreateUserName { get; set; } + + /// + /// 修改者Id + /// + public long? UpdateUserId { get; set; } + + /// + /// 修改者姓名 + /// + public string? UpdateUserName { get; set; } + + /// + /// 软删除 + /// + public bool IsDelete { get; set; } + + } + + diff --git a/Admin.NET/Admin.NET.Application/Service/ProductionLine/ProductionLineService.cs b/Admin.NET/Admin.NET.Application/Service/ProductionLine/ProductionLineService.cs new file mode 100644 index 0000000..5889c23 --- /dev/null +++ b/Admin.NET/Admin.NET.Application/Service/ProductionLine/ProductionLineService.cs @@ -0,0 +1,110 @@ +using Admin.NET.Core.Service; +using Admin.NET.Application.Const; +using Admin.NET.Application.Entity; +using Microsoft.AspNetCore.Http; +namespace Admin.NET.Application; +/// +/// 生产线服务 +/// +[ApiDescriptionSettings(ApplicationConst.GroupName, Order = 100)] +public class ProductionLineService : IDynamicApiController, ITransient +{ + private readonly SqlSugarRepository _rep; + public ProductionLineService(SqlSugarRepository rep) + { + _rep = rep; + } + + /// + /// 分页查询生产线 + /// + /// + /// + [HttpPost] + [ApiDescriptionSettings(Name = "Page")] + public async Task> Page(ProductionLineInput input) + { + var query = _rep.AsQueryable().Where(a => !a.IsDelete) + .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u => + u.Name.Contains(input.SearchKey.Trim()) + || u.Address.Contains(input.SearchKey.Trim()) + || u.Remarks.Contains(input.SearchKey.Trim()) + ) + .WhereIF(!string.IsNullOrWhiteSpace(input.Name), u => u.Name.Contains(input.Name.Trim())) + .WhereIF(!string.IsNullOrWhiteSpace(input.Address), u => u.Address.Contains(input.Address.Trim())) + .WhereIF(!string.IsNullOrWhiteSpace(input.Remarks), u => u.Remarks.Contains(input.Remarks.Trim())) + .Select(); + return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize); + } + + /// + /// 增加生产线 + /// + /// + /// + [HttpPost] + [ApiDescriptionSettings(Name = "Add")] + public async Task Add(AddProductionLineInput input) + { + var entity = input.Adapt(); + await _rep.InsertAsync(entity); + return entity.Id; + } + + /// + /// 删除生产线 + /// + /// + /// + [HttpPost] + [ApiDescriptionSettings(Name = "Delete")] + public async Task Delete(DeleteProductionLineInput input) + { + var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002); + await _rep.FakeDeleteAsync(entity); //假删除 + //await _rep.DeleteAsync(entity); //真删除 + } + + /// + /// 更新生产线 + /// + /// + /// + [HttpPost] + [ApiDescriptionSettings(Name = "Update")] + public async Task Update(UpdateProductionLineInput input) + { + var entity = input.Adapt(); + await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); + } + + /// + /// 获取生产线 + /// + /// + /// + [HttpGet] + [ApiDescriptionSettings(Name = "Detail")] + public async Task Detail([FromQuery] QueryByIdProductionLineInput input) + { + return await _rep.GetFirstAsync(u => u.Id == input.Id); + } + + /// + /// 获取生产线列表 + /// + /// + /// + [HttpGet] + [ApiDescriptionSettings(Name = "List")] + public async Task> List() + { + return await _rep.AsQueryable().Where(a => !a.IsDelete).Select().ToListAsync(); + } + + + + + +} + diff --git a/Admin.NET/Admin.NET.Application/Service/SysUnit/SysUnitService.cs b/Admin.NET/Admin.NET.Application/Service/SysUnit/SysUnitService.cs index 3cb4297..1bc22d9 100644 --- a/Admin.NET/Admin.NET.Application/Service/SysUnit/SysUnitService.cs +++ b/Admin.NET/Admin.NET.Application/Service/SysUnit/SysUnitService.cs @@ -112,8 +112,8 @@ public class SysUnitService : IDynamicApiController, ITransient /// /// [HttpGet] - [ApiDescriptionSettings(Name = "List")] - public async Task> ListByGroupId(long unitGroupId) + [ApiDescriptionSettings(Name = "ListByGroupId")] + public async Task> ListByGroupId(long? unitGroupId) { return await _rep.AsQueryable().WhereIF(unitGroupId > 0, u => u.GroupUnitId == unitGroupId && !u.IsDelete).OrderBy(a => a.Rate).Select().ToListAsync(); } diff --git a/Admin.NET/Admin.NET.Core/Extension/RepositoryExtension.cs b/Admin.NET/Admin.NET.Core/Extension/RepositoryExtension.cs index 005c021..1ea5170 100644 --- a/Admin.NET/Admin.NET.Core/Extension/RepositoryExtension.cs +++ b/Admin.NET/Admin.NET.Core/Extension/RepositoryExtension.cs @@ -149,6 +149,16 @@ public static class RepositoryExtension return queryable.OrderByIF(!string.IsNullOrWhiteSpace(orderStr), orderStr); } + /// + /// 排序方式(默认降序) + /// + /// + /// + public static ISugarQueryable ToReverse(this ISugarQueryable queryable) + { + return queryable.OrderByIF(false, null); + } + /// /// 更新实体并记录差异日志 _rep.UpdateWithDiffLog(entity) /// diff --git a/Admin.NET/Admin.NET.Web.Entry/wwwroot/Template/Manage.js.vm b/Admin.NET/Admin.NET.Web.Entry/wwwroot/Template/Manage.js.vm index fd7d5b4..21adc88 100644 --- a/Admin.NET/Admin.NET.Web.Entry/wwwroot/Template/Manage.js.vm +++ b/Admin.NET/Admin.NET.Web.Entry/wwwroot/Template/Manage.js.vm @@ -6,6 +6,7 @@ enum Api { Update@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/update', Page@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/page', Detail@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/detail', + List@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/list', @foreach (var column in Model.TableField){ if(@column.EffectType == "fk" && (@column.WhetherAddUpdate == "Y" || column.QueryWhether == "Y")){ @:Get@(@column.FkEntityName)@(@column.PropertyName)Dropdown = '/api/@(@Model.LowerClassName)/@(@column.FkEntityName)@(@column.PropertyName)Dropdown', @@ -50,6 +51,14 @@ export const page@(@Model.ClassName) = (params?: any) => data: params, }); +// 列表@(@Model.BusName) +export const list@(@Model.ClassName) = () => + request({ + url: Api.List@(@Model.ClassName), + method: 'get', + data: { }, + }); + // 详情@(@Model.BusName) export const detail@(@Model.ClassName) = (id: any) => request({ diff --git a/Web/src/api-services/apis/sys-unit-api.ts b/Web/src/api-services/apis/sys-unit-api.ts index d37b1fd..5eddc02 100644 --- a/Web/src/api-services/apis/sys-unit-api.ts +++ b/Web/src/api-services/apis/sys-unit-api.ts @@ -234,7 +234,7 @@ export const SysUnitApiAxiosParamCreator = function (configuration?: Configurati if (unitGroupId === null || unitGroupId === undefined) { throw new RequiredError('unitGroupId','Required parameter unitGroupId was null or undefined when calling apiSysUnitListUnitGroupIdGet.'); } - const localVarPath = `/api/sysUnit/list/{unitGroupId}` + const localVarPath = `/api/sysUnit/listByGroupId/{unitGroupId}` .replace(`{${"unitGroupId"}}`, encodeURIComponent(String(unitGroupId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, 'https://example.com'); diff --git a/Web/src/api/main/brand.ts b/Web/src/api/main/brand.ts index 13bfa63..b06d396 100644 --- a/Web/src/api/main/brand.ts +++ b/Web/src/api/main/brand.ts @@ -5,6 +5,7 @@ enum Api { UpdateBrand = '/api/brand/update', PageBrand = '/api/brand/page', DetailBrand = '/api/brand/detail', + ListBrand = '/api/brand/list', } // 增加品牌 @@ -47,4 +48,11 @@ export const detailBrand = (id: any) => data: { id }, }); +// 列表品牌 +export const listBrand = () => + request({ + url: Api.ListBrand, + method: 'get', + data: { }, + }); diff --git a/Web/src/api/main/materials.ts b/Web/src/api/main/materials.ts index 3b58048..66dd831 100644 --- a/Web/src/api/main/materials.ts +++ b/Web/src/api/main/materials.ts @@ -5,6 +5,7 @@ enum Api { UpdateMaterials = '/api/materials/update', PageMaterials = '/api/materials/page', DetailMaterials = '/api/materials/detail', + ListMaterials = '/api/materials/list', } // 增加物料 @@ -47,4 +48,11 @@ export const detailMaterials = (id: any) => data: { id }, }); +// 物料列表 +export const listMaterials = () => + request({ + url: Api.ListMaterials, + method: 'get', + data: { }, + }); diff --git a/Web/src/api/main/productionLine.ts b/Web/src/api/main/productionLine.ts new file mode 100644 index 0000000..d6b4d52 --- /dev/null +++ b/Web/src/api/main/productionLine.ts @@ -0,0 +1,59 @@ +import request from '/@/utils/request'; +enum Api { + AddProductionLine = '/api/productionLine/add', + DeleteProductionLine = '/api/productionLine/delete', + UpdateProductionLine = '/api/productionLine/update', + PageProductionLine = '/api/productionLine/page', + DetailProductionLine = '/api/productionLine/detail', + ListProductionLine = '/api/productionLine/list', +} + +// 增加生产线 +export const addProductionLine = (params?: any) => + request({ + url: Api.AddProductionLine, + method: 'post', + data: params, + }); + +// 删除生产线 +export const deleteProductionLine = (params?: any) => + request({ + url: Api.DeleteProductionLine, + method: 'post', + data: params, + }); + +// 编辑生产线 +export const updateProductionLine = (params?: any) => + request({ + url: Api.UpdateProductionLine, + method: 'post', + data: params, + }); + +// 分页查询生产线 +export const pageProductionLine = (params?: any) => + request({ + url: Api.PageProductionLine, + method: 'post', + data: params, + }); + +// 列表生产线 +export const listProductionLine = () => + request({ + url: Api.ListProductionLine, + method: 'get', + data: { }, + }); + +// 详情生产线 +export const detailProductionLine = (id: any) => + request({ + url: Api.DetailProductionLine, + method: 'get', + data: { id }, + }); + + diff --git a/Web/src/api/main/supplier.ts b/Web/src/api/main/supplier.ts index 888d6b9..d67b767 100644 --- a/Web/src/api/main/supplier.ts +++ b/Web/src/api/main/supplier.ts @@ -5,6 +5,7 @@ enum Api { UpdateSupplier = '/api/supplier/update', PageSupplier = '/api/supplier/page', DetailSupplier = '/api/supplier/detail', + ListSupplier = '/api/supplier/list', } // 增加供应商 @@ -47,4 +48,11 @@ export const detailSupplier = (id: any) => data: { id }, }); +// 列表供应商 +export const listSupplier = () => + request({ + url: Api.ListSupplier, + method: 'get', + data: { }, + }); diff --git a/Web/src/api/main/unit.ts b/Web/src/api/main/unit.ts new file mode 100644 index 0000000..534f920 --- /dev/null +++ b/Web/src/api/main/unit.ts @@ -0,0 +1,66 @@ +import request from '/@/utils/request'; +enum Api { + AddUnit = '/api/sysUnit/add', + DeleteUnit = '/api/sysUnit/delete', + UpdateUnit = '/api/sysUnit/update', + PageUnit = '/api/sysUnit/page', + DetailUnit = '/api/sysUnit/detail', + ListUnit = '/api/sysUnit/list', + ListUnitGroup = '/api/sysUnit/listByGroupId', +} + +// 增加单位 +export const addUnit = (params?: any) => + request({ + url: Api.AddUnit, + method: 'post', + data: params, + }); + +// 删除单位 +export const deleteUnit = (params?: any) => + request({ + url: Api.DeleteUnit, + method: 'post', + data: params, + }); + +// 编辑单位 +export const updateUnit = (params?: any) => + request({ + url: Api.UpdateUnit, + method: 'post', + data: params, + }); + +// 分页查询单位 +export const pageUnit = (params?: any) => + request({ + url: Api.PageUnit, + method: 'post', + data: params, + }); + +// 详情单位 +export const detailUnit = (id: any) => + request({ + url: Api.DetailUnit, + method: 'get', + data: { id }, + }); + +// 单位列表 +export const listUnit = () => + request({ + url: Api.ListUnit, + method: 'get', + data: { }, + }); + +// 单位组列表 +export const listUnitGroup = (unitGroupId: any) => + request({ + url: Api.ListUnitGroup, + method: 'get', + data: { unitGroupId }, + }); diff --git a/Web/src/api/main/warehouse.ts b/Web/src/api/main/warehouse.ts index e9057e0..591adf8 100644 --- a/Web/src/api/main/warehouse.ts +++ b/Web/src/api/main/warehouse.ts @@ -5,6 +5,7 @@ enum Api { UpdateWarehouse = '/api/warehouse/update', PageWarehouse = '/api/warehouse/page', DetailWarehouse = '/api/warehouse/detail', + ListWarehouse = '/api/warehouse/list', } // 增加仓库 @@ -47,4 +48,11 @@ export const detailWarehouse = (id: any) => data: { id }, }); +// 列表仓库 +export const listWarehouse = () => + request({ + url: Api.ListWarehouse, + method: 'get', + data: { }, + }); diff --git a/Web/src/views/basics-date/productionLine/component/editDialog.vue b/Web/src/views/basics-date/productionLine/component/editDialog.vue new file mode 100644 index 0000000..ee8a378 --- /dev/null +++ b/Web/src/views/basics-date/productionLine/component/editDialog.vue @@ -0,0 +1,135 @@ + + + + + + + diff --git a/Web/src/views/basics-date/productionLine/index.vue b/Web/src/views/basics-date/productionLine/index.vue new file mode 100644 index 0000000..8ed832a --- /dev/null +++ b/Web/src/views/basics-date/productionLine/index.vue @@ -0,0 +1,180 @@ + + + + + diff --git a/Web/src/views/inventoryManagement/productWarehousing/component/editDialog.vue b/Web/src/views/inventoryManagement/productWarehousing/component/editDialog.vue index e9ec5fc..84844a6 100644 --- a/Web/src/views/inventoryManagement/productWarehousing/component/editDialog.vue +++ b/Web/src/views/inventoryManagement/productWarehousing/component/editDialog.vue @@ -12,11 +12,14 @@ + - - + + + + - - + + + + - - - + - - + + - - - - - - - - + + + + - - - - + + + + + + + + + - @@ -237,6 +242,11 @@ import { ElMessage } from "element-plus"; import type { FormRules } from "element-plus"; import { addProductWarehousing, updateProductWarehousing, detailProductWarehousing } from "/@/api/main/productWarehousing"; + import { pageMaterials, deleteMaterials, listMaterials } from '/@/api/main/materials'; + import { listUnitGroup } from '/@/api/main/unit'; + import { listProductionLine } from '/@/api/main/productionLine'; + import { listWarehouse } from '/@/api/main/warehouse'; + import { listSupplier } from '/@/api/main/supplier'; //父级传递来的参数 var props = defineProps({ @@ -253,6 +263,12 @@ //自行添加其他规则 const rules = ref({ }); + const materials = ref([]); + const units = ref([]); + const currentMaterial = ref({}); + const warehouses = ref([]); + const productionLines = ref([]); + const suppliers = ref([]); // 打开弹窗 const openDialog = async (row: any) => { @@ -263,7 +279,10 @@ ruleForm.value = (await detailProductWarehousing(rowData.id)).data.result; else ruleForm.value = rowData; + + materials.value = (await listMaterials()).data.result; isShowDialog.value = true; + //console.log(materials.value); }; // 关闭弹窗 @@ -298,13 +317,26 @@ }; - +/** + * 物料值变更 + * @param clearBindUserId 是否清空 + */ + const materialsChange = async (value : any) => { + currentMaterial.value = value; + ruleForm.value.materialsId=value.id; + var res = await listUnitGroup(value.unitGroupId ?? 0); + units.value = res.data.result ?? []; + //console.log(value); +}; // 页面加载时 onMounted(async () => { + warehouses.value = (await listWarehouse()).data.result; + productionLines.value = (await listProductionLine()).data.result; + suppliers.value = (await listSupplier()).data.result; }); //将属性或者函数暴露给父组件 diff --git a/Web/src/views/labelPrinting/codeElement/index.vue b/Web/src/views/labelPrinting/codeElement/index.vue index 3c6eb97..cae624e 100644 --- a/Web/src/views/labelPrinting/codeElement/index.vue +++ b/Web/src/views/labelPrinting/codeElement/index.vue @@ -18,7 +18,6 @@ - diff --git a/Web/src/views/warehouseManagement/warehouseDetails/component/editDialog.vue b/Web/src/views/warehouseManagement/warehouseDetails/component/editDialog.vue index 0f5622b..734621d 100644 --- a/Web/src/views/warehouseManagement/warehouseDetails/component/editDialog.vue +++ b/Web/src/views/warehouseManagement/warehouseDetails/component/editDialog.vue @@ -13,186 +13,137 @@ - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -217,6 +168,7 @@ import { ElMessage } from "element-plus"; import type { FormRules } from "element-plus"; import { addWarehouseDetails, updateWarehouseDetails, detailWarehouseDetails } from "/@/api/main/warehouseDetails"; + import { pageMaterials, deleteMaterials, listMaterials } from '/@/api/main/materials'; //父级传递来的参数 var props = defineProps({ @@ -233,6 +185,7 @@ //自行添加其他规则 const rules = ref({ }); + const materials = ref([]); // 打开弹窗 const openDialog = async (row: any) => { @@ -243,7 +196,10 @@ ruleForm.value = (await detailWarehouseDetails(rowData.id)).data.result; else ruleForm.value = rowData; + + materials.value = (await listMaterials()).data.result; isShowDialog.value = true; + //console.log(materials.value); }; // 关闭弹窗 diff --git a/Web/src/views/warehouseManagement/warehousingStatistics/component/editDialog.vue b/Web/src/views/warehouseManagement/warehousingStatistics/component/editDialog.vue index 5fb12b1..0504001 100644 --- a/Web/src/views/warehouseManagement/warehousingStatistics/component/editDialog.vue +++ b/Web/src/views/warehouseManagement/warehousingStatistics/component/editDialog.vue @@ -13,114 +13,87 @@ + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - @@ -147,6 +120,7 @@ import { ElMessage } from "element-plus"; import type { FormRules } from "element-plus"; import { addWarehousingStatistics, updateWarehousingStatistics, detailWarehousingStatistics } from "/@/api/main/warehousingStatistics"; + import { pageMaterials, deleteMaterials, listMaterials } from '/@/api/main/materials'; //父级传递来的参数 var props = defineProps({ @@ -163,6 +137,7 @@ //自行添加其他规则 const rules = ref({ }); + const materials = ref([]); // 打开弹窗 const openDialog = async (row: any) => { @@ -173,6 +148,8 @@ ruleForm.value = (await detailWarehousingStatistics(rowData.id)).data.result; else ruleForm.value = rowData; + + materials.value = (await listMaterials()).data.result; isShowDialog.value = true; };