| 
					
				 | 
			
			
				@@ -242,7 +242,9 @@ $(document).ready(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 const select = SpreadJsObj.getSelectObject(info.sheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 const col = info.sheet.zh_setting.cols[info.col]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // 未改变值则不提交 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                const validText = !isNaN(info.editingText) ? info.editingText : (info.editingText ? trimInvalidChar(info.editingText) : null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                console.log(!isNaN(info.editingText)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const validText = !isNaN(info.editingText) ? parseFloat(info.editingText) : (info.editingText ? trimInvalidChar(info.editingText) : null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                console.log(validText); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 const orgValue = select[col.field]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (orgValue == validText || ((!orgValue || orgValue === '') && (validText === ''))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -325,103 +327,104 @@ $(document).ready(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // clipboardPasted(e, info) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //     console.log(info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //     if (info.sheet.zh_setting) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         const select = SpreadJsObj.getSelectObject(info.sheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         const col = info.sheet.zh_setting.cols[info.col]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         // 未改变值则不提交 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         const validText = info.editingText ? trimInvalidChar(info.editingText) : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         console.log(validText); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         const orgValue = select[col.field]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         if (orgValue == validText || ((!orgValue || orgValue === '') && (validText === ''))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         // 判断部分值是否输入的是数字判断和数据计算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         if (col.field === 'basic_price') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             if (isNaN(validText)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 toastr.error('不能输入其它非数字类型字符'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             const num = parseFloat(validText); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             if (num < 0 || !/^\d+(\.\d{1,3})?$/.test(num)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 toastr.error('请输入大于0并且小于3位小数的浮点数'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         if (col.field === 'msg_tp') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             if (isNaN(validText)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 toastr.error('不能输入其它非数字类型字符'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             const num = parseFloat(validText); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             if (num < 0 || !/^\d+(\.\d{1,3})?$/.test(num)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 toastr.error('请输入大于0并且小于3位小数的浮点数'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         if (col.field === 'm_up_risk') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             // 只能输入正整数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             if (isNaN(validText)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 toastr.error('不能输入其它非数字类型字符'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             const num = parseFloat(validText); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             if (num < 0 || num > 100 || !/^\d+$/.test(num)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 toastr.error('只能输入0-100的正整数'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         if (col.field === 'm_down_risk') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             // 只能输入正整数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             if (isNaN(validText)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 toastr.error('不能输入其它非数字类型字符'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             const num = parseFloat(validText); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             if (num < 0 || num > 100 || !/^\d+$/.test(num)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 toastr.error('只能输入0-100的正整数'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         if (col.field === 't_type') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             if (validText === 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 select.quantity = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 select.expr = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //                 select.m_tp = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         select[col.field] = validText; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         select.msg_spread = materialCol.getValue.msg_spread(select); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         select.m_spread = materialCol.getValue.m_spread(select); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         select.m_tp = materialCol.getValue.m_tp(select); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         // 更新至服务器 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         postData(window.location.pathname + '/save', { type:'update', updateData: select }, function (result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             m_tp = result.m_tp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             resetTpTable(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         }, function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             select[col.field] = orgValue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //             SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        clipboardPasted(e, info) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const tree = info.sheet.zh_tree; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!tree) { return; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            console.log(info); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // if (info.sheet.zh_setting) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     const select = SpreadJsObj.getSelectObject(info.sheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     const col = info.sheet.zh_setting.cols[info.col]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     // 未改变值则不提交 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     const validText = info.editingText ? trimInvalidChar(info.editingText) : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     const orgValue = select[col.field]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     if (orgValue == validText || ((!orgValue || orgValue === '') && (validText === ''))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     // 判断部分值是否输入的是数字判断和数据计算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     if (col.field === 'basic_price') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         if (isNaN(validText)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             toastr.error('不能输入其它非数字类型字符'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         const num = parseFloat(validText); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         if (num < 0 || !/^\d+(\.\d{1,3})?$/.test(num)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             toastr.error('请输入大于0并且小于3位小数的浮点数'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     if (col.field === 'msg_tp') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         if (isNaN(validText)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             toastr.error('不能输入其它非数字类型字符'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         const num = parseFloat(validText); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         if (num < 0 || !/^\d+(\.\d{1,3})?$/.test(num)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             toastr.error('请输入大于0并且小于3位小数的浮点数'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     if (col.field === 'm_up_risk') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         // 只能输入正整数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         if (isNaN(validText)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             toastr.error('不能输入其它非数字类型字符'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         const num = parseFloat(validText); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         if (num < 0 || num > 100 || !/^\d+$/.test(num)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             toastr.error('只能输入0-100的正整数'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     if (col.field === 'm_down_risk') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         // 只能输入正整数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         if (isNaN(validText)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             toastr.error('不能输入其它非数字类型字符'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         const num = parseFloat(validText); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         if (num < 0 || num > 100 || !/^\d+$/.test(num)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             toastr.error('只能输入0-100的正整数'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     if (col.field === 't_type') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         if (validText === 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             select.quantity = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             select.expr = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //             select.m_tp = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     select[col.field] = validText; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     select.msg_spread = materialCol.getValue.msg_spread(select); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     select.m_spread = materialCol.getValue.m_spread(select); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     select.m_tp = materialCol.getValue.m_tp(select); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     // 更新至服务器 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     postData(window.location.pathname + '/save', { type:'update', updateData: select }, function (result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         m_tp = result.m_tp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         resetTpTable(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     }, function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         select[col.field] = orgValue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         SpreadJsObj.reLoadRowData(info.sheet, info.row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         setReadOnly: function(readOnly) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             SpreadJsObj.resetFieldReadOnly(materialSpread.getActiveSheet(), 'msg_spread', 'm_spread', 'm_tp', 'pre_tp', readOnly); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     materialSpreadObj.refreshActn(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     materialSpread.bind(spreadNS.Events.SelectionChanged, materialSpreadObj.selectionChanged); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // materialSpread.bind(spreadNS.Events.ClipboardPasted, materialSpreadObj.clipboardPasted); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    materialSpread.bind(spreadNS.Events.ClipboardPasted, materialSpreadObj.clipboardPasted); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // const sheet = materialSpread.getActiveSheet(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // sheet.suspendPaint(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // var range = sheet.getRange(-1, 8, -1, 1); 
			 |