MY 6 kuukautta sitten
vanhempi
commit
70a13460e5

+ 1 - 1
JLHHJSvr/Com/DeleteBedNetType.cs

@@ -20,7 +20,7 @@ namespace JLHHJSvr.Com
         /// <summary>
         /// 床网类别id
         /// </summary>
-        public int bednettypeid { get; set; }
+        public List<u_bednet_type> list { get; set; }
     }
 
     public sealed class DeleteBedNetTypeResponse : LJResponse

+ 1 - 1
JLHHJSvr/Com/DeleteDept.cs

@@ -20,7 +20,7 @@ namespace JLHHJSvr.Com
         /// <summary>
         /// 部门id
         /// </summary>
-        public int deptid { get; set; }
+        public List<u_dept> list { get; set; }
     }
 
     public sealed class DeleteDeptResponse : LJResponse

+ 1 - 1
JLHHJSvr/Com/DeleteMattressFormula.cs

@@ -20,7 +20,7 @@ namespace JLHHJSvr.Com
         /// <summary>
         /// 床垫公式id
         /// </summary>
-        public int formulaid { get; set; }
+        public List<u_mattress_formula> list { get; set; }
     }
 
     public sealed class DeleteMattressFormulaResponse : LJResponse

+ 1 - 1
JLHHJSvr/Com/DeleteMattressType.cs

@@ -20,7 +20,7 @@ namespace JLHHJSvr.Com
         /// <summary>
         /// 床垫类别id
         /// </summary>
-        public int mattresstypeid { get; set; }
+        public List<u_mattress_type> list { get; set; }
     }
 
     public sealed class DeleteMattressTypeResponse : LJResponse

+ 1 - 1
JLHHJSvr/Com/DeleteWorkmanship.cs

@@ -20,7 +20,7 @@ namespace JLHHJSvr.Com
         /// <summary>
         /// 加点id
         /// </summary>
-        public int workmanshipid { get; set; }
+        public List<u_workmanship_add> list { get; set; }
     }
 
     public sealed class DeleteWorkmanshipResponse : LJResponse

+ 3 - 1
JLHHJSvr/Com/Model/u_bednet_type.cs

@@ -1,10 +1,12 @@
-using System;
+using LJLib.DAL.SQL;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 
 namespace JLHHJSvr.Com.Model
 {
+    [PK(new[] { "bednettypeid" })]
     public sealed class u_bednet_type
     {
         /// <summary>

+ 23 - 1
JLHHJSvr/Com/Model/u_dept.cs

@@ -1,10 +1,12 @@
-using System;
+using LJLib.DAL.SQL;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 
 namespace JLHHJSvr.Com.Model
 {
+    [PK(new[] { "deptid" })]
     public sealed class u_dept
     {
         /// <summary>
@@ -51,5 +53,25 @@ namespace JLHHJSvr.Com.Model
         /// 创建时间
         /// </summary>
         public DateTime? createtime { get; set; }
+        /// <summary>
+        /// 汇率
+        /// </summary>
+        public decimal? moneyrate { get; set; }
+        /// <summary>
+        /// manage_amt
+        /// </summary>
+        public decimal? manage_amt { get; set; }
+        /// <summary>
+        /// 折扣率
+        /// </summary>
+        public decimal? discount { get; set; }
+        /// <summary>
+        /// 是否自动读取汇率
+        /// </summary>
+        public byte? if_rate_auto { get; set; }
+        /// <summary>
+        /// 默认物料类别
+        /// </summary>
+        public int? mtrltype { get; set; }
     }
 }

+ 3 - 1
JLHHJSvr/Com/Model/u_mattress_formula.cs

@@ -1,10 +1,12 @@
-using System;
+using LJLib.DAL.SQL;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 
 namespace JLHHJSvr.Com.Model
 {
+    [PK(new[] { "formulaid" })]
     public sealed class u_mattress_formula
     {
         /// <summary>

+ 3 - 1
JLHHJSvr/Com/Model/u_pricelist.cs

@@ -1,10 +1,12 @@
-using System;
+using LJLib.DAL.SQL;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 
 namespace JLHHJSvr.Com.Model
 {
+    [PK(new[] { "pricelistid" })]
     public sealed class u_pricelist
     {
         /// <summary>

+ 3 - 1
JLHHJSvr/Com/Model/u_workmanship_add.cs

@@ -1,10 +1,12 @@
-using System;
+using LJLib.DAL.SQL;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 
 namespace JLHHJSvr.Com.Model
 {
+    [PK(new[] { "workmanshipid" })]
     public sealed class u_workmanship_add
     {
         /// <summary>

+ 12 - 0
JLHHJSvr/DataStore/_Mapper_bednettypeid.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<select>
+  <selectstr>
+SELECT u_bednet_type.bednettypeid,
+	u_bednet_type.typename
+FROM u_bednet_type
+  </selectstr>
+  <where>
+  </where>
+  <displayfields>
+  </displayfields>
+</select>

+ 12 - 0
JLHHJSvr/DataStore/_Mapper_deptid.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<select>
+  <selectstr>
+SELECT u_dept.deptid,
+	u_dept.deptname
+FROM u_dept
+  </selectstr>
+  <where>
+  </where>
+  <displayfields>
+  </displayfields>
+</select>

+ 2 - 2
JLHHJSvr/DataStore/_Mapper_pricelist.xml

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <select>
   <selectstr>
-SELECT u_pricelist.pricelistname
-	,u_pricelist.pricelistid
+SELECT u_pricelist.pricelistid,
+	u_pricelist.pricelistname
 FROM u_pricelist
   </selectstr>
   <where>

+ 12 - 0
JLHHJSvr/DataStore/_Mapper_springtype.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<select>
+  <selectstr>
+SELECT u_springtype.springtypeid,
+	u_springtype.springtypename
+FROM u_springtype
+  </selectstr>
+  <where>
+  </where>
+  <displayfields>
+  </displayfields>
+</select>

+ 2 - 5
JLHHJSvr/DataStore/web_deptlist.xml

@@ -17,11 +17,7 @@ SELECT u_dept.deptid
 	,u_dept.auditdate
 	,u_dept.manage_amt
 	,u_dept.mtrltype
-	,ISNULL(u_pricelist.pricelistname,'') AS pricelistname
-	,ISNULL(u_springtype.springtypename,'') AS springtypename
 FROM u_dept
-LEFT JOIN u_pricelist ON u_dept.pricelistid = u_pricelist.pricelistid
-LEFT JOIN u_springtype ON u_springtype.springtypeid = u_dept.springtypeid
   </selectstr>
   <where>
   </where>
@@ -31,10 +27,11 @@ LEFT JOIN u_springtype ON u_springtype.springtypeid = u_dept.springtypeid
 	<field field="pid" compute="getrow()">序</field>
 	<field field="deptname">部门名称</field>
 	<field field="pricelistid" mapper="pricelist">价格表</field>
-	<field field="springtypename">弹簧分类</field>
+	<field field="springtypeid" mapper="springtype">弹簧分类</field>
 	<field field="profitrate">利润率</field>
 	<field field="createtime">建立时间</field>
 	<field field="moneyrate">汇率</field>
+	<field field="discount">折扣率</field>
 	<field field="if_rate_auto">是否自动读取汇率</field>
 	<field field="modemp">修改人</field>
 	<field field="moddate">修改时间</field>

+ 17 - 11
JLHHJSvr/DataStore/web_factory_profitratelist.xml

@@ -1,22 +1,28 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <select>
   <selectstr>
-SELECT u_factory_profitrate.bednet_or_mattress
-	,u_factory_profitrate.bednettypeid_mattresstypeid
-	,u_factory_profitrate.profitrate
+SELECT ISNULL(u_factory_profitrate.deptid,v_temp.deptid) AS deptid
+	,ISNULL(u_factory_profitrate.bednet_or_mattress,@kind) AS bednet_or_mattress
+	,ISNULL(u_factory_profitrate.bednettypeid_mattresstypeid,v_temp.bednettypeid) AS bednettypeid_mattresstypeid
+	,ISNULL(u_factory_profitrate.profitrate, 0) AS profitrate
 	,u_factory_profitrate.createtime
 	,u_factory_profitrate.createby
-	,u_dept.deptname
-	,u_dept.deptid
-	,u_bednet_type.typename
+	,v_temp.deptname
+	,v_temp.typename
 FROM u_factory_profitrate
-INNER JOIN u_dept ON u_factory_profitrate.deptid = u_dept.deptid
-INNER JOIN u_bednet_type ON u_factory_profitrate.bednettypeid_mattresstypeid = u_bednet_type.bednettypeid
-
+RIGHT OUTER JOIN (
+	SELECT u_dept.deptid
+		,u_bednet_type.bednettypeid
+		,u_dept.deptname
+		,u_bednet_type.typename
+	FROM u_dept
+		,u_bednet_type
+	) v_temp ON u_factory_profitrate.deptid = v_temp.deptid
+	AND u_factory_profitrate.bednettypeid_mattresstypeid = v_temp.bednettypeid
   </selectstr>
   <where>
-	<when notnull="@kind">
-		u_factory_profitrate.bednet_or_mattress = @kind
+	<when>
+		ISNULL(u_factory_profitrate.bednet_or_mattress,@kind) = @kind
 	</when>
   </where>
   <orderstr>

+ 10 - 5
JLHHJSvr/Excutor/DeleteBedNetTypeExcutor.cs

@@ -6,6 +6,8 @@ using System.Text;
 using DirectService.Tools;
 using JLHHJSvr.BLL;
 using JLHHJSvr.Com;
+using JLHHJSvr.LJException;
+using LJLib.DAL.SQL;
 using LJLib.Net.SPI.Server;
 
 namespace JLHHJSvr.Excutor
@@ -20,7 +22,7 @@ namespace JLHHJSvr.Excutor
                 rslt.ErrMsg = "会话已经中断,请重新登录";
                 return;
             }
-            if (request.bednettypeid <= 0)
+            if (!request.list.Any())
             {
                 rslt.ErrMsg = "至少提交一条需要删除的记录";
                 return;
@@ -35,10 +37,13 @@ namespace JLHHJSvr.Excutor
                 {
                     try
                     {
-                        cmd.CommandText = @"DELETE u_bednet_type WHERE bednettypeid = @bednettypeid";
-                        cmd.Parameters.Clear();
-                        cmd.Parameters.AddWithValue("@bednettypeid", request.bednettypeid);
-                        cmd.ExecuteNonQuery();
+                        foreach (var bednet in request.list)
+                        {
+                            if (DbSqlHelper.Delete(cmd, bednet) == 0)
+                            {
+                                throw new LJCommonException($"床网类别定义:{bednet.typename}不存在");
+                            }
+                        }
 
                         cmd.Transaction.Commit();
                     }

+ 11 - 5
JLHHJSvr/Excutor/DeleteDeptExcutor.cs

@@ -6,6 +6,9 @@ using System.Text;
 using DirectService.Tools;
 using JLHHJSvr.BLL;
 using JLHHJSvr.Com;
+using JLHHJSvr.Com.Model;
+using JLHHJSvr.LJException;
+using LJLib.DAL.SQL;
 using LJLib.Net.SPI.Server;
 
 namespace JLHHJSvr.Excutor
@@ -20,7 +23,7 @@ namespace JLHHJSvr.Excutor
                 rslt.ErrMsg = "会话已经中断,请重新登录";
                 return;
             }
-            if (request.deptid <= 0)
+            if (!request.list.Any())
             {
                 rslt.ErrMsg = "至少提交一条需要删除的记录";
                 return;
@@ -35,10 +38,13 @@ namespace JLHHJSvr.Excutor
                 {
                     try
                     {
-                        cmd.CommandText = @"DELETE u_dept WHERE deptid = @deptid";
-                        cmd.Parameters.Clear();
-                        cmd.Parameters.AddWithValue("@deptid", request.deptid);
-                        cmd.ExecuteNonQuery();
+                        foreach(var dept in request.list)
+                        {
+                            if(DbSqlHelper.Delete(cmd, dept) == 0)
+                            {
+                                throw new LJCommonException($"部门:{dept.deptname}不存在");
+                            }
+                        }
 
                         cmd.Transaction.Commit();
                     }

+ 10 - 5
JLHHJSvr/Excutor/DeleteMattressFormulaExcutor.cs

@@ -6,6 +6,8 @@ using System.Text;
 using DirectService.Tools;
 using JLHHJSvr.BLL;
 using JLHHJSvr.Com;
+using JLHHJSvr.LJException;
+using LJLib.DAL.SQL;
 using LJLib.Net.SPI.Server;
 
 namespace JLHHJSvr.Excutor
@@ -20,7 +22,7 @@ namespace JLHHJSvr.Excutor
                 rslt.ErrMsg = "会话已经中断,请重新登录";
                 return;
             }
-            if (request.formulaid <= 0)
+            if (!request.list.Any())
             {
                 rslt.ErrMsg = "至少提交一条需要删除的记录";
                 return;
@@ -35,10 +37,13 @@ namespace JLHHJSvr.Excutor
                 {
                     try
                     {
-                        cmd.CommandText = @"DELETE u_mattress_formula WHERE formulaid = @formulaid";
-                        cmd.Parameters.Clear();
-                        cmd.Parameters.AddWithValue("@formulaid", request.formulaid);
-                        cmd.ExecuteNonQuery();
+                        foreach (var mattress in request.list)
+                        {
+                            if (DbSqlHelper.Delete(cmd, mattress) == 0)
+                            {
+                                throw new LJCommonException($"床垫公式定义:{mattress.formulakind}不存在");
+                            }
+                        }
 
                         cmd.Transaction.Commit();
                     }

+ 10 - 5
JLHHJSvr/Excutor/DeleteMattressTypeExcutor.cs

@@ -6,6 +6,8 @@ using System.Text;
 using DirectService.Tools;
 using JLHHJSvr.BLL;
 using JLHHJSvr.Com;
+using JLHHJSvr.LJException;
+using LJLib.DAL.SQL;
 using LJLib.Net.SPI.Server;
 
 namespace JLHHJSvr.Excutor
@@ -20,7 +22,7 @@ namespace JLHHJSvr.Excutor
                 rslt.ErrMsg = "会话已经中断,请重新登录";
                 return;
             }
-            if (request.mattresstypeid <= 0)
+            if (!request.list.Any())
             {
                 rslt.ErrMsg = "至少提交一条需要删除的记录";
                 return;
@@ -35,10 +37,13 @@ namespace JLHHJSvr.Excutor
                 {
                     try
                     {
-                        cmd.CommandText = @"DELETE u_mattress_type WHERE mattresstypeid = @mattresstypeid";
-                        cmd.Parameters.Clear();
-                        cmd.Parameters.AddWithValue("@mattresstypeid", request.mattresstypeid);
-                        cmd.ExecuteNonQuery();
+                        foreach (var mattress in request.list)
+                        {
+                            if (DbSqlHelper.Delete(cmd, mattress) == 0)
+                            {
+                                throw new LJCommonException($"床垫类别定义:{mattress.typename}不存在");
+                            }
+                        }
 
                         cmd.Transaction.Commit();
                     }

+ 10 - 5
JLHHJSvr/Excutor/DeleteWorkmanshipExcutor.cs

@@ -6,6 +6,8 @@ using System.Text;
 using DirectService.Tools;
 using JLHHJSvr.BLL;
 using JLHHJSvr.Com;
+using JLHHJSvr.LJException;
+using LJLib.DAL.SQL;
 using LJLib.Net.SPI.Server;
 
 namespace JLHHJSvr.Excutor
@@ -20,7 +22,7 @@ namespace JLHHJSvr.Excutor
                 rslt.ErrMsg = "会话已经中断,请重新登录";
                 return;
             }
-            if (request.workmanshipid <= 0)
+            if (!request.list.Any())
             {
                 rslt.ErrMsg = "至少提交一条需要删除的记录";
                 return;
@@ -35,10 +37,13 @@ namespace JLHHJSvr.Excutor
                 {
                     try
                     {
-                        cmd.CommandText = @"DELETE u_workmanship_add WHERE workmanshipid = @workmanshipid";
-                        cmd.Parameters.Clear();
-                        cmd.Parameters.AddWithValue("@workmanshipid", request.workmanshipid);
-                        cmd.ExecuteNonQuery();
+                        foreach (var workmanship in request.list)
+                        {
+                            if (DbSqlHelper.Delete(cmd, workmanship) == 0)
+                            {
+                                throw new LJCommonException($"工艺加点设置:{workmanship.workmanshipname}不存在");
+                            }
+                        }
 
                         cmd.Transaction.Commit();
                     }

+ 1 - 0
JLHHJSvr/Excutor/SaveBedNetTypeExcutor.cs

@@ -5,6 +5,7 @@ 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;

+ 0 - 1
JLHHJSvr/GlobalVar/GlobalVar.cs

@@ -129,7 +129,6 @@ namespace JLHHJSvr
 
                 excutorManager.AddMap("SaveMattressFormula", typeof(SaveMattressFormulaRequest), new SaveMattressFormulaExcutor());// 保存床网类别定义
                 excutorManager.AddMap("DeleteMattressFormula", typeof(DeleteMattressFormulaRequest), new DeleteMattressFormulaExcutor());// 保存床网类别定义
-
             }
             catch (Exception ex)
             {

+ 24 - 0
JLHWEB/src/api/interface/index.ts

@@ -1062,4 +1062,28 @@ export namespace SalePrice {
   export interface ResPriceList {
     list: any[];
   }
+
+  export interface ReqSaveDept {
+    dept: any;
+  }
+
+  export interface ResSaveDept {
+
+  }
+
+  export interface ReqDeleteDept {
+    list: any[];
+  }
+
+  export interface ResDeleteDept {
+    
+  }
+
+  export interface ReqSaveProfitrate {
+    profitrate: any;
+  }
+
+  export interface ResSaveProfitrate {
+
+  }
 }

+ 38 - 0
JLHWEB/src/api/modules/saleprice.ts

@@ -7,6 +7,9 @@ export const getPriceList = () => {
   return http.post<SalePrice.ResPriceList>(PORT1 + `/GetPriceList`, {});
 };
 
+/**
+ * @name 获取 部门列表
+ */
 export const getDeptList = (params: any) => {
   let queryParams = {};
   let newParams = JSON.parse(JSON.stringify(params));
@@ -16,3 +19,38 @@ export const getDeptList = (params: any) => {
   newParams.pageSize && (newParams.pagesize = newParams.pageSize);
   return CommonDynamicSelect(newParams, "web_deptlist");
 };
+
+/**
+ * @name 保存 部门信息
+ */
+export const SaveDept = (params: SalePrice.ReqSaveDept) => {
+  return http.post<SalePrice.ResSaveDept>(PORT1 + `/SaveDept`, params);
+};
+
+/**
+ * @name 删除 部门信息
+ */
+export const DelteDept = (params: SalePrice.ReqDeleteDept) => {
+  return http.post<SalePrice.ResDeleteDept>(PORT1 + `/DeleteDept`, params);
+};
+
+/**
+ * @name 获取 工厂利润率
+ */
+export const getProfitRateList = (params: any) => {
+  let queryParams = {};
+  let newParams = JSON.parse(JSON.stringify(params));
+  newParams.dsname = "web_factory_profitratelist";
+  newParams.queryparams = queryParams;
+  newParams.kind = newParams.kind;
+  newParams.pageNum && (newParams.pageindex = newParams.pageNum);
+  newParams.pageSize && (newParams.pagesize = newParams.pageSize);
+  return CommonDynamicSelect(newParams, "web_factory_profitratelist");
+};
+
+/**
+ * @name 保存 工厂利润率
+ */
+export const SaveProfitRate = (params: SalePrice.ReqSaveProfitrate) => {
+  return http.post<SalePrice.ResSaveProfitrate>(PORT1 + `/SaveProfitrate`, params);
+};

+ 7 - 15
JLHWEB/src/views/saleprice/dept/detail.vue

@@ -1,6 +1,6 @@
 <template>
   <LjDetail
-    name="custCrmDetail"
+    name="deptListDetail"
     ref="LjDetailRef"
     v-bind="detailProps"
     v-model:order-status="orderStatus"
@@ -8,16 +8,15 @@
     :init-param="mainData[0]"
     :if-fold-layout="false"
     :if-layout-editable="false"
-    :search-col="{ xs: 1, sm: 1, md: 1, lg: 1, xl: 1 }"
-    :basic-group-col="{ xs: 1, sm: 1, md: 1, lg: 1, xl: 1 }"
+    :basic-group-col="{ xs: 2, sm: 2, md: 2, lg: 2, xl: 2 }"
     :enum="props.enum"
   >
     <!-- :action="orderStatus ? orderEditAction : orderDefaultAction" -->
   </LjDetail>
 </template>
 
-<script setup lang="tsx" name="priceListDetail">
-import { ref, watch, reactive, inject } from "vue";
+<script setup lang="tsx" name="deptListDetail">
+import { ref, watch, reactive, inject, onMounted } from "vue";
 import { DwnameEnum } from "@/enums/dwnameEnum";
 import LjDetail from "@/components/LjDetail/index.vue";
 import { DetailProp } from "@/components/LjDetail/interface";
@@ -47,7 +46,7 @@ interface detailProp {
 
 const props = withDefaults(defineProps<detailProp>(), {});
 const { t } = useI18n();
-const { columns } = useHooks();
+const { LjDetailRef, columns } = useHooks(t);
 const { CheckPower, CheckOption, buttonNew, buttonDefault } = useAuthButtons(t);
 
 const mainData = ref([{}]);
@@ -60,10 +59,8 @@ const orderStatus = ref("");
 const detailProps = reactive<DetailProp>({
   dwname: DwnameEnum.deptlist,
   columns: columns,
-  // detailApi: {
-  //   requestApi: getDetailData,
-  //   initParam: initParam.value
-  // },
+  // addPower: 5,
+  // editPower: 4359,
   header: {
     fieldNames: {
       code: "deptname",
@@ -71,11 +68,6 @@ const detailProps = reactive<DetailProp>({
       name: "name"
     },
     icon: "iconuser-01",
-    // icon: Close
-    // icon: (params: any) => {
-    //   console.log("detailProps params :>> ", params);
-    //   return <i class={"iconfont iconclipboard-check"}></i>;
-    // }
     tabsProp: {
       scrollspy: false,
       sticky: true

+ 104 - 17
JLHWEB/src/views/saleprice/dept/hooks/index.tsx

@@ -2,30 +2,42 @@ import { ref, reactive, computed, toRefs } from "vue";
 import { Table } from "@/hooks/interface";
 import { ColumnProps } from "@/components/LjVxeTable/interface";
 import { ALLOW_EDIT_STATE } from "@/config/index";
-
+import { SaveDept, DelteDept } from "@/api/modules/saleprice";
+import { ElMessage, ElMessageBox } from "element-plus";
 interface defaultState {
   /**
    * @description 单据当前状态
    */
   orderStatus: string;
+  /**
+   * @description 列表Ref
+   */
+  VxeTableRef: any;
+  /**
+   * @description 详情页Ref
+   */
+  LjDetailRef: any;
 }
+
+const state = reactive<defaultState>({
+  orderStatus: "",
+  VxeTableRef: null,
+  LjDetailRef: null
+});
 /**
  * @description 表格多选数据操作
  * @param {String} rowKey 当表格可以多选时,所指定的 id
  * */
 export const useHooks = (t?: any) => {
-  const state = reactive<defaultState>({
-    orderStatus: ""
-  });
-
   // 表格配置项
   const columns: ColumnProps<any>[] = [
-    { type: "seq", title: "#", fixed: "left", width: 80 },
+    { type: "checkbox", width: 80, fixed: "left" },
     {
       field: "deptname",
       title: "部门名称",
       basicinfo: {
         el: "input",
+        span: 2,
         editable: ALLOW_EDIT_STATE,
         rules: [{ required: true }]
       }
@@ -35,19 +47,34 @@ export const useHooks = (t?: any) => {
       title: "价格表",
       basicinfo: {
         el: "select",
-        span: 6,
+        span: 2,
         editable: ALLOW_EDIT_STATE,
-        rules: [{ required: true }]
+        rules: [{ required: true }],
+        defaultValue: 0
       }
     },
     {
-      field: "springtypename",
+      field: "springtypeid",
       title: "弹簧分类",
       basicinfo: {
         el: "select",
-        span: 6,
+        span: 1,
+        editable: ALLOW_EDIT_STATE,
+        defaultValue: 0,
+        rules: [{ required: true }]
+      }
+    },
+    {
+      field: "moneyrate",
+      title: "汇率",
+      basicinfo: {
+        el: "input",
+        span: 1,
         editable: ALLOW_EDIT_STATE,
-        rules: [{ required: true, message: "请选择价格表", trigger: "change" }]
+        props: {
+          placeholder: "请输入汇率"
+        },
+        rules: [{ required: true, pattern: new RegExp(/^\d+(\.\d+)?$/), message: "汇率不能为0", trigger: "change" }]
       }
     },
     {
@@ -55,29 +82,32 @@ export const useHooks = (t?: any) => {
       title: "利润率",
       basicinfo: {
         el: "input",
+        span: 1,
         editable: ALLOW_EDIT_STATE,
         props: {
           placeholder: "请输入利润率"
         },
-        rules: [{ required: true, pattern: new RegExp(/^[1-9]\d*(\.\d+)?$/), message: "利润率不能为0", trigger: "change" }]
+        rules: [{ required: true, pattern: new RegExp(/^\d+(\.\d+)?$/), message: "利润率不能为0", trigger: "change" }]
       }
     },
     {
-      field: "moneyrate",
-      title: "率",
+      field: "discount",
+      title: "折扣率",
       basicinfo: {
         el: "input",
+        span: 1,
         editable: ALLOW_EDIT_STATE,
         props: {
-          placeholder: "请输入率"
+          placeholder: "请输入折扣率"
         },
-        rules: [{ required: true, pattern: new RegExp(/^[1-9]\d*(\.\d+)?$/), message: "汇率不能为0", trigger: "change" }]
+        rules: [{ required: true, pattern: new RegExp(/^\d+(\.\d+)?$/), message: "折扣率不能为0", trigger: "change" }]
       }
     },
     {
       field: "if_rate_auto",
       title: "是否自动读取汇率",
       datatype: "checkbox",
+      editHidden: true,
       basicinfo: {
         el: "switch",
         editable: ALLOW_EDIT_STATE
@@ -114,6 +144,7 @@ export const useHooks = (t?: any) => {
       basicinfo: {
         el: "input",
         editable: ALLOW_EDIT_STATE,
+        span: 1,
         props: {
           placeholder: "请输入部门管理费"
         },
@@ -125,13 +156,69 @@ export const useHooks = (t?: any) => {
       title: "默认物料类别",
       basicinfo: {
         el: "tree-select",
+        span: 2,
         editable: ALLOW_EDIT_STATE
       }
     }
   ];
 
+  // 保存
+  const fSave = (param: any) => {
+    return new Promise((resolve, reject) => {
+      ElMessageBox.confirm("是否确定要保存吗?", "询问", {
+        confirmButtonText: "是",
+        cancelButtonText: "否",
+        type: "warning"
+      })
+        .then(() => {
+          SaveDept(param).then(() => {
+            ElMessage.success("保存成功!");
+            state.VxeTableRef?.refresh();
+            resolve({});
+          });
+        })
+        .catch(() => {
+          ElMessage({
+            type: "info",
+            message: "操作取消"
+          });
+        });
+    });
+  };
+
+  // 删除
+  const fDelete = () => {
+    const checkDate = state.VxeTableRef?.element.getCheckboxRecords();
+    if (checkDate.length === 0) {
+      ElMessage.error("请选择要删除的数据!");
+      return;
+    }
+    const delArr = checkDate.map((item: any) => {
+      return { deptid: parseInt(item.deptid), deptname: item.deptname };
+    });
+    ElMessageBox.confirm("是否确定要删除吗?", "询问", {
+      confirmButtonText: "是",
+      cancelButtonText: "否",
+      type: "warning"
+    })
+      .then(() => {
+        DelteDept({ list: delArr }).then(() => {
+          ElMessage.success("删除成功!");
+          state.VxeTableRef?.refresh();
+        });
+      })
+      .catch(() => {
+        ElMessage({
+          type: "info",
+          message: "操作取消"
+        });
+      });
+  };
+
   return {
     ...toRefs(state),
-    columns
+    columns,
+    fSave,
+    fDelete
   };
 };

+ 28 - 18
JLHWEB/src/views/saleprice/dept/index.vue

@@ -1,28 +1,26 @@
 <template>
   <div class="table-box">
     <LjVxeTable
-      row-key="quoteid"
+      ref="VxeTableRef"
+      row-key="deptid"
       :columns="columns"
       :request-api="getData"
       :data-callback="dataCallback"
       :dwname="dwname"
       :table-props="tableProps"
       :table-events="tableEvents"
+      :auto-load-layout="false"
     >
       <!-- 表格 header 按钮 -->
       <template #tableHeader>
         <el-button-group>
-          <el-button>{{ $t("common.add") }}</el-button>
-          <el-button>{{ $t("common.delText") }}</el-button>
-          <el-button>{{ $t("common.auditText") }}</el-button>
+          <el-button @click="handleOpenNewTable">{{ $t("common.add") }}</el-button>
+          <el-button @click="fDelete">{{ $t("common.delText") }}</el-button>
         </el-button-group>
       </template>
     </LjVxeTable>
   </div>
 
-  <!-- <LjDrawer ref="LjDrawerRef" size="50%" :withHeader="false"> -->
-
-  <!-- </LjDrawer> -->
   <LjDialog
     ref="LjDrawerRef"
     class="is-selector"
@@ -44,7 +42,7 @@
 </template>
 
 <script setup lang="ts" name="saleprice_deptlist">
-import { ref, onMounted } from "vue";
+import { ref, onMounted, provide } from "vue";
 import { getDeptList } from "@/api/modules/saleprice";
 import { ColumnProps } from "@/components/LjVxeTable/interface";
 import LjDrawer from "@/components/LjDrawer/index.vue";
@@ -67,7 +65,7 @@ const tableProps = {
 };
 
 const { t } = useI18n();
-const { columns } = useHooks();
+const { VxeTableRef, LjDetailRef, columns, fDelete, fSave } = useHooks(t);
 const { CheckPower, CheckOption, buttonNew, buttonDefault } = useAuthButtons(t);
 
 const orderStatus = ref("");
@@ -81,13 +79,23 @@ const orderDefaultAction = [
   }),
   buttonNew({
     label: t("common.saveText"),
-    icon: "iconsave-01"
+    icon: "iconsave-01",
+    clickFunc: item => {
+      fSave({ dept: LjDetailRef.value?.infoParam }).then(() => {
+        LjDrawerRef.value.hide();
+      });
+    }
   })
 ];
 const orderEditAction = [
   buttonNew({
     label: t("common.saveText"),
-    icon: "iconsave-01"
+    icon: "iconsave-01",
+    clickFunc: item => {
+      fSave({ dept: LjDetailRef.value?.infoParam }).then(() => {
+        LjDrawerRef.value.hide();
+      });
+    }
   })
 ];
 
@@ -101,18 +109,11 @@ const drawerDefineProp = {
   // modalClass: "lj-file-dialog"
 };
 
-onMounted(async () => {
-  //   let res = await getDeptList();
-  //   console.log("pricelist res :>> ", res);
-});
-
 const getData = (params: any) => {
-  console.log(params);
   return getDeptList(params);
 };
 
 const dataCallback = (data: any) => {
-  console.log("data :>> ", data);
   if (data.tableinfo?.columns) {
     data.tableinfo?.columns.map((item: any) => {
       if (item?.enum) {
@@ -138,6 +139,15 @@ const handleDBlClickTable = ({ row, rowIndex, $rowIndex, column, columnIndex, $c
   LjDrawerRef.value.show();
 };
 
+const handleOpenNewTable = () => {
+  mainData.value = {
+    deptid: 0
+  };
+  deptname.value = "";
+  orderStatus.value = "new";
+  LjDrawerRef.value.show();
+};
+
 // 返回绑定的事件
 const tableEvents = {
   "cell-dblclick": handleDBlClickTable