| 
					
				 | 
			
			
				@@ -708,86 +708,101 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /**  打开弹窗  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     openRefundSubmitModel(data, type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(data.some(item => item.source === 20 || item.source === 3)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 弹出确认框 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$confirm(`请确认在OTA平台中已完成对应订单的退款操作流程,否则修改后无法恢复,请谨慎修改!`, '警告', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 判断是否需要弹出确认框 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let needsConfirmation = data.some(item => item.source === 20 || item.source === 3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 弹出确认框的逻辑 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const showConfirmationDialog = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return this.$confirm(`请确认在OTA平台中已完成对应订单的退款操作流程,否则修改后无法恢复,请谨慎修改!`, '警告', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           confirmButtonText: '确认退款', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           cancelButtonText: '取消', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           type: 'warning' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        .then(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          // 用户点击了确认退款,执行以下逻辑 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          // 初始化变量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.refundSubmitSuccess = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.refundSubmitError = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          let list = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          // 构建订单列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          data.forEach((item,index)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let flog = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let indexNew = null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            list.forEach((item1,index1)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              if(item.orderId == item1.orderId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                flog = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                indexNew = index1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(!flog){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              list.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "orderId": item.orderId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "refundReason": null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "remark": null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "refundAmount": 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "refundPeople": 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "ifDirectRefund": 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "errorRemark": '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "viewerList": [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    "viewerId": item.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    "salePrice": item.realPrice ? item.realPrice : 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              list[indexNew].viewerList.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "viewerId": item.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "salePrice": item.realPrice ? item.realPrice : 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          // 计算退款总额和人数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          let refundAmountAll = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          let refundPeople = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          list.forEach((item,index)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(item.viewerList && item.viewerList.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              let refundAmount = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              refundPeople = refundPeople + item.viewerList.length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              item.viewerList.forEach((item1,index1)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                refundAmount = mathM.format(Number(refundAmount) + Number(item1.salePrice),10) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                refundAmountAll = mathM.format(Number(refundAmountAll) + Number(item1.salePrice),10) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              list[index].refundAmount = refundAmount 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 构建订单列表的逻辑 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const buildOrderList = (data) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let list = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let existingOrder = list.find(order => order.orderId === item.orderId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (!existingOrder) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            list.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              orderId: item.orderId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              refundReason: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              remark: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              refundAmount: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              refundPeople: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ifDirectRefund: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              errorRemark: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              viewerList: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  viewerId: item.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  salePrice: item.realPrice ? item.realPrice : 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            existingOrder.viewerList.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              viewerId: item.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              salePrice: item.realPrice ? item.realPrice : 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          // 更新表单数据和列表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.tkRuleForm['refundAmountAll'] = refundAmountAll 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.tkRuleForm['refundPeople'] = refundPeople 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.tkSelectList = JSON.parse(JSON.stringify(list)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          console.log("dfsfdsfsdfds====",this.tkSelectList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.tkDialogVisible = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        .catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          // 用户点击了取消,给出取消信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.$message({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            type: 'info', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            message: '已取消' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 计算退款总额和人数的逻辑 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const calculateRefunds = (list) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let refundAmountAll = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let refundPeople = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        list.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let refundAmount = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          item.viewerList.forEach(viewer => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            refundAmount = mathM.format(Number(refundAmount) + Number(viewer.salePrice), 10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            refundAmountAll = mathM.format(Number(refundAmountAll) + Number(viewer.salePrice), 10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          item.refundAmount = refundAmount; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          refundPeople += item.viewerList.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return { refundAmountAll, refundPeople }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 更新表单数据和列表数据的逻辑 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const updateFormAndList = (refundAmountAll, refundPeople, list) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.tkRuleForm['refundAmountAll'] = refundAmountAll; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.tkRuleForm['refundPeople'] = refundPeople; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.tkSelectList = JSON.parse(JSON.stringify(list)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log("Updated list:", this.tkSelectList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.tkDialogVisible = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const executeRefundProcess = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.refundSubmitSuccess = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.refundSubmitError = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let orderList = buildOrderList(data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let { refundAmountAll, refundPeople } = calculateRefunds(orderList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        updateFormAndList(refundAmountAll, refundPeople, orderList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (needsConfirmation) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        showConfirmationDialog() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          .then(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 用户点击了确认退款,执行以下逻辑 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            executeRefundProcess(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          .catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 用户点击了取消,给出取消信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.$message({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              type: 'info', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              message: '已取消' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 不需要确认退款,直接执行退款流程 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        executeRefundProcess(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     deleteSelect(index,row){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       let refundAmountAll = 0 
			 |