| 
					
				 | 
			
			
				@@ -23,7 +23,10 @@ interface WidgetTableItem { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 interface defaultState { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tableData: any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   oriTableData: WidgetTableItem[]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  newTableData: WidgetTableItem[]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   enumMap: any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // tabldId: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  bednet_qingdan: any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 interface wfQingdanProps { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -38,13 +41,20 @@ interface wfQingdanProps { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   fabricMx?: any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   formulakindenum?: any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  dannum_type?: number; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  formula?: any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // replace?: any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // formula_ori?: any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  differ?: any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const { userInfo } = useUserStore(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const state = reactive<defaultState>({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // tabldId: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tableData: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bednet_qingdan: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     oriTableData: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         label: "核价编码", 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -114,6 +124,7 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         price: "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    newTableData: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     enumMap: null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -121,13 +132,18 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return formatAmount3({ val: data }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const wf_retrieve_qingdan_bednet = async (data: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const wf_retrieve_qingdan_bednet = async (data: any, index: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const { getDataMxAdd, getDataMxSpring, dataCallback } = useHooks(t); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let s_bednet_qingdan = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let bednet_qingdan_item = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let default_bednet_qingdan = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      level: "车间成本", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      group: `床网${index + 1}-总材料成本` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // let bednetMxData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // let bednetMxSpringData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    console.log("data :>> ", data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.log("wf_retrieve_qingdan_bednet data :>> ", data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let res = await getDataMxAdd({ arg_bednetid: data.list[0].bednetid }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let mxResult = dataCallback(res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     console.log("wf_retrieve_qingdan_bednet mxResult :>> ", mxResult); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -209,7 +225,6 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       useqty: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    console.log("mxResult.list[0].if_part :>> ", mxResult.list[0].if_part, springResult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //弹簧线径/高度/口径/中心直径/圈数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (Number(mxResult.list[0].if_part) == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       item.pznamemx = mxResult.list[0].springname; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -243,6 +258,23 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ls_弹簧 = ls_t_temp + "/" + ls_right; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     s_bednet_qingdan.push(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let result = cloneDeep(default_bednet_qingdan); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    result.label = "弹簧"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    result.dscrp = ls_弹簧; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    result.costamt = mxResult.list[0].spring_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    result.costamt_1 = isFilterPrice( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      formatCutNumber({ val: floatMul(mxResult.list[0].spring_mtrl_cost ?? 0, 1 + mxResult.list[0].dannum1_rate) }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    result.costamt_2 = isFilterPrice( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      formatCutNumber({ val: floatMul(mxResult.list[0].spring_mtrl_cost ?? 0, 1 + mxResult.list[0].dannum2_rate) }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    result.costamt_3 = isFilterPrice( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      formatCutNumber({ val: floatMul(mxResult.list[0].spring_mtrl_cost ?? 0, 1 + mxResult.list[0].dannum3_rate) }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    result.costamt_4 = isFilterPrice( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      formatCutNumber({ val: floatMul(mxResult.list[0].spring_mtrl_cost ?? 0, 1 + mxResult.list[0].dannum4_rate) }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bednet_qingdan_item.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     console.log("s_bednet_qingdan ls_弹簧:>> ", ls_弹簧); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //多区弹簧/高度/口径/中心直径/圈数 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -273,6 +305,16 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (Number(mxResult.list[0].side_iron_qty) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       item.pznamemx = mxResult.list[0].side_iron_qty + "条"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ls_边铁 = Number(mxResult.list[0].side_iron_qty) + "条边铁"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let result = cloneDeep(default_bednet_qingdan); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.label = "边铁"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.dscrp = ls_边铁; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt = mxResult.list[0].side_iron_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_1 = mxResult.list[0].side_iron_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_2 = mxResult.list[0].side_iron_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_3 = mxResult.list[0].side_iron_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_4 = mxResult.list[0].side_iron_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bednet_qingdan_item.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ls_边铁 = "无边铁"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -288,13 +330,33 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (Number(mxResult.list[0].fabrics2_mtrlid) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       let enumItem = mxResult.tableinfo.columns.find((item: any) => item.field == "fabrics2_mtrlid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       let _pznamemx = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let enumItem_enum = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       console.log("fabrics2_mtrlid enumItem :>> ", enumItem); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (enumItem) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _pznamemx = enumItem.enum.find((item: any) => item.value == mxResult.list[0].fabrics2_mtrlid)?.label; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enumItem_enum = enumItem.enum.find((item: any) => item.value == mxResult.list[0].fabrics2_mtrlid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _pznamemx = enumItem_enum?.label; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       item.pznamemx = _pznamemx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ls_底面无纺布 = _pznamemx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let result = cloneDeep(default_bednet_qingdan); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.label = "底面无纺布"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.dscrp = ls_底面无纺布; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt = mxResult.list[0].fabrics2_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_1 = isFilterPrice( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        formatCutNumber({ val: floatMul(mxResult.list[0].fabrics2_mtrl_cost ?? 0, 1 + enumItem_enum?.dannum1_rate) }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_2 = isFilterPrice( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        formatCutNumber({ val: floatMul(mxResult.list[0].fabrics2_mtrl_cost ?? 0, 1 + enumItem_enum?.dannum2_rate) }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_3 = isFilterPrice( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        formatCutNumber({ val: floatMul(mxResult.list[0].fabrics2_mtrl_cost ?? 0, 1 + enumItem_enum?.dannum3_rate) }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_4 = isFilterPrice( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        formatCutNumber({ val: floatMul(mxResult.list[0].fabrics2_mtrl_cost ?? 0, 1 + enumItem_enum?.dannum4_rate) }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bednet_qingdan_item.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ls_底面无纺布 = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -308,14 +370,35 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       amt: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       useqty: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.log("Number(data.list[0].fabrics1_mtrlid) :>> ", Number(mxResult.list[0].fabrics1_mtrlid), mxResult.list[0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (Number(mxResult.list[0].fabrics1_mtrlid) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       let enumItem = mxResult.tableinfo.columns.find((item: any) => item.field == "fabrics1_mtrlid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let enumItem_enum = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       let _pznamemx = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (enumItem) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _pznamemx = enumItem.enum.find((item: any) => item.value == mxResult.list[0].fabrics1_mtrlid)?.label; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enumItem_enum = enumItem.enum.find((item: any) => item.value == mxResult.list[0].fabrics1_mtrlid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _pznamemx = enumItem_enum?.label; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       item.pznamemx = _pznamemx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ls_入袋无纺布 = _pznamemx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let result = cloneDeep(default_bednet_qingdan); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.label = "入袋无纺布"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.dscrp = ls_入袋无纺布; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt = mxResult.list[0].fabrics1_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_1 = isFilterPrice( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        formatCutNumber({ val: floatMul(mxResult.list[0].fabrics1_mtrl_cost ?? 0, 1 + enumItem_enum?.dannum1_rate) }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_2 = isFilterPrice( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        formatCutNumber({ val: floatMul(mxResult.list[0].fabrics1_mtrl_cost ?? 0, 1 + enumItem_enum?.dannum2_rate) }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_3 = isFilterPrice( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        formatCutNumber({ val: floatMul(mxResult.list[0].fabrics1_mtrl_cost ?? 0, 1 + enumItem_enum?.dannum3_rate) }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_4 = isFilterPrice( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        formatCutNumber({ val: floatMul(mxResult.list[0].fabrics1_mtrl_cost ?? 0, 1 + enumItem_enum?.dannum4_rate) }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bednet_qingdan_item.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ls_入袋无纺布 = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -328,9 +411,19 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       amt: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       useqty: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (data.list[0].mtrl_felt_name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (Number(data.list[0].felt_mtrlid) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       item.pznamemx = data.list[0].mtrl_felt_name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ls_上垫层物料 = data.list[0].mtrl_felt_name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let result = cloneDeep(default_bednet_qingdan); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.label = "上垫层物料"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.dscrp = ls_上垫层物料; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt = data.list[0].felt_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_1 = data.list[0].felt_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_2 = data.list[0].felt_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_3 = data.list[0].felt_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_4 = data.list[0].felt_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bednet_qingdan_item.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ls_上垫层物料 = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -343,9 +436,19 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       amt: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       useqty: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (data.list[0].mtrl_felt_x_name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (Number(data.list[0].felt_x_mtrlid) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       item.pznamemx = data.list[0].mtrl_felt_x_name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ls_下垫层物料 = data.list[0].mtrl_felt_x_name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let result = cloneDeep(default_bednet_qingdan); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.label = "下垫层物料"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.dscrp = ls_下垫层物料; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt = data.list[0].felt_mtrl_x_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_1 = data.list[0].felt_mtrl_x_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_2 = data.list[0].felt_mtrl_x_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_3 = data.list[0].felt_mtrl_x_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_4 = data.list[0].felt_mtrl_x_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bednet_qingdan_item.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ls_下垫层物料 = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -374,6 +477,16 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (Number(mxResult.list[0].if_hard_around) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       item.pznamemx = mxResult.list[0].hard_around_springname; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let result = cloneDeep(default_bednet_qingdan); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.label = "四周加硬弹簧"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.dscrp = mxResult.list[0].hard_around_springname; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt = mxResult.list[0].hard_around_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_1 = mxResult.list[0].hard_around_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_2 = mxResult.list[0].hard_around_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_3 = mxResult.list[0].hard_around_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_4 = mxResult.list[0].hard_around_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bednet_qingdan_item.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     s_bednet_qingdan.push(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -387,6 +500,16 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (data.list[0].mtrl_sponge_name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       item.pznamemx = data.list[0].mtrl_sponge_name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ls_海绵包边物料 = data.list[0].sponge_thickness + "分" + data.list[0].sponge_height + "高" + data.list[0].mtrl_sponge_name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let result = cloneDeep(default_bednet_qingdan); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.label = "海绵包边物料:" + data.list[0].mtrl_sponge_name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.dscrp = ls_海绵包边物料; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt = data.list[0].sponge_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_1 = data.list[0].sponge_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_2 = data.list[0].sponge_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_3 = data.list[0].sponge_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_4 = data.list[0].sponge_mtrl_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bednet_qingdan_item.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     s_bednet_qingdan.push(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -413,6 +536,16 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       item.pznamemx = data.list[0].mtrl_sponge_tc_name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ls_填充海绵物料 = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         data.list[0].sponge_tc_thickness + "分" + data.list[0].sponge_tc_height + "高" + data.list[0].mtrl_sponge_tc_name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let result = cloneDeep(default_bednet_qingdan); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.label = "填充海绵物料:" + data.list[0].mtrl_sponge_tc_name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.dscrp = ls_填充海绵物料; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt = data.list[0].sponge_mtrl_tc_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_1 = data.list[0].sponge_mtrl_tc_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_2 = data.list[0].sponge_mtrl_tc_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_3 = data.list[0].sponge_mtrl_tc_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      result.costamt_4 = data.list[0].sponge_mtrl_tc_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bednet_qingdan_item.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ls_填充海绵物料 = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -525,8 +658,8 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       amt: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       useqty: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (Number(mxResult.list[0].pocket_around_row) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      item.pznamemx = mxResult.list[0].pocket_around_row + "排"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (Number(data.list[0].pocket_around_row) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      item.pznamemx = data.list[0].pocket_around_row + "排"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     s_bednet_qingdan.push(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -537,8 +670,8 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       amt: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       useqty: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (Number(mxResult.list[0].if_pocket_around) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      item.pznamemx = mxResult.list[0].pocket_around_springname; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (Number(data.list[0].if_pocket_around) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      item.pznamemx = data.list[0].pocket_around_springname; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     s_bednet_qingdan.push(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -547,7 +680,7 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //床网类型丨规格丨排列丨高度丨单/多区丨线径丨边铁丨海绵包边丨四周加硬丨弹叉丨底面物料 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let ls_temp_name = s_bednet_qingdan[1].pznamemx + "丨" + s_bednet_qingdan[3].pznamemx + "丨" + s_bednet_qingdan[4].pznamemx; // + s_bednet_qingdan[3].pznamemx + '丨' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (Number(mxResult.list[0].if_part) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (Number(data.list[0].if_part) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ls_temp_name += "丨" + data.list[0].duo_qv_str + "区"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (s_bednet_qingdan[5].pznamemx != "") { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -557,7 +690,7 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (Number(mxResult.list[0].if_part) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (Number(data.list[0].if_part) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ls_区区 = data.list[0].duo_qv_str + "区"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ls_区区 = "单区"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -665,11 +798,14 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     s_bednet_qingdan[0].amt = data.list[0].nottax_factory_cost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     s_bednet_qingdan[0].useqty = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    state.bednet_qingdan.push(bednet_qingdan_item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     console.log("s_bednet_qingdan :>> ", s_bednet_qingdan); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.log("bednet_qingdan_item :>> ", bednet_qingdan_item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return s_bednet_qingdan; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const f_get_bednet_qingdan = async (bednetid: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const f_get_bednet_qingdan = async (bednetid: any, index: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!Number(bednetid)) return []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let _params = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       dsname: "web_bednet_define", 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -711,17 +847,130 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       throw new Error(_data.bednetcode + ", pricelistid错误!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let rtStr = await wf_retrieve_qingdan_bednet(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let rtStr = await wf_retrieve_qingdan_bednet(result, index); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //带上erpcode? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return rtStr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * @description 新报价清单列 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * @param data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const set_new_table_data = (params: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let { data, mxdata, fabricMx, formulakindenum, enumMap } = params; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.log("set_new_table_data params :>> ", params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let arr = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @description 车间成本 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    arr = arr.concat(init_new_formula_item(params, "【车间成本】", "床垫-")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let cushionsItem = mxdata.find((itm: any) => itm.field == "cushions"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (cushionsItem) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (cushionsItem.data.bednet.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cushionsItem.data.bednet.map((itm: any, index: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (itm.mtrlid > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            arr = arr.concat( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              init_new_formula_item( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { ...params, formula: params.formula_bednet }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "【车间成本】", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                `床网${index + 1}-`, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "replace_bednet" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // arr = arr.concat( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //   init_new_formula_item({ ...params, formula: params.formula_bednet }, "【车间成本】", "床网-", "replace_bednet") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    arr = arr.concat(init_new_formula_item(params, "【不含税出厂价】")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    arr = arr.concat(init_new_formula_item(params, "【部门不含税价】")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    arr = arr.concat(init_new_formula_item(params, "【部门含税价】")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    arr = arr.concat(init_new_formula_item(params, "【外币价】")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    arr = arr.concat(init_new_formula_item(params, "【佣金】")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.log("set_new_table_data arr :>> ", arr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return arr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const init_new_formula_item = ({ formula, differ, dannum_type }: any, target: string, prefix = "", replaceKey = "replace") => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let formulaItem = formula.find((item: any) => item.label == target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.log("init_new_formula_item formulaItem :>> ", formulaItem); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let arr = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let item = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      level: target.replace("【", "").replace("】", ""), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      group: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      label: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      dscrp: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      qty: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      costamt: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      costamt_1: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      costamt_2: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      costamt_3: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      costamt_4: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      useqty: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      price: "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (formulaItem) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let reg = /\【(.*?)\】/g; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let formulaItemArr = formulaItem.value.match(reg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (formulaItemArr.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        formulaItemArr.map(fName => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let _item = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            level: target.replace("【", "").replace("】", ""), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            group: prefix + fName.replace("【", "").replace("】", ""), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            dscrp: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            qty: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            costamt: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            costamt_1: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            costamt_2: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            costamt_3: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            costamt_4: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            useqty: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            price: "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          differ.map((itm: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let _valueReplace = itm[replaceKey].find((t: any) => t.label == fName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _item["costamt_" + itm.type] = isFilterPrice(_valueReplace?.value ?? 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (dannum_type == itm.type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              _item.costamt = isFilterPrice(_valueReplace?.value ?? 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          arr.push(_item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      differ.map((itm: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let _valueReplace = itm[replaceKey].find((t: any) => t.label == target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        item["costamt_" + itm.type] = isFilterPrice(_valueReplace?.value ?? 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (dannum_type == itm.type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          item.costamt = isFilterPrice(_valueReplace?.value ?? 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      item.group = "小计"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.log("item :>> ", item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      arr.push(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return arr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    * @description 刷新报价清单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const wf_retrieve_qingdan = async (params: wfQingdanProps) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const wf_retrieve_qingdan = async (params: wfQingdanProps, isNew?: boolean, ifExpandAll?: boolean) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let { data, mxdata, fabricMx, formulakindenum, enumMap } = params; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    state.bednet_qingdan = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let _isNew = isNew ?? false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let _ifExpandAll = ifExpandAll ?? false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     state.enumMap = enumMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     state.tableData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let _tData = cloneDeep(state.oriTableData); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -734,8 +983,20 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return item; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.log("wf_retrieve_qingdan isNew :>> ", isNew); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (_isNew) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.tableData = set_new_table_data(params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     console.log("mxdata data:>> ", mxdata, data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let _mxitm = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let level_mattress = "车间成本"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let group_mattress = "床垫-总材料成本"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let result_default: any = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      level: level_mattress, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      group: group_mattress 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let mattressArr: any = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     for (let index = 0; index < mxdata.length; index++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       let item = mxdata[index]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       switch (item.field) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -747,7 +1008,7 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           _mxitm = fabricMx.find(t => t.name == item.field); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           item.data.map(itm => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if ((Number(itm.mtrlid ?? 0) > 0 || Number(itm.costamt ?? 0) != 0) && _mxitm.type.includes(Number(itm.formulakind))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              let result: any = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let result: any = cloneDeep(result_default); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               result.label = itm.chastr != "" ? itm.chastr : item.label; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               let _formulaName = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               if (formulakindenum) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -773,7 +1034,7 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 result.price = isFilterPrice(itm.price ?? 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               result.index = index; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              state.tableData.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              mattressArr.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           break; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -784,7 +1045,7 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               (Number(itm.mtrlid ?? 0) > 0 || Number(itm.costamt ?? 0) != 0) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               !_mxitm.type.includes(Number(itm.formulakind)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              let result: any = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let result: any = cloneDeep(result_default); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               // result.label = itm.label; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               result.label = "其他工艺"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               let _formulaName = ""; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -809,7 +1070,7 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 result.price = isFilterPrice(itm.price ?? 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               result.index = index; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              state.tableData.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              mattressArr.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           break; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -824,7 +1085,7 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           for (let k = 0; k < item.data.cushions.length; k++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let itm = item.data.cushions[k]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (Number(itm.mtrlid ?? 0) > 0 || Number(itm.costamt ?? 0) != 0 || [999].includes(Number(itm.formulakind))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              let result: any = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let result: any = cloneDeep(result_default); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               let _formulaName = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               if (formulakindenum) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 _formulaName = formulakindenum.find(t => t.value == itm.formulakind)?.label ?? ""; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -849,7 +1110,7 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 result.index = _index; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                state.tableData.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                mattressArr.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // 999是床网 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -863,7 +1124,7 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   if (item.data.bednet.length == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //单床网 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ll_bednetid = item.data.bednet[0].mtrlid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    let s_bednet_qingdan = await f_get_bednet_qingdan(ll_bednetid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    let s_bednet_qingdan = await f_get_bednet_qingdan(ll_bednetid, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     console.log("cushions item.data.bednet s_bednet_qingdan :>> ", s_bednet_qingdan); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (s_bednet_qingdan.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       result.dscrp = s_bednet_qingdan[0].pznamemx; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -878,7 +1139,7 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //多床网 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ll_bednetid = item.data.bednet[bendet999Index].mtrlid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     console.log("f_get_bednet_qingdan t ll_bednetid:>> ", bendet999Index, item.data.bednet[bendet999Index]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    let s_bednet_qingdan = await f_get_bednet_qingdan(ll_bednetid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    let s_bednet_qingdan = await f_get_bednet_qingdan(ll_bednetid, bendet999Index); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (s_bednet_qingdan.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       result.dscrp = s_bednet_qingdan[0].pznamemx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       result.qty = 1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -895,12 +1156,12 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   result.index = _index; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   // 查找数组中,从结尾数起最后出现的index=_index的元素的索引,在起后面插入result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  let _arrData = cloneDeep(state.tableData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  let _arrData = cloneDeep(mattressArr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   let _last = _arrData.reverse().findIndex(t => t.index == _index); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   if (_last == -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    state.tableData.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    mattressArr.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    state.tableData.splice(state.tableData.length - _last, 0, result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    mattressArr.splice(mattressArr.length - _last, 0, result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -911,7 +1172,7 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         case "accessories": // 辅料 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           item.data.map(itm => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (Number(itm.mtrlid ?? 0) > 0 || Number(itm.costamt ?? 0) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              let result: any = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let result: any = cloneDeep(result_default); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               result.label = itm.label; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               let _formulaName = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               if (formulakindenum) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -935,7 +1196,7 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 result.price = isFilterPrice(itm.price ?? 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               result.index = index; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              state.tableData.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              mattressArr.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           break; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -956,7 +1217,7 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               Number(itm.mtrlid) > 0 || Number(itm.costamt) != 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (Number(itm.mtrlid ?? 0) > 0 || Number(itm.costamt ?? 0) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              let result: any = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let result: any = cloneDeep(result_default); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               result.label = itm.label; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               let _formulaName = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               if (formulakindenum) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -980,31 +1241,68 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 result.price = isFilterPrice(itm.price ?? 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               result.index = index; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              state.tableData.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              mattressArr.push(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    console.log("wf_retrieve_qingdan state.tableData :>> ", JSON.stringify(state.tableData)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!isNew) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.tableData = state.tableData.concat(mattressArr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.tableData.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        label: "地区", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        dscrp: data.area ?? "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        qty: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        costamt: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        useqty: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        price: "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.tableData.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        label: "柜型", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        dscrp: data.cabinet_type ?? "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        qty: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        costamt: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        useqty: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        price: "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (_ifExpandAll) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log("state.tableData bf:>> ", state.tableData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log("smattressArr bf:>> ", mattressArr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 插入床垫车间成本-总材料成本明细 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let _idx = state.tableData.findIndex(t => t.group === "床垫-总材料成本"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (_idx > -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          state.tableData[_idx].label = "小计"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          state.tableData.splice(_idx, 0, ...mattressArr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    state.tableData.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      label: "地区", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      dscrp: data.area ?? "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      qty: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      costamt: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      useqty: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      price: "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    state.tableData.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      label: "柜型", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      dscrp: data.cabinet_type ?? "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      qty: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      costamt: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      useqty: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      price: "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 插入床网车间成本-总材料成本明细 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let cushionsItem = mxdata.find((itm: any) => itm.field == "cushions"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (cushionsItem) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (cushionsItem.data.bednet.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cushionsItem.data.bednet.map((itm: any, index: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (itm.mtrlid > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let _idx = state.tableData.findIndex(t => t.group === `床网${index + 1}-总材料成本`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (_idx > -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  state.tableData[_idx].label = "小计"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  state.bednet_qingdan[index] && state.tableData.splice(_idx, 0, ...state.bednet_qingdan[index]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // state.tableData = state.tableData.map(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //   item.id = item.id ?? null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //   item.parentId = item.parentId ?? null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //   return item; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.log("state.tableData state.tableData:>> ", state.tableData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const formatAmount = (value: any) => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1209,7 +1507,18 @@ export const useHooksCpQuote = (t?: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // cellESum.value = getSummaries(state.tableData, "costamt"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const footerRows = worksheet.insertRow( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       9 + state.tableData.length, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      { label: "材料合计:", dscrp: "", qty: "", costamt: getSummaries(state.tableData, "costamt"), useqty: "", price: "" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        label: "材料合计:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        dscrp: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        qty: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        costamt: getSummaries(state.tableData, "costamt"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        costamt_1: getSummaries(state.tableData, "costamt_1"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        costamt_2: getSummaries(state.tableData, "costamt_2"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        costamt_3: getSummaries(state.tableData, "costamt_3"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        costamt_4: getSummaries(state.tableData, "costamt_4"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        useqty: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        price: "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       "n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |