Browse Source

更新代码

MY 4 months ago
parent
commit
846305e33e

+ 11 - 1
JLHHJSvr/BLL/HelperBase.cs

@@ -1,4 +1,7 @@
-using System;
+using JLHHJSvr.LJFramework.Tools;
+using LJLib.InstallHelper;
+using Newtonsoft.Json.Linq;
+using System;
 using System.Collections.Generic;
 using System.Data.SqlClient;
 using System.Linq;
@@ -40,6 +43,13 @@ namespace JLHHJSvr.BLL
             return rslt;
         }
 
+        public JObject DoExecute(string apiName, JObject request)
+        {
+            var url = "http://127.0.0.1:" + GlobalVar.ERP_HTTPPort + "/api/common/" + apiName;
+            var rslt = LJHttpUtil.PostRequest(url, request);
+            return rslt;
+        }
+
         public sealed class Context
         {
             private DateTime _opdate = DateTime.Now;

+ 10 - 2
JLHHJSvr/Com/CopyMtrlDef.cs

@@ -18,13 +18,21 @@ namespace JLHHJSvr.Com
         /// </summary>
         public string token { get; set; }
         /// <summary>
-        /// 物料id
+        /// 复制价格表源头
         /// </summary>
-        public int? pricelistid { get; set; }
+        public int? pricelistid_from { get; set; }
+        /// <summary>
+        /// 复制价格表目标
+        /// </summary>
+        public int? pricelistid_to { get; set; }
         /// <summary>
         /// 类型 0 - 禁用 1 - 反禁用
         /// </summary>
         public decimal? rate { get; set; }
+        /// <summary>
+        /// 批修改单价物料id
+        /// </summary>
+        public List<int> mtrlids { get; set; }
     }
 
     public sealed class CopyMtrlDefResponse : LJResponse

+ 1 - 0
JLHHJSvr/Com/Model/u_mtrl_price.cs

@@ -93,5 +93,6 @@ namespace JLHHJSvr.Com.Model
         public decimal? price { get; set; }
         public string price_formula { get; set; }
         public string qty_formula { get; set; }
+        public int? pricelistid { get; set; }
     }
 }

+ 26 - 0
JLHHJSvr/Com/ModifyMtrlDefList.cs

@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using JLHHJSvr.Com.Model;
+using LJLib.Net.SPI.Com;
+
+namespace JLHHJSvr.Com
+{
+    public sealed class ModifyMtrlDefListRequest : ILJRequest<ModifyMtrlDefListResponse>
+    {
+        public string GetApiName()
+        {
+            return "ModifyMtrlDefList";
+        }
+        public string token { get; set; }
+        /// <summary>
+        /// 物料资料定义
+        /// </summary>
+        public List<u_mtrl_price> list { get; set; }
+    }
+
+    public sealed class ModifyMtrlDefListResponse : LJResponse
+    {
+    }
+}

+ 29 - 0
JLHHJSvr/Com/UpdateMtrldefPrice.cs

@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using JLHHJSvr.Com.Model;
+using LJLib.Net.SPI.Com;
+
+namespace JLHHJSvr.Com
+{
+    public sealed class UpdateMtrldefPriceRequest : ILJRequest<UpdateMtrldefPriceResponse>
+    {
+        public string GetApiName()
+        {
+            return "UpdateMtrldefPrice";
+        }
+        /// <summary>
+        /// 登录token
+        /// </summary>
+        public string token { get; set; }
+        /// <summary>
+        /// 物料id
+        /// </summary>
+        public List<u_mtrl_price> list { get; set; }
+    }
+
+    public sealed class UpdateMtrldefPriceResponse : LJResponse
+    {
+    }
+}

+ 51 - 5
JLHHJSvr/Excutor/CopyMtrlDefExcutor.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Data.SqlClient;
 using System.Linq;
+using DirectService.Tools;
 using JLHHJSvr.BLL;
 using JLHHJSvr.Com;
 using JLHHJSvr.LJException;
@@ -19,9 +20,14 @@ namespace JLHHJSvr.Excutor
                 rslt.ErrMsg = "会话已经中断,请重新登录";
                 return;
             }
-            if(request.pricelistid == null || request.pricelistid <= 0)
+            if(request.pricelistid_from == null || request.pricelistid_from <= 0)
             {
-                rslt.ErrMsg = "价格表id有误,请检查";
+                rslt.ErrMsg = "源头价格表id有误,请检查";
+                return;
+            }
+            if (request.pricelistid_to == null || request.pricelistid_to <= 0)
+            {
+                rslt.ErrMsg = "目标价格表id有误,请检查";
                 return;
             }
 
@@ -43,7 +49,7 @@ namespace JLHHJSvr.Excutor
 	                                            )
                                             SELECT u_mtrl_price.mtrlid
 	                                            ,@pricelistid
-	                                            ,ISNULL(price,0) * @rate
+	                                            ,0
 	                                            ,0
 	                                            ,''
                                             FROM u_mtrl_price
@@ -51,10 +57,50 @@ namespace JLHHJSvr.Excutor
 		                                            FROM u_mtrl_price_pricelist
 		                                            WHERE pricelistid = @pricelistid)";
                         cmd.Parameters.Clear();
-                        cmd.Parameters.AddWithValue("@pricelistid", request.pricelistid);
+                        cmd.Parameters.AddWithValue("@pricelistid", request.pricelistid_to);
+                        cmd.Parameters.AddWithValue("@rate", request.rate);
+                        cmd.ExecuteNonQuery();
+
+                        if(request.mtrlids != null && request.mtrlids.Count > 0)
+                        {
+                            cmd.CommandText = $@"UPDATE u_mtrl_price_pricelist
+                                            SET u_mtrl_price_pricelist.price = ISNULL(u_temp.price, 0) * @rate
+	                                            ,u_mtrl_price_pricelist.pricetype = u_temp.pricetype
+	                                            ,u_mtrl_price_pricelist.price_formula = u_temp.price_formula
+                                            FROM u_mtrl_price_pricelist
+                                            INNER JOIN (
+	                                            SELECT mtrlid
+		                                            ,price
+		                                            ,pricetype
+		                                            ,price_formula
+	                                            FROM u_mtrl_price_pricelist
+	                                            WHERE pricelistid = @pricelistid_from
+	                                            ) u_temp ON u_temp.mtrlid = u_mtrl_price_pricelist.mtrlid
+                                            WHERE u_mtrl_price_pricelist.pricelistid = @pricelistid_to AND u_mtrl_price_pricelist.mtrlid IN {ListEx.getString(request.mtrlids)}";
+                        } else
+                        {
+                            cmd.CommandText = @"UPDATE u_mtrl_price_pricelist
+                                            SET u_mtrl_price_pricelist.price = ISNULL(u_temp.price, 0) * @rate
+	                                            ,u_mtrl_price_pricelist.pricetype = u_temp.pricetype
+	                                            ,u_mtrl_price_pricelist.price_formula = u_temp.price_formula
+                                            FROM u_mtrl_price_pricelist
+                                            INNER JOIN (
+	                                            SELECT mtrlid
+		                                            ,price
+		                                            ,pricetype
+		                                            ,price_formula
+	                                            FROM u_mtrl_price_pricelist
+	                                            WHERE pricelistid = @pricelistid_from
+	                                            ) u_temp ON u_temp.mtrlid = u_mtrl_price_pricelist.mtrlid
+                                            WHERE u_mtrl_price_pricelist.pricelistid = @pricelistid_to";
+                        }
+
+                        cmd.Parameters.Clear();
+                        cmd.Parameters.AddWithValue("@pricelistid_from", request.pricelistid_from);
+                        cmd.Parameters.AddWithValue("@pricelistid_to", request.pricelistid_to);
                         cmd.Parameters.AddWithValue("@rate", request.rate);
                         cmd.ExecuteNonQuery();
-                        
+
                         cmd.Transaction.Commit();
                     }
                     catch (Exception e)

+ 11 - 28
JLHHJSvr/Excutor/GetERPMtrlTypeListExcutor.cs

@@ -7,6 +7,7 @@ using DirectService.Tools;
 using JLHHJSvr.BLL;
 using JLHHJSvr.Com;
 using JLHHJSvr.Com.Model;
+using JLHHJSvr.Helper;
 using JLHHJSvr.LJException;
 using JLHHJSvr.Tools;
 using LJLib.DAL.SQL;
@@ -25,38 +26,20 @@ namespace JLHHJSvr.Excutor
                 return;
             }
 
-            using (var con = new SqlConnection(GlobalVar.ConnectionString))
-            using (var cmd = con.CreateCommand())
-            {
-                con.Open();
-
-                using (var erp_con = new SqlConnection(BllHelper.GetERPConnectString(cmd)))
-                using (var erp_cmd = erp_con.CreateCommand())
-                {
-                    erp_con.Open();
+            var erpHelper = HelperBase.GetHelper<ERPHelper>(null);
 
-                    var selectStr = @"SELECT
-	                                    u_mtrltype.mtrltypeid, 
-	                                    u_mtrltype.typecode, 
-	                                    u_mtrltype.mtrltype, 
-	                                    u_mtrltype.parentid
-                                    FROM
-	                                    u_mtrltype";
-                    var list = new List<u_mtrltype>();
-                    DbSqlHelper.SelectJoin(erp_cmd, selectStr, null, null, "parentid", "mtrltypeid,typecode,mtrltype,parentid", 0, 0, list);
+            var list = erpHelper.GetERPList<u_mtrltype>("GetL1Mtrltype",null);
 
-                    var pk = new PkName()
-                    {
-                        MainField = "mtrltypeid",
-                        MainName = "mtrltype",
-                        ParentField = "parentid"
-                    };
+            var pk = new PkName()
+            {
+                MainField = "mtrltypeid",
+                MainName = "mtrltype",
+                ParentField = "parentid"
+            };
 
-                    ListEx.GetRecursions(list, pk, out var resultList);
+            ListEx.GetRecursions(list, pk, out var resultList);
 
-                    rslt.reList = resultList;
-                }
-            }
+            rslt.reList = resultList;
         }
     }
 }

+ 9 - 32
JLHHJSvr/Excutor/GetERPMtrldefListExcutor.cs

@@ -10,6 +10,7 @@ using JLHHJSvr.Helper;
 using JLHHJSvr.LJException;
 using LJLib.DAL.SQL;
 using LJLib.Net.SPI.Server;
+using Newtonsoft.Json.Linq;
 
 namespace JLHHJSvr.Excutor
 {
@@ -24,41 +25,17 @@ namespace JLHHJSvr.Excutor
                 return;
             }
 
-            using (var con = new SqlConnection(GlobalVar.ConnectionString))
-            using (var cmd = con.CreateCommand())
-            {
-                con.Open();
-
-                using (var erp_con = new SqlConnection(BllHelper.GetERPConnectString(cmd)))
-                using (var erp_cmd = erp_con.CreateCommand())
-                {
-                    erp_con.Open();
-                    var mtrldefList = new List<erp_mtrldef>();
+            var erpHelper = HelperBase.GetHelper<ERPHelper>(null);
 
-                    var param = new Dictionary<string, object>();
-                    var whereList = new List<string>();
-                    var selectStr = @"SELECT mtrltypeid
-	                                    ,mtrltype
-	                                    ,mtrlcode
-	                                    ,mtrlname
-	                                    ,mtrlmode
-	                                    ,unit
-	                                    ,mtrlengname
-	                                    ,dftwrkgrpid
-                                        ,mtrlid
-                                    FROM u_mtrldef";
-                    var outputFields = "mtrltypeid,mtrltype,mtrlcode,mtrlname,mtrlmode,unit,mtrlengname,dftwrkgrpid,mtrlid";
+            var parameters = new JObject();
+            if(request.mtrlid != null && request.mtrlid > 0)
+            {
+                parameters.Add("mtrlid", request.mtrlid);
+            }
 
-                    if(request.mtrlid != null && request.mtrlid > 0)
-                    {
-                        whereList.Add("mtrlid = @mtrlid");
-                        param.Add("@mtrlid", request.mtrlid);
-                    }
-                    DbSqlHelper.SelectJoin(erp_cmd, selectStr, ListEx.GetWhereStr(whereList), param, "mtrlid", outputFields, 0, 0, mtrldefList);
+            var list = erpHelper.GetERPList<erp_mtrldef>("GetL1Mtrldef", parameters);
 
-                    rslt.mtrldefList = mtrldefList;
-                }
-            }
+            rslt.mtrldefList = list;
         }
     }
 }

+ 9 - 27
JLHHJSvr/Excutor/GetERPWrkGrpListExcutor.cs

@@ -10,6 +10,7 @@ using JLHHJSvr.Helper;
 using JLHHJSvr.LJException;
 using LJLib.DAL.SQL;
 using LJLib.Net.SPI.Server;
+using Newtonsoft.Json.Linq;
 
 namespace JLHHJSvr.Excutor
 {
@@ -24,36 +25,17 @@ namespace JLHHJSvr.Excutor
                 return;
             }
 
-            using (var con = new SqlConnection(GlobalVar.ConnectionString))
-            using (var cmd = con.CreateCommand())
-            {
-                con.Open();
-
-                using (var erp_con = new SqlConnection(BllHelper.GetERPConnectString(cmd)))
-                using (var erp_cmd = erp_con.CreateCommand())
-                {
-                    erp_con.Open();
-                    var workgroupList = new List<erp_sc_workgroup>();
+            var erpHelper = HelperBase.GetHelper<ERPHelper>(null);
 
-                    var param = new Dictionary<string, object>();
-                    var whereList = new List<string>();
-                    var selectStr = @"SELECT u_sc_workgroup.wrkGrpid
-	                                        ,u_sc_workgroup.wrkGrpName
-	                                        ,u_sc_workgroup.wrkgrpcode
-                                        FROM u_sc_workgroup
-                                        WHERE inuse = 1";
-                    var outputFields = "wrkGrpid,wrkGrpName,wrkgrpcode";
+            var parameters = new JObject();
+            if (request.wrkgrpid != null && request.wrkgrpid > 0)
+            {
+                parameters.Add("wrkgrpid", request.wrkgrpid);
+            }
 
-                    if (request.wrkgrpid != null && request.wrkgrpid > 0)
-                    {
-                        whereList.Add("wrkgrpid = @wrkgrpid");
-                        param.Add("@wrkgrpid", request.wrkgrpid);
-                    }
-                    DbSqlHelper.SelectJoin(erp_cmd, selectStr, ListEx.GetWhereStr(whereList), param, "wrkgrpid", outputFields, 0, 0, workgroupList);
+            var list = erpHelper.GetERPList<erp_sc_workgroup>("GetSCWorkgroupList", parameters);
 
-                    rslt.workgroupList = workgroupList;
-                }
-            }
+            rslt.workgroupList = list;
         }
     }
 }

+ 11 - 24
JLHHJSvr/Excutor/GetMtrlDefListExcutor.cs

@@ -7,10 +7,12 @@ using DirectService.Tools;
 using JLHHJSvr.BLL;
 using JLHHJSvr.Com;
 using JLHHJSvr.Com.Model;
+using JLHHJSvr.Helper;
 using JLHHJSvr.LJException;
 using JLHHJSvr.Tools;
 using LJLib.DAL.SQL;
 using LJLib.Net.SPI.Server;
+using Newtonsoft.Json.Linq;
 
 namespace JLHHJSvr.Excutor
 {
@@ -109,6 +111,7 @@ namespace JLHHJSvr.Excutor
 								FROM u_mtrl_price";
 
                 whereList.Clear();
+                parms.Clear();
                 if (request.pricelistid != null && request.pricelistid > 0)
                 {
                     whereList.Add(@"u_mtrl_price.mtrlid NOT IN (
@@ -139,31 +142,15 @@ namespace JLHHJSvr.Excutor
                 {
                     var mtrldefList = new List<erp_mtrldef>();
                     var erp_mtrl_dict = new Dictionary<int, erp_mtrldef>();
-                    
-                    using (var erp_con = new SqlConnection(BllHelper.GetERPConnectString(cmd)))
-                    using (var erp_cmd = erp_con.CreateCommand())
-                    {
-                        erp_con.Open();
-
-                        var whereList2 = new List<string>();
-                        var selectStr2 = @"SELECT mtrltypeid
-	                                    ,mtrltype
-	                                    ,mtrlcode
-	                                    ,mtrlname
-	                                    ,mtrlmode
-	                                    ,unit
-	                                    ,mtrlengname
-	                                    ,dftwrkgrpid
-                                        ,mtrlid
-                                    FROM u_mtrldef";
-                        var outputFields2 = "mtrltypeid,mtrltype,mtrlcode,mtrlname,mtrlmode,unit,mtrlengname,dftwrkgrpid,mtrlid";
-
-                        whereList2.Add($"mtrlid IN {ListEx.getString(mtrlids)}");
-                        
-                        DbSqlHelper.SelectJoin(erp_cmd, selectStr2, ListEx.GetWhereStr(whereList2), null, "mtrlid", outputFields2, 0, 0, mtrldefList);
-                    }
 
-                    foreach(var mtrl in mtrldefList)
+                    var erpHelper = HelperBase.GetHelper<ERPHelper>(null);
+
+                    var parameters = new JObject();
+                    parameters.Add("mtrlids", JToken.FromObject(mtrlids));
+
+                    mtrldefList = erpHelper.GetERPList<erp_mtrldef>("GetL1Mtrldef", parameters);
+
+                    foreach (var mtrl in mtrldefList)
                     {
                         erp_mtrl_dict.Add(mtrl.mtrlid.Value, mtrl);
                     }

+ 93 - 0
JLHHJSvr/Excutor/ModifyMtrlDefListExcutor.cs

@@ -0,0 +1,93 @@
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Text;
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com;
+using JLHHJSvr.Com.Model;
+using JLHHJSvr.LJException;
+using JLHHJSvr.Tools;
+using LJLib.DAL.SQL;
+using LJLib.Net.SPI.Server;
+
+namespace JLHHJSvr.Excutor
+{
+    internal sealed class ModifyMtrlDefListExcutor : ExcutorBase<ModifyMtrlDefListRequest, ModifyMtrlDefListResponse>
+    {
+        protected override void ExcuteInternal(ModifyMtrlDefListRequest request, object state, ModifyMtrlDefListResponse rslt)
+        {
+            var tokendata = BllHelper.GetToken(request.token);
+            if (tokendata == null)
+            {
+                rslt.ErrMsg = "会话已经中断,请重新登录";
+                return;
+            }
+
+            if (request.list == null || !request.list.Any())
+            {
+                rslt.ErrMsg = "未提交物料类别定义";
+                return;
+            }
+
+            using (var con = new SqlConnection(GlobalVar.ConnectionString))
+            using (var cmd = con.CreateCommand())
+            {
+                con.Open();
+
+                var dtNow = DateTime.Now;
+
+                foreach(var mtrl in request.list)
+                {
+                    AutoInit.AutoInitS(cmd, mtrl);
+                }
+
+                using (cmd.Transaction = con.BeginTransaction())
+                {
+                    try
+                    {
+                        foreach (var mtrl in request.list)
+                        {
+                            if (mtrl.mtrlid > 0)
+                            {
+                                var fields = @"priceunit,shrinkage,gram_weight,cloth_width,thickness";
+                                DbSqlHelper.Update(cmd, "u_mtrl_price", null, mtrl, "mtrlid", fields);
+
+                                var fields2 = @"price,pricetype,price_formula,qty_formula";
+
+                                if(mtrl.pricelistid > 0)
+                                {
+                                    var mxlist = new List<u_mtrl_price_pricelist>();
+                                    DbSqlHelper.SelectJoin(cmd, "SELECT pricelistid,mtrlid,price,pricetype,price_formula,qty_formula FROM u_mtrl_price_pricelist", "mtrlid = @mtrlid AND pricelistid = @pricelistid", new Dictionary<string, object>() { { "@mtrlid", mtrl.mtrlid }, { "@pricelistid", mtrl.pricelistid } }, "mtrlid", "pricelistid,mtrlid,price,pricetype,price_formula,qty_formula", 0, 0, mxlist);
+                                
+                                    foreach(var mx in mxlist)
+                                    {
+                                        mx.price = mtrl.price;
+                                    }
+
+                                    mtrl.mxlist = mxlist; 
+                                }
+
+                                if (mtrl.mxlist != null && mtrl.mxlist.Any())
+                                {
+                                    foreach (var mx in mtrl.mxlist)
+                                    {
+                                        AutoInit.AutoInitS(cmd, mx);
+                                        DbSqlHelper.Update(cmd, "u_mtrl_price_pricelist", null, mx, "mtrlid,pricelistid", fields2);
+                                    }
+                                }
+                            }
+                        }
+                        
+                        cmd.Transaction.Commit();
+                    }
+                    catch (Exception e)
+                    {
+                        cmd.Transaction.Rollback();
+                        rslt.ErrMsg = e.ToString();
+                    }
+                }
+            }
+        }
+    }
+}

+ 77 - 0
JLHHJSvr/Excutor/UpdateMtrldefPriceExcutor.cs

@@ -0,0 +1,77 @@
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Linq;
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com;
+using JLHHJSvr.Com.Model;
+using JLHHJSvr.LJException;
+using JLHHJSvr.Tools;
+using LJLib.DAL.SQL;
+using LJLib.Net.SPI.Server;
+
+namespace JLHHJSvr.Excutor
+{
+    internal sealed class UpdateMtrldefPriceExcutor : ExcutorBase<UpdateMtrldefPriceRequest, UpdateMtrldefPriceResponse>
+    {
+        protected override void ExcuteInternal(UpdateMtrldefPriceRequest request, object state, UpdateMtrldefPriceResponse rslt)
+        {
+            var tokendata = BllHelper.GetToken(request.token);
+            if (tokendata == null)
+            {
+                rslt.ErrMsg = "会话已经中断,请重新登录";
+                return;
+            }
+            if (!request.list.Any())
+            {
+                rslt.ErrMsg = "至少提交一条需要更新价格的记录";
+                return;
+            }
+
+            using (var con = new SqlConnection(GlobalVar.ConnectionString))
+            using (var cmd = con.CreateCommand())
+            {
+                con.Open();
+
+                using (cmd.Transaction = con.BeginTransaction())
+                {
+                    try
+                    {
+                        foreach (var mtrl in request.list)
+                        {
+                            if (mtrl.mtrlid > 0)
+                            {
+                                var fields = @"price";
+
+                                if (mtrl.pricelistid > 0)
+                                {
+                                    var mxlist = new List<u_mtrl_price_pricelist>();
+                                    DbSqlHelper.SelectJoin(cmd, "SELECT pricelistid,mtrlid,price,pricetype,price_formula,qty_formula FROM u_mtrl_price_pricelist", "mtrlid = @mtrlid AND pricelistid = @pricelistid", new Dictionary<string, object>() { { "@mtrlid", mtrl.mtrlid }, { "@pricelistid", mtrl.pricelistid } }, "mtrlid", "pricelistid,mtrlid,price,pricetype,price_formula,qty_formula", 0, 0, mxlist);
+
+                                    foreach (var mx in mxlist)
+                                    {
+                                        // 通过kingdee获取单价
+                                    }
+
+                                    mtrl.mxlist = mxlist;
+                                }
+
+                                foreach (var mx in mtrl.mxlist)
+                                {
+                                    DbSqlHelper.Update(cmd, "u_mtrl_price_pricelist", null, mx, "mtrlid,pricelistid", fields);
+                                }
+                            }
+                        }
+
+                        cmd.Transaction.Commit();
+                    }
+                    catch (Exception e)
+                    {
+                        cmd.Transaction.Rollback();
+                        rslt.ErrMsg = e.ToString();
+                    }
+                }
+            }
+        }
+    }
+}

+ 24 - 3
JLHHJSvr/GlobalVar/GlobalVar.cs

@@ -24,6 +24,26 @@ namespace JLHHJSvr
         private static Timer _timer = null;
         private static object _syncRoot = new object();
         private static bool _initing = false;
+        /// <summary>
+        /// L1业务后台-HTTP端口(HTTP协议)
+        /// </summary>
+        public const int ERP_HTTPPort = 8080;
+        /// <summary>
+        /// L1业务后台-登录账套名
+        /// </summary>
+        public const string ERP_ACCOUNT_NAME = "rr_1";
+        /// <summary>
+        /// L1业务后台-登录账号
+        /// </summary>
+        public const string ERP_ACCOUNT_USERNAME = "super";
+        /// <summary>
+        /// L1业务后台-登录密码
+        /// </summary>
+        public const string ERP_ACCOUNT_PASSWORD = "";
+        /// <summary>
+        /// L1业务后台-Token
+        /// </summary>
+        public static string ERP_TOKEN { get; set; }
 
         public static ILJServer server
         {
@@ -139,13 +159,14 @@ namespace JLHHJSvr
                 excutorManager.AddMap("SaveBedNetVar", typeof(SaveBedNetVarRequest), new SaveBedNetVarExcutor());// 保存床网/床垫变量定义
                 excutorManager.AddMap("DeleteBedNetVar", typeof(DeleteBedNetVarRequest), new DeleteBedNetVarExcutor());// 删除床网/床垫变量定义
                 excutorManager.AddMap("GetMtrlTypeList", typeof(GetMtrlTypeListRequest), new GetMtrlTypeListExcutor());// 获取物料类型
-                excutorManager.AddMap("GetMtrlDefList", typeof(GetMtrlDefListRequest), new GetMtrlDefListExcutor());// 获取物料类型
                 excutorManager.AddMap("SaveMtrlType", typeof(SaveMtrlTypeRequest), new SaveMtrlTypeExcutor());// 获取物料类型
                 excutorManager.AddMap("DeleteMtrlType", typeof(DeleteMtrlTypeRequest), new DeleteMtrlTypeExcutor());// 获取物料类型
-                excutorManager.AddMap("SaveMtrlDef", typeof(SaveMtrlDefRequest), new SaveMtrlDefExcutor());// 获取物料资料
+                excutorManager.AddMap("GetMtrlDefList", typeof(GetMtrlDefListRequest), new GetMtrlDefListExcutor());// 获取物料资料
+                excutorManager.AddMap("SaveMtrlDef", typeof(SaveMtrlDefRequest), new SaveMtrlDefExcutor());// 保存物料资料
                 excutorManager.AddMap("DeleteMtrlDef", typeof(DeleteMtrlDefRequest), new DeleteMtrlDefExcutor());// 删除物料资料
                 excutorManager.AddMap("BanMtrlDef", typeof(BanMtrlDefRequest), new BanMtrlDefExcutor());// 禁用物料资料
-                excutorManager.AddMap("CopyMtrlDef", typeof(CopyMtrlDefRequest), new CopyMtrlDefExcutor());// 禁用物料资料
+                excutorManager.AddMap("CopyMtrlDef", typeof(CopyMtrlDefRequest), new CopyMtrlDefExcutor());// 复制物料资料
+                excutorManager.AddMap("ModifyMtrlDefList", typeof(ModifyMtrlDefListRequest), new ModifyMtrlDefListExcutor());// 复制物料资料
                 excutorManager.AddMap("GetFormulaCompute", typeof(GetFormulaComputeRequest), new GetFormulaComputeExcutor());// 公式计算
                 excutorManager.AddMap("SaveMultiPrice", typeof(SaveMultiPriceRequest), new SaveMultiPriceExcutor());// 保存多维度定价
                 excutorManager.AddMap("DeleteMultiPrice", typeof(DeleteMultiPriceRequest), new DeleteMultiPriceExcutor());// 删除多维度定价

+ 101 - 0
JLHHJSvr/Helper/ERPHelper.cs

@@ -0,0 +1,101 @@
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com.Model;
+using JLHHJSvr.LJException;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace JLHHJSvr.Helper
+{
+    internal class ERPHelper : HelperBase
+    {
+        private JObject BuildLoginRequest()
+        {
+            return new JObject
+            {
+                { "token", GlobalVar.ERP_TOKEN },
+                { "account", GlobalVar.ERP_ACCOUNT_NAME },
+                { "userid", GlobalVar.ERP_ACCOUNT_USERNAME },
+                { "password", GlobalVar.ERP_ACCOUNT_PASSWORD },
+                { "clientType", 30 }
+            };
+        }
+        protected void Login()
+        {
+            var request = BuildLoginRequest();
+
+            try
+            {
+                var result = DoExecute("Login", request);
+                var token = result.GetValue("token").ToObject<string>();
+
+                if (!string.IsNullOrEmpty(token))
+                {
+                    GlobalVar.ERP_TOKEN = token;
+                }
+            }
+            catch (Exception ex)
+            {
+                throw new LJCommonException($"ERP登录失败: {ex.Message}");
+            }
+        }
+        private void CheckLogin()
+        {
+            if(GlobalVar.ERP_TOKEN == null || string.IsNullOrEmpty(GlobalVar.ERP_TOKEN))
+            {
+                Login();
+            }
+        }
+        public List<T> GetERPList<T>(string apiMethod, JObject parameters)
+        {
+            CheckLogin();
+
+            // 根据 API 方法的返回结果名称来提取相应的数据
+            var apiDict = new Dictionary<string, string>()
+            {
+                {"GetL1Mtrldef","mtrldefList" },
+                {"GetSCWorkgroupList","scworkgroupList" },
+                {"GetL1Mtrltype","mtrltypeList" },
+            };
+
+            var request = new JObject();
+            request.Add("token", GlobalVar.ERP_TOKEN);
+
+            if (parameters != null)
+            {
+                foreach (var param in parameters)
+                {
+                    request.Add(param.Key,param.Value);
+                }
+            }
+
+            var result = DoExecute(apiMethod, request);
+
+            if (!apiDict.TryGetValue(apiMethod, out var listName))
+            {
+                throw new ArgumentException("Unsupported API method", nameof(apiMethod));
+            }
+
+            return result.GetValue(listName).ToObject<List<T>>();
+        }
+
+        public List<erp_mtrldef> GetErpMtrlDefList(JObject parameters)
+        {
+            return GetERPList<erp_mtrldef>("GetL1Mtrldef", parameters);
+        }
+
+        public List<erp_sc_workgroup> GetERPWrkGrpList(JObject parameters)
+        {
+            return GetERPList<erp_sc_workgroup>("GetSCWorkgroupList", parameters);
+        }
+
+        public List<u_mtrltype> GetERPMtrlTypeList(JObject parameters)
+        {
+            return GetERPList<u_mtrltype>("GetL1Mtrltype", parameters);
+        }
+    }
+}

+ 5 - 0
JLHHJSvr/JLHHJSvr.csproj

@@ -42,6 +42,7 @@
     <Reference Include="System.configuration" />
     <Reference Include="System.Configuration.Install" />
     <Reference Include="System.Core" />
+    <Reference Include="System.Net.Http" />
     <Reference Include="System.ServiceProcess" />
     <Reference Include="System.Web" />
     <Reference Include="System.Xml.Linq" />
@@ -165,6 +166,7 @@
     <Compile Include="Com\Model\u_shrinkage.cs" />
     <Compile Include="Com\Model\u_spring.cs" />
     <Compile Include="Com\Model\u_workmanship_add.cs" />
+    <Compile Include="Com\ModifyMtrlDefList.cs" />
     <Compile Include="Com\ReBuildMattressInterface.cs" />
     <Compile Include="Com\ReCalculateBedNetNoAudit.cs" />
     <Compile Include="Com\ReCalculateNoAudit.cs" />
@@ -309,6 +311,7 @@
     <Compile Include="Excutor\MattressJS2AuditExcutor.cs" />
     <Compile Include="Excutor\MattressJSAuditExcutor.cs" />
     <Compile Include="Excutor\MattressYWAuditExcutor.cs" />
+    <Compile Include="Excutor\ModifyMtrlDefListExcutor.cs" />
     <Compile Include="Excutor\ModPasswordExcutor.cs" />
     <Compile Include="Excutor\PostFileExcutor.cs" />
     <Compile Include="Excutor\ReBuildMattressInterfaceExcutor.cs" />
@@ -347,12 +350,14 @@
     <Compile Include="Excutor\SetSysUserFileStringExcutor.cs" />
     <Compile Include="Excutor\SetOptionExcutor.cs" />
     <Compile Include="Helper\BedNetHelper.cs" />
+    <Compile Include="Helper\ERPHelper.cs" />
     <Compile Include="Helper\InterfaceHelper.cs" />
     <Compile Include="Helper\MattressHelper.cs" />
     <Compile Include="ImgHelper\ImgHelper.cs" />
     <Compile Include="LJFrameWork\LJException\LJException.cs" />
     <Compile Include="LJFrameWork\LJLib.Method\SortedListEx.cs" />
     <Compile Include="LJFrameWork\Tools\LJExprParser.cs" />
+    <Compile Include="LJFrameWork\Tools\LJHttpUtil.cs" />
     <Compile Include="LJLib.HttpServer\IFileDBModel.cs" />
     <Compile Include="LJLib.HttpServer\SimpleHttpServer.cs" />
     <Compile Include="LJLib.HttpServer\LJHttpProcessor.cs" />

+ 50 - 0
JLHHJSvr/LJFrameWork/Tools/LJHttpUtil.cs

@@ -0,0 +1,50 @@
+using JLHHJSvr.LJException;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Net.Mime;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace JLHHJSvr.LJFramework.Tools
+{
+    public class LJHttpUtil
+    {
+        private static readonly HttpClient httpClient = new HttpClient();
+        private const string ContentType = "application/json";
+
+        public static JObject PostRequest(string url, JObject requestObj)
+        {
+            var jsonStr = requestObj.ToString();
+            var content = new StringContent(jsonStr, Encoding.UTF8, ContentType);
+
+            try
+            {
+                using (var response = httpClient.PostAsync(url, content).Result)
+                {
+                    response.EnsureSuccessStatusCode();
+                    var responseBody = response.Content.ReadAsStringAsync().Result;
+
+                    try
+                    {
+                        var result = JsonConvert.DeserializeObject<JObject>(responseBody);
+                        return result;
+                    }
+                    catch (JsonReaderException e)
+                    {
+                        throw new LJCommonException($"JSON 反序列化失败:{e.Message}\r\n响应体:{responseBody}");
+                    }
+                }
+            }
+            catch (HttpRequestException e)
+            {
+                throw new HttpRequestException($"请求错误:{e.Message}", e);
+            }
+        }
+    }
+}

+ 7 - 1
JLHWEB/src/api/interface/index.ts

@@ -1145,7 +1145,7 @@ export namespace Basicinfo {
     mtrltype: any;
   }
   export interface ReqSaveMtrlDef {
-    mtrldef: any;
+    mtrls: any[];
   }
   export interface ReqSaveMultiPrice {
     price: any;
@@ -1166,6 +1166,12 @@ export namespace Basicinfo {
     pageindex: number;
     totalcnt: number;
   }
+  export interface ReqCopyMtrlDef {
+    pricelistid_from: number;
+    pricelistid_to: number;
+    rate: number;
+    mtrlids: number[];
+  }
 }
 
 export namespace SalePrice {

+ 14 - 0
JLHWEB/src/api/modules/basicinfo.ts

@@ -271,6 +271,20 @@ export const BanMtrlDef = (params: Basicinfo.ReqBanBasicinfo) => {
   return http.post<Basicinfo.ResBanBasicinfo>(PORT1 + `/BanMtrlDef`, params);
 };
 
+/**
+ * @name 修改 物料资料定义
+ */
+export const ModifyMtrlDefList = (params: Basicinfo.ReqDeleteBasicinfo) => {
+  return http.post(PORT1 + `/ModifyMtrlDefList`, params);
+};
+
+/**
+ * @name 修改 物料资料定义
+ */
+export const CopyMtrlDef = (params: Basicinfo.ReqCopyMtrlDef) => {
+  return http.post(PORT1 + `/CopyMtrlDef`, params);
+};
+
 /**
  * @name 获取 物料资料定义
  */

+ 113 - 18
JLHWEB/src/views/baseinfo/mtrldef/hooks/index.tsx

@@ -24,7 +24,13 @@ interface defaultState {
    */
   VxeTableMxRef: any;
   copyFormVisible: boolean;
-  copyformParam: any;
+  copyFormOption: any[];
+  copyFormCol: any;
+  copyFormValue: any;
+  priceListEnum: any[];
+  priceListFormVisiable: boolean;
+  priceListFormParams: any;
+  priceListVisiable: boolean;
 }
 
 const state = reactive<defaultState>({
@@ -33,7 +39,67 @@ const state = reactive<defaultState>({
   LjDetailRef: null,
   VxeTableMxRef: null,
   copyFormVisible: false,
-  copyformParam: {}
+  copyFormOption: [
+    {
+      field: "price",
+      title: "单价单位",
+      datatype: "number",
+      basicinfo: {
+        el: "input",
+        span: 2,
+        editable: ALLOW_EDIT_STATE
+      }
+    },
+    {
+      field: "priceunit",
+      title: "单位",
+      basicinfo: {
+        el: "input",
+        span: 2,
+        editable: ALLOW_EDIT_STATE
+      }
+    },
+    {
+      field: "shrinkage",
+      title: "收缩率",
+      datatype: "number",
+      basicinfo: {
+        el: "input",
+        span: 2,
+        editable: ALLOW_EDIT_STATE
+      }
+    },
+    {
+      field: "thickness",
+      title: "厚度",
+      datatype: "number",
+      basicinfo: {
+        el: "input",
+        span: 2,
+        editable: ALLOW_EDIT_STATE
+      }
+    },
+    {
+      field: "gram_weight",
+      title: "克重",
+      datatype: "number",
+      basicinfo: {
+        el: "input",
+        span: 2,
+        editable: ALLOW_EDIT_STATE
+      }
+    }
+  ],
+  copyFormCol: {},
+  copyFormValue: "",
+  priceListEnum: [],
+  priceListFormVisiable: false,
+  priceListFormParams: {
+    pricelistid_from: 0 as number,
+    pricelistid_to: 0 as number,
+    rate: 1 as number
+  },
+  priceListVisiable: false
 });
 /**
  * @description 表格多选数据操作
@@ -46,7 +112,10 @@ export const useHooks = (t?: any) => {
     {
       field: "fjcnt",
       title: "附件",
-      width: 80
+      width: 80,
+      basicinfo: {
+        visible: false
+      }
     },
     {
       field: "name",
@@ -62,9 +131,7 @@ export const useHooks = (t?: any) => {
       title: "单价单位",
       datatype: "number",
       basicinfo: {
-        el: "input",
-        span: 2,
-        editable: ALLOW_EDIT_STATE
+        visible: false
       }
     },
     {
@@ -128,31 +195,52 @@ export const useHooks = (t?: any) => {
     },
     {
       field: "createby",
-      title: "登记人"
+      title: "登记人",
+      basicinfo: {
+        visible: false
+      }
     },
     {
       field: "createtime",
-      title: "登记时间"
+      title: "登记时间",
+      basicinfo: {
+        visible: false
+      }
     },
     {
       field: "erp_mtrlcode",
-      title: "L1物料编码"
+      title: "L1物料编码",
+      basicinfo: {
+        visible: false
+      }
     },
     {
       field: "erp_mtrlname",
-      title: "L1物料名称"
+      title: "L1物料名称",
+      basicinfo: {
+        visible: false
+      }
     },
     {
       field: "erp_mtrlmode",
-      title: "L1物料规格"
+      title: "L1物料规格",
+      basicinfo: {
+        visible: false
+      }
     },
     {
       field: "erp_unit",
-      title: "L1物料单位"
+      title: "L1物料单位",
+      basicinfo: {
+        visible: false
+      }
     },
     {
       field: "erp_mtrlengname",
-      title: "L1英文名称"
+      title: "L1英文名称",
+      basicinfo: {
+        visible: false
+      }
     },
     {
       field: "isuse",
@@ -206,19 +294,26 @@ export const useHooks = (t?: any) => {
     {
       field: "pricelistid",
       title: "价格表",
-      // visible: false,
+      visible: false,
       // limited: true,
       enum: async () => {
-        const data = await getPriceList();
-        return { data: data.list };
+        const data = (await getPriceList()).list;
+        state.priceListEnum = data;
+        return { data };
+      },
+      basicinfo: {
+        visible: false
       },
       search: {
         el: "select",
         key: "pricelistid",
         props: {
+          clearable: false,
           filterable: false,
-          defaultFirstOption: true
-        }
+          defaultFirstOption: true,
+          remote: true
+        },
+        defaultValue: 12
       },
       fieldNames: {
         label: "pricelistname",

+ 187 - 14
JLHWEB/src/views/baseinfo/mtrldef/index.vue

@@ -33,11 +33,11 @@
               <el-button @click="handleOpenNewTable">{{ $t("common.add") }}</el-button>
               <el-button @click="fDelete">{{ $t("common.delText") }}</el-button>
               <el-button @click="fBan">{{ $t("common.disable") }}</el-button>
-              <el-button @click="fBan">价格表复制</el-button>
+              <el-button @click="handleShowPriceListForm">价格表复制</el-button>
               <el-button @click="handleCopyMtrldef">物料复制</el-button>
-              <el-button @click="handleCopyMtrldef">批修改</el-button>
-              <el-button @click="handleCopyMtrldef">批修改单价</el-button>
-              <el-button @click="handleCopyMtrldef">读取单价</el-button>
+              <el-button @click="handleShowCopyForm">批修改</el-button>
+              <el-button @click="handleModifyPrice">批修改单价</el-button>
+              <el-button>读取单价</el-button>
             </el-button-group>
           </template>
         </LjVxeTable>
@@ -64,24 +64,64 @@
     </div>
   </LjDialog>
 
-  <!-- <el-dialog v-model="copyFormVisible" title="价格表复制" width="500" draggable append-to-body>
-    <el-form :model="formParam" label-width="80px">
-      <el-form-item label="工艺利润率">
-        <el-input type="number" v-model="formParam.rate" clearable form min="0"></el-input>
+  <el-dialog v-model="copyFormVisible" title="物料批修改" width="500" draggable append-to-body>
+    <el-form label-width="80px">
+      <el-form-item label="修改字段">
+        <el-select v-model="copyFormCol" value-key="title" @change="copyFormValue = ''">
+          <el-option v-for="(col, index) in copyFormOption" :key="index" :label="col.title" :value="col"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="修改内容">
+        <el-input v-model="copyFormValue" :type="copyFormCol.datatype ?? 'text'"></el-input>
+      </el-form-item>
+    </el-form>
+    <template #footer>
+      <div class="dialog-footer">
+        <el-button @click="copyFormVisible = false">取消</el-button>
+        <el-button type="primary" @click="handleCopyFormConfirm">确认</el-button>
+      </div>
+    </template>
+  </el-dialog>
+
+  <el-dialog v-model="priceListFormVisiable" title="价格表选择" width="500" draggable append-to-body>
+    <el-form label-width="80px">
+      <el-form-item label="源头" v-if="priceListVisiable">
+        <el-select v-model="priceListFormParams.pricelistid_from">
+          <el-option
+            v-for="(col, index) in priceListEnum"
+            :key="index"
+            :label="col.pricelistname"
+            :value="col.pricelistid"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="比例" required>
+        <el-input v-model="priceListFormParams.rate" type="number" min="0"></el-input>
+      </el-form-item>
+      <el-form-item label="目标" v-if="priceListVisiable">
+        <el-select v-model="priceListFormParams.pricelistid_to">
+          <el-option
+            v-for="(col, index) in priceListEnum"
+            :key="index"
+            :label="col.pricelistname"
+            :value="col.pricelistid"
+          ></el-option>
+        </el-select>
       </el-form-item>
     </el-form>
     <template #footer>
       <div class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button type="primary" @click="BatchModifyRate">确认</el-button>
+        <el-button @click="copyFormVisible = false">取消</el-button>
+        <el-button type="primary" @click="handlePriceListCopyConfirm">确认</el-button>
       </div>
     </template>
-  </el-dialog> -->
+  </el-dialog>
 </template>
 
 <script setup lang="ts" name="baseinfo_mtrldeflist">
 import { ref, onMounted, provide } from "vue";
-import { getMtrlDefList } from "@/api/modules/basicinfo";
+import { getMtrlDefList, ModifyMtrlDefList, CopyMtrlDef } from "@/api/modules/basicinfo";
+import { getPriceList } from "@/api/modules/saleprice";
 import { useHooks as useHooks_mtrltype } from "@/views/baseinfo/mtrltype/hooks/index";
 import Detail from "./detail.vue";
 import { useHooks } from "./hooks/index";
@@ -97,7 +137,7 @@ import { getCurrentRecords } from "@/utils/index";
 const dwname = "web_mtrldeflist";
 const mainData = ref({});
 const mtrltype = ref({});
-const initParams = ref({ mtrltypeids: undefined as Number[], pricelistid: 0 });
+const initParams = ref({ mtrltypeids: undefined as Number[] });
 const tableProps = {
   height: "auto",
   editConfig: { trigger: "click", mode: "cell" }
@@ -115,7 +155,23 @@ const layoutSetting = {
 };
 
 const { t } = useI18n();
-const { VxeTableRef, LjDetailRef, VxeTableMxRef, columns, fDelete, fSave, fBan } = useHooks(t);
+const {
+  VxeTableRef,
+  LjDetailRef,
+  VxeTableMxRef,
+  columns,
+  fDelete,
+  fSave,
+  fBan,
+  copyFormVisible,
+  copyFormCol,
+  copyFormValue,
+  copyFormOption,
+  priceListEnum,
+  priceListFormVisiable,
+  priceListFormParams,
+  priceListVisiable
+} = useHooks(t);
 const { gMtrltypeList } = useHooks_mtrltype(t);
 const { CheckPower, CheckOption, buttonNew, buttonDefault } = useAuthButtons(t);
 
@@ -235,6 +291,123 @@ const handleCopyMtrldef = () => {
   LjDrawerRef.value.show();
 };
 
+const handleShowCopyForm = () => {
+  const { curRecords } = getCurrentRecords(VxeTableRef.value);
+
+  console.log("curRecords :>> ", curRecords);
+  if (!curRecords.length) {
+    ElMessage.warning(t("business.tips.mattress.records"));
+    return;
+  }
+
+  copyFormVisible.value = true;
+};
+
+const handleCopyFormConfirm = () => {
+  console.log(copyFormCol);
+
+  const { curRecords } = getCurrentRecords(VxeTableRef.value);
+
+  console.log("curRecords :>> ", curRecords);
+  if (!curRecords.length) {
+    ElMessage.warning(t("business.tips.mattress.records"));
+    return;
+  }
+
+  curRecords.forEach(element => {
+    element[copyFormCol.value.field] = copyFormValue.value;
+  });
+
+  ModifyMtrlDefList({ list: curRecords })
+    .then(() => {
+      copyFormVisible.value = false;
+
+      ElMessage.success("修改成功!");
+      VxeTableRef?.value.refresh();
+    })
+    .catch(() => {
+      ElMessage({
+        type: "info",
+        message: "操作取消"
+      });
+    });
+};
+
+const handleShowPriceListForm = () => {
+  const { curRecords } = getCurrentRecords(VxeTableRef.value);
+
+  console.log("curRecords :>> ", curRecords);
+  if (!curRecords.length) {
+    ElMessage.warning(t("business.tips.mattress.records"));
+    return;
+  }
+
+  priceListFormVisiable.value = true;
+  priceListVisiable.value = true;
+};
+
+const handlePriceListCopyConfirm = () => {
+  const { curRecords } = getCurrentRecords(VxeTableRef.value);
+
+  console.log("curRecords :>> ", curRecords);
+  if (!curRecords.length) {
+    ElMessage.warning(t("business.tips.mattress.records"));
+    return;
+  }
+
+  curRecords.forEach(element => {
+    element[copyFormCol.value.field] = copyFormValue.value;
+  });
+
+  let mtrlids = [];
+
+  if (!priceListVisiable.value) {
+    mtrlids = curRecords.map(item => item.mtrlid);
+  }
+
+  ElMessageBox.confirm(`是否确定要更新价格表单价?`, "询问", {
+    confirmButtonText: "是",
+    cancelButtonText: "否",
+    type: "warning"
+  })
+    .then(() => {
+      CopyMtrlDef({
+        pricelistid_from: priceListFormParams.value.pricelistid_from,
+        pricelistid_to: priceListFormParams.value.pricelistid_to,
+        rate: priceListFormParams.value.rate,
+        mtrlids
+      }).then(() => {
+        priceListFormVisiable.value = false;
+
+        ElMessage.success(`更新价格表单价成功!`);
+        VxeTableRef?.value.refresh();
+      });
+    })
+    .catch(() => {
+      ElMessage({
+        type: "info",
+        message: "操作取消"
+      });
+    });
+};
+
+const handleModifyPrice = () => {
+  const { curRecords } = getCurrentRecords(VxeTableRef.value);
+
+  console.log("curRecords :>> ", curRecords);
+  if (!curRecords.length) {
+    ElMessage.warning(t("business.tips.mattress.records"));
+    return;
+  }
+
+  priceListVisiable.value = false;
+  priceListFormVisiable.value = true;
+
+  priceListFormParams.value.pricelistid_from = curRecords[0].pricelistid;
+  priceListFormParams.value.pricelistid_to = curRecords[0].pricelistid;
+  priceListFormParams.value.rate = 1;
+};
+
 // 返回绑定的事件
 const tableEvents = {
   "cell-dblclick": handleDBlClickTable