亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? attendancedlg.cpp

?? 這是一個經(jīng)典畢業(yè)設(shè)計
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
{
	// TODO: Add your control notification handler code here
	int iState;	
	int nItemSelected=m_ListAttend.GetSelectedCount();//所選表項數(shù)	
	int nItemCount=m_ListAttend.GetItemCount();//表項總數(shù)	
	if(nItemSelected<1)
		return;
	int	n=0;
	for(int i=0;i<nItemCount;i++)             //i=nItemCount-1;i>=0;i--)
	{		
		iState=m_ListAttend.GetItemState(i,LVIS_SELECTED);
		if(iState!=0)
		{
		//	m_cList.DeleteItem(i);
			for(int j=i-n;j<m_iCurItem;j++)
			{
				sAttend[j]=sAttend[j+1];
				sYearTotal[m_iTotalSel].sAttend[j]=sYearTotal[m_iTotalSel].sAttend[j+1];
			}
			m_iCurItem--;
			sYearTotal[m_iTotalSel].iDayItems--;
			void* x=(void*)&sAttend[m_iCurItem+1];
			memset(x,0,sizeof(Attend));
			n++;
		}
	}
	if(sYearTotal[m_iTotalSel].iDayItems==-1)
	{
		for(i=m_iTotalSel;i<=m_iMonths;i++)
			sYearTotal[i]=sYearTotal[i+1];
		m_iMonths--;
	}
	if(m_iMonths==-1 || m_iMonths>=0 && (sYearTotal[m_iMonths].sAttend[0].tAmOnDuty.GetYear()==m_Time.GetYear() 
											&& sYearTotal[m_iMonths].sAttend[0].tAmOnDuty.GetMonth()!=m_Time.GetMonth()))
	{
		m_iMonths++;
		sYearTotal[m_iMonths].iPay = m_iPay;
		sYearTotal[m_iMonths].iDayItems = 0;
		sYearTotal[m_iMonths].sAttend[0] = sDuty;

		m_iHoliday=0;
	int year = sYearTotal[m_iMonths].sAttend[0].tAmOnDuty.GetYear();
	int mth = sYearTotal[m_iMonths].sAttend[0].tAmOnDuty.GetMonth();
	int monthday=MonthDay[mth-1];
	if(mth==2 && fmod(year,4)==0)
		monthday++;
		int day = sYearTotal[m_iMonths].sAttend[0].tAmOnDuty.GetDay();
		int wk = sYearTotal[m_iMonths].sAttend[0].tAmOnDuty.GetDayOfWeek();//1..7
		int	wks = day/7;
		int surplus = fmod(day-1,7);//0..6

		int wk1 = surplus>=wk ? wk+7-surplus : wk-surplus;
		
		for(int i=0;i<monthday;i++)
		{
			wk = wk1+fmod(i,7);
			if(wk>7) wk-=7;
			
			if(wk==1 || wk==7)
			{
				//m_ArrayHoliday.Add(i+1);
				sYearTotal[m_iMonths].ArrayHoliday[m_iHoliday] = i+1;//m_ArrayHoliday[m_iHoliday];
				m_iHoliday++;
			}
		}
		//m_iWorkDays=monthday-m_iHoliday;
		sYearTotal[m_iMonths].iHoliday = m_iHoliday;
	}

	if(m_iMonths>=0 && (sYearTotal[m_iMonths].sAttend[sYearTotal[m_iMonths].iDayItems].tAmOnDuty.Format("%Y%m")==m_Time.Format("%Y%m") 
											&& sYearTotal[m_iMonths].sAttend[sYearTotal[m_iMonths].iDayItems].tAmOnDuty.GetDay()!=m_Time.GetDay()))
	{
		sYearTotal[m_iMonths].iDayItems++;
		sYearTotal[m_iMonths].sAttend[sYearTotal[m_iMonths].iDayItems] = sDuty;
	}
	GetYearData();
}

void CAttendanceDlg::GetYearData()
{
	m_ListTotal.DeleteAllItems();
	CString str;
	for(int i=0;i<=m_iMonths;i++)
	{
	double fctwks = 0;
	for(int j=0;j<=sYearTotal[i].iDayItems;j++)
	{
		sYearTotal[i].sAttend[j].tWork = sYearTotal[i].sAttend[j].tAmOffDuty-sYearTotal[i].sAttend[j].tAmOnDuty;
		sYearTotal[i].sAttend[j].tWork += sYearTotal[i].sAttend[j].tPmOffDuty-sYearTotal[i].sAttend[j].tPmOnDuty;
		sYearTotal[i].sAttend[j].tWork += sYearTotal[i].sAttend[j].tNinOffDuty-sYearTotal[i].sAttend[j].tNinOnDuty;
		fctwks += (double)sYearTotal[i].sAttend[j].tWork.GetHours()+(double)sYearTotal[i].sAttend[j].tWork.GetMinutes()/60.0;
	}
	int year = sYearTotal[i].sAttend[0].tAmOnDuty.GetYear();
	int mth = sYearTotal[i].sAttend[0].tAmOnDuty.GetMonth();
	int monthday=MonthDay[mth-1];
	if(mth==2 && fmod(year,4)==0)
		monthday++;
	int wkd = monthday-sYearTotal[i].iHoliday;
	lvitem.iItem=i;
	m_ListTotal.InsertItem(&lvitem);
	str.Format("%d",mth);
	m_ListTotal.SetItemText(i,0,str);

	str.Format("%d",wkd);
	m_ListTotal.SetItemText(i,1,str);

	str.Format("%d",sYearTotal[i].iPay);
	m_ListTotal.SetItemText(i,2,str);

	double DayPay = (double)sYearTotal[i].iPay/(double)wkd;
	DayPay = int(DayPay*100.0+0.5)/100.0;
	str.Format("%6.2f",DayPay);
	m_ListTotal.SetItemText(i,3,str);

//	double fctwks = 0;
//	for(int j=0;j<=sYearTotal[i].iDayItems;j++)
//	{
//		sYearTotal[i].sAttend[j].tWork = sYearTotal[i].sAttend[j].tAmOffDuty-sYearTotal[i].sAttend[j].tAmOnDuty;
//		sYearTotal[i].sAttend[j].tWork += sYearTotal[i].sAttend[j].tPmOffDuty-sYearTotal[i].sAttend[j].tPmOnDuty;
//		fctwks += (double)sYearTotal[i].sAttend[j].tWork.GetHours()+(double)sYearTotal[i].sAttend[j].tWork.GetMinutes()/60.0;
//	}
	fctwks /=8.0;
	fctwks = floor(fctwks*10.0)/10.0;
	str.Format("%.1f",fctwks);
	m_ListTotal.SetItemText(i,4,str);
	int iObtain=(double)sYearTotal[i].iPay*fctwks/(double)wkd;
	str.Format("%d",iObtain);
	m_ListTotal.SetItemText(i,5,str);

	str.Format("%d",sYearTotal[i].iFactPay);
	m_ListTotal.SetItemText(i,6,str);

	}

}

void CAttendanceDlg::OnItemchangedTotal(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
	// TODO: Add your control notification handler code here
	int iItem=pNMListView->iItem;//!
	int n;
	
	if(m_bFirst==true && iItem!=m_iMonths)
	{
		*pResult = 0;
		return;
	}
	m_iTotalSel = iItem;
	CString s;
	s.Format("%d年%2d月份月報 ", sYearTotal[iItem].sAttend[0].tAmOnDuty.GetYear(),sYearTotal[iItem].sAttend[0].tAmOnDuty.GetMonth(),sYearTotal[iItem].sAttend[0].tAmOnDuty.GetDay());
	char* ch = s.GetBuffer(s.GetLength());
	m_cMonth.SetWindowText(ch);
	s.Format("%d年度 年報 ", sYearTotal[iItem].sAttend[0].tAmOnDuty.GetYear());
	ch = s.GetBuffer(s.GetLength());
	m_cYear.SetWindowText(ch);

 		m_iPay = sYearTotal[iItem].iPay;
 		m_iFactPay = sYearTotal[iItem].iFactPay;
		m_iHoliday = sYearTotal[iItem].iHoliday;
		m_ArrayHoliday.SetSize(m_iHoliday);
        for(int iIndex = 0; iIndex < m_iHoliday; ++iIndex)
			m_ArrayHoliday[iIndex] = sYearTotal[iItem].ArrayHoliday[iIndex];
		m_iCurItem = sYearTotal[iItem].iDayItems;
		for(int i=0;i<=m_iCurItem;i++)
			sAttend[i] = sYearTotal[iItem].sAttend[i];
	int year = sAttend[0].tAmOnDuty.GetYear();
	int mth = sAttend[0].tAmOnDuty.GetMonth();
	int monthday=MonthDay[mth-1];
	if(mth==2 && fmod(year,4)==0)
		monthday++;
	m_iWorkDays = monthday-m_iHoliday;
	m_dDayPay = int(((double)m_iPay/(double)m_iWorkDays)*100.0+0.5)/100.0;
	m_dFactWorks = 0;
	for(i=0;i<=m_iCurItem;i++)
		m_dFactWorks += (double)sAttend[i].tWork.GetHours()+(double)sAttend[i].tWork.GetMinutes()/60.0;
	m_dFactWorks /= 8.0;
	m_dFactWorks = floor(m_dFactWorks*100.0)/100.0;
	m_iObtain=(double)m_iPay*double(floor(m_dFactWorks*10.0)/10.0)/(double)m_iWorkDays;
	GetTableData();
	UpdateData(false);

	if(sYearTotal[iItem].sAttend[0].tAmOnDuty.Format("%Y%m")!=m_Time.Format("%Y%m"))
	{
		m_EdtPay.SetReadOnly(true);
		m_EdtFactPay.SetReadOnly(true);
	}
	else
	{
		m_EdtPay.SetReadOnly(false);
		m_EdtFactPay.SetReadOnly(false);
	}

/*	lvitem.iItem=iItem;
	lvitem.stateMask |= LVIS_SELECTED;
	for(i=0;i<=m_iMonths;i++)
	{
		int iState;
		if(iItem==i)
	iState=m_ListTotal.SetItemState(i,2,LVIS_SELECTED);//&lvitem
		else
	iState=m_ListTotal.SetItemState(i,0,LVIS_SELECTED);//&lvitem
	}
*/	*pResult = 0;
}

BOOL CAttendanceDlg::NotifyFunction( UINT id, NMHDR * pTTTStruct, LRESULT * pResult )
{
	pResult = NULL ;	// Not Used 
	id = 0 ;	// Not used 

    TOOLTIPTEXT *pTTT = (TOOLTIPTEXT *)pTTTStruct;    
	UINT nID = pTTTStruct->idFrom;
	switch ( nID)
	{
		case ID_FILE_OPEN:
			pTTT->lpszText = MAKEINTRESOURCE((LPCSTR)(IDS_FILE_OPEN));
			break ;
		case ID_FILE_SAVEAS:
			pTTT->lpszText = MAKEINTRESOURCE((LPCSTR)(IDS_FILE_SAVEAS));
			break ;
		case ID_PGSETUP:
			pTTT->lpszText = MAKEINTRESOURCE((LPCSTR)(IDS_PGSETUP));
			break ;
		case ID_PRINT:
			pTTT->lpszText = MAKEINTRESOURCE((LPCSTR)(IDS_PRINT));
			break ;
		case ID_PRINT_PREVIEW:
			pTTT->lpszText = MAKEINTRESOURCE((LPCSTR)(IDS_PRINT_PREVIEW));
			break ;
		case ID_ABOUT:
			pTTT->lpszText = MAKEINTRESOURCE((LPCSTR)(IDS_ABOUT));
			break ;
	}
	return(TRUE);
}

void CAttendanceDlg::SetToolBarPosition(int pos)
{
	m_toolbarCtrl = NULL ;
	VERIFY(m_toolbarCtrl == NULL );
	m_toolbarCtrl = new CToolBarCtrl() ;

	CRect wndRect ;
	GetWindowRect(&wndRect);//wndRect.right-100
	CRect rc(0,0,18*9 , 18);//50
//	if ( pos == 0 )//WS_DLGFRAME | CBRS_GRIPPER |
		m_toolbarCtrl->Create(TBSTYLE_TOOLTIPS | TBSTYLE_DROPDOWN |WS_CHILD | WS_VISIBLE | CBRS_GRIPPER | CBRS_FLYBY | CCS_TOP | CCS_NODIVIDER, rc ,this , 0 );
//	else
//		m_toolbarCtrl->Create(TBSTYLE_TOOLTIPS |WS_CHILD | WS_VISIBLE | CBRS_GRIPPER | CCS_BOTTOM  | CCS_NODIVIDER , rc ,this , 0 );

	m_toolbarCtrl->AddButtons(6, btn);
	m_toolbarCtrl->AddBitmap(1, IDR_TOOLBAR);//IDR_MAINFRAME

	CSize sz_btn(18,17);
	m_toolbarCtrl->SetButtonSize(sz_btn);
	
	CSize sz_img(19,18);
	m_toolbarCtrl->SetBitmapSize(sz_img);

	m_toolbarCtrl->AutoSize();
}

void CAttendanceDlg::OnFileOpen() 
{
	// TODO: Add your command handler code here

	CAttendanceApp* app=(CAttendanceApp*)AfxGetApp();
    //CMainFrame* pMFrame=(CMainFrame*)AfxGetMainWnd();
	CFileDialog dlg(true,"atd",NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"考勤數(shù)據(jù)文件(*.atd)|*.atd|所有文件(*.*)|*.*||",NULL);//pMFrame
	
	CString s=m_sOpenPath;
	dlg.m_ofn.lpstrInitialDir=s.GetBuffer(512);
	CString t=m_sAttendFile;
//	CString t="Choose Dir.bmp";
	dlg.m_ofn.lpstrFile=t.GetBuffer(512);//lpstrFile;
	if(dlg.DoModal()==IDCANCEL)
		return;
	m_sFileExt=dlg.GetFileExt();
	char* h=m_sFileExt.GetBuffer(m_sFileExt.GetLength());
	strlwr(h);
	if(strcmp(h,"atd")!=0 )
		return;
	m_sFileExt=dlg.GetFileExt();
	m_sAttendFile=dlg.GetFileName();
	m_sOpenPath=dlg.GetPathName();
	CString str;
	CFile file;//FileNamem_sFileName
	if(file.Open(m_sOpenPath,CFile::modeRead)==0)
	{
		str="打開數(shù)據(jù)文件:\n"+m_sOpenPath+"\n失敗!";
		AfxMessageBox(str);
		return;
	}
	m_sFileExt=dlg.GetFileExt();
	//char* h=m_sFileExt.GetBuffer(m_sFileExt.GetLength());
	//strlwr(h);
	CArchive ar(&file,CArchive::load);

	CWaitCursor wait;
	Serialize(ar);     // save me
	ar.Close();
	file.Close();
	//SetModifiedFlag(FALSE);     // back to unmodified
	
	if(m_iMonths>=0 && sYearTotal[m_iMonths].sAttend[sYearTotal[m_iMonths].iDayItems].tAmOnDuty.Format("%Y%m%d")==m_Time.Format("%Y%m%d"))
	{
		m_iCurItem = sYearTotal[m_iMonths].iDayItems;
/*		sYearTotal[m_iMonths].sAttend[m_iCurItem].tAmOnDuty = sDuty.tAmOnDuty;
		sYearTotal[m_iMonths].sAttend[m_iCurItem].tAmOffDuty = sDuty.tAmOffDuty;
		sYearTotal[m_iMonths].sAttend[m_iCurItem].tPmOnDuty = sDuty.tPmOnDuty;
		sYearTotal[m_iMonths].sAttend[m_iCurItem].tPmOffDuty = sDuty.tPmOffDuty;
		sDuty.tWork=(sDuty.tAmOffDuty-sDuty.tAmOnDuty)+(sDuty.tPmOffDuty-sDuty.tPmOnDuty);
*/
		sYearTotal[m_iMonths].sAttend[m_iCurItem] = sDuty;

	}

	if(m_iMonths>=0 && sYearTotal[m_iMonths].sAttend[sYearTotal[m_iMonths].iDayItems].tAmOnDuty.Format("%Y%m")==m_Time.Format("%Y%m")
		&& sYearTotal[m_iMonths].sAttend[sYearTotal[m_iMonths].iDayItems].tAmOnDuty.GetDay()!=m_Time.GetDay())
	{
		sYearTotal[m_iMonths].iDayItems++;
		m_iCurItem = sYearTotal[m_iMonths].iDayItems;
		sYearTotal[m_iMonths].sAttend[m_iCurItem]=sDuty;

	}

	if(m_iMonths>=0 && sYearTotal[m_iMonths].sAttend[sYearTotal[m_iMonths].iDayItems].tAmOnDuty.GetYear()==m_Time.GetYear()
		&& sYearTotal[m_iMonths].sAttend[sYearTotal[m_iMonths].iDayItems].tAmOnDuty.GetMonth()!=m_Time.GetMonth())
	{
		m_iMonths++;
		sYearTotal[m_iMonths].iPay = m_iMonths-1==-1 ? m_iPay : sYearTotal[m_iMonths-1].iPay;
		sYearTotal[m_iMonths].iDayItems = 0;
		sYearTotal[m_iMonths].sAttend[0] = sDuty;
		m_iHoliday=0;
		int year = sYearTotal[m_iMonths].sAttend[0].tAmOnDuty.GetYear();
		int mth = sYearTotal[m_iMonths].sAttend[0].tAmOnDuty.GetMonth();
		int monthday=MonthDay[mth-1];
		if(mth==2 && fmod(year,4)==0)
			monthday++;
		int day = sYearTotal[m_iMonths].sAttend[0].tAmOnDuty.GetDay();
		int wk = sYearTotal[m_iMonths].sAttend[0].tAmOnDuty.GetDayOfWeek();//1..7
		int	wks = day/7;
		int surplus = fmod(day-1,7);//0..6

		int wk1 = surplus>=wk ? wk+7-surplus : wk-surplus;
		
		for(int i=0;i<monthday;i++)
		{
			wk = wk1+fmod(i,7);
			if(wk>7) wk-=7;
			
			if(wk==1 || wk==7)
			{
				//m_ArrayHoliday.Add(i+1);
				sYearTotal[m_iMonths].ArrayHoliday[m_iHoliday] = i+1;//m_ArrayHoliday[m_iHoliday];
				m_iHoliday++;
			}
		}
		//m_iWorkDays=monthday-m_iHoliday;
		sYearTotal[m_iMonths].iHoliday = m_iHoliday;
	}

	GetDutyData();

	m_bFirst=true;
	GetYearData();
	m_bFirst=false;

}

void CAttendanceDlg::OnFileSaveas() 
{
	// TODO: Add your command handler code here
	CAttendanceApp* app=(CAttendanceApp*)AfxGetApp();
    //CMainFrame* pMFrame=(CMainFrame*)AfxGetMainWnd();
	CFileDialog dlg(false,"atd",NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"考勤數(shù)據(jù)文件(*.atd)|*.atd|所有文件(*.*)|*.*||",NULL);//pMFrame
	CString s=m_sSavePath;
	dlg.m_ofn.lpstrInitialDir=s.GetBuffer(512);
	CString t=m_sAttendFile;
	dlg.m_ofn.lpstrFile=t.GetBuffer(512);//lpstrFile;
	if(dlg.DoModal()==IDCANCEL)
		return;
	CString filename=dlg.GetFileName();
	s=dlg.GetPathName();
	int index = s.ReverseFind('\\');			
	 //返回索引值左邊的所有字符
	m_sSavePath = s.Left(index);
	CString str;
	CFile file;
	if(file.Open(filename,CFile::modeWrite|CFile::modeCreate)==0)
	{
		str="保存數(shù)據(jù)文件"+filename+"失敗\n請改變保存目錄后再試試";
		AfxMessageBox(str);
		return;
	}
	m_sFileExt=dlg.GetFileExt();
	char* h=m_sFileExt.GetBuffer(m_sFileExt.GetLength());
	strlwr(h);
	CArchive ar(&file,CArchive::store);

				CWaitCursor wait;
				Serialize(ar);     // save me
				ar.Close();
				file.Close();
			//SetModifiedFlag(false);     // back to unmodified
	
}

void CAttendanceDlg::OnPrint() 
{
	// TODO: Add your command handler code here
	CPrintSelect dlg;
	dlg.m_iPrtSel = m_iPrtSel;
	if(dlg.DoModal() != IDOK)
		return;
	m_iPrtSel = dlg.m_iPrtSel;

	CAttendanceApp* app=(CAttendanceApp*)AfxGetApp();
	app->SetPrntOrientation();
	m_pChildFrame->SendMessage(WM_COMMAND, ID_FILE_PRINT);
	
}

void CAttendanceDlg::OnPrintPreview() 
{
	// TODO: Add your command handler code here
	CPrintSelect dlg;
	dlg.m_iPrtSel = m_iPrtSel;
	if(dlg.DoModal() != IDOK)
		return;
	m_iPrtSel = dlg.m_iPrtSel;

	CAttendanceApp* app=(CAttendanceApp*)AfxGetApp();
	app->SetPrntOrientation();
	m_pChildFrame->ShowWindow(SW_SHOW);//HIDE
	m_pChildFrame->UpdateWindow();
	m_pChildFrame->SendMessage(WM_COMMAND, ID_FILE_PRINT_PREVIEW);
	
}


int CAttendanceDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CDialog::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here
	CChildFrame* pFrame = new CChildFrame;
	m_pChildFrame = pFrame;

	// create and load the frame with its resources

	pFrame->LoadFrame(IDR_MAINFRAME,
		WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, NULL,//,m_pMainWnd
		NULL);

	m_pChildFrame->SetWindowText("打印考勤資料");
	m_pChildFrame->SetIcon(m_hIcon, FALSE);		// Set small icon
	m_pChildFrame->ShowWindow(SW_HIDE);//SHOW
	m_pChildFrame->UpdateWindow();

	
	return 0;
}

void CAttendanceDlg::OnPgsetup() 
{
	// TODO: Add your command handler code here
	CPageSetup dlg;
	dlg.m_iTop = m_iTop;
	dlg.m_iBottom = m_iBottom;
	dlg.m_iLeft = m_iLeft;
	dlg.m_iRight = m_iRight;
//	dlg.m_bChkYear = m_bChkYear;
	if(dlg.DoModal() != IDOK)
		return;
	m_iTop = dlg.m_iTop;
	m_iBottom = dlg.m_iBottom;
	m_iLeft = dlg.m_iLeft;
	m_iRight = dlg.m_iRight;
//	m_bChkYear = dlg.m_bChkYear;

	
}

void CAttendanceDlg::OnUpdateFactpay() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CDialog::OnInitDialog()
	// function to send the EM_SETEVENTMASK message to the control
	// with the ENM_UPDATE flag ORed into the lParam mask.
	
	// TODO: Add your control notification handler code here
	if(sYearTotal[m_iMonths].sAttend[0].tAmOnDuty.Format("%Y%m")!=m_Time.Format("%Y%m"))
		return;
	char buf[10];
	int x=m_EdtFactPay.GetLine(0,buf,10);
	buf[x]=0;
	int i=atoi(buf);
	if(i<0 || i>62000)
		return;
	m_iFactPay = i;
	sYearTotal[m_iMonths].iFactPay = m_iFactPay;
	GetYearData();
	
}

void CAttendanceDlg::OnAbout() 
{
	// TODO: Add your command handler code here
	CAboutDlg dlg;
	dlg.DoModal();

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区四区中文字幕| 欧美一区二区三区在线看| 国产精品视频在线看| 国产精品亚洲一区二区三区在线 | 欧美色精品在线视频| 亚洲观看高清完整版在线观看| 欧美三级视频在线| 老汉av免费一区二区三区| 久久久久久免费毛片精品| 高清在线成人网| 亚洲综合色噜噜狠狠| 日韩无一区二区| 成人性生交大片免费看视频在线| 中文字幕日韩av资源站| 欧美日韩免费电影| 国产精品一二三在| 亚洲已满18点击进入久久| 日韩免费一区二区三区在线播放| 国产不卡免费视频| 亚洲成人综合在线| 欧美成人乱码一区二区三区| 狠狠色丁香婷婷综合| 中文字幕一区二区三区在线播放 | 蜜桃av噜噜一区二区三区小说| 国产亚洲欧美在线| 欧美日韩精品三区| 成人精品一区二区三区中文字幕| 亚洲已满18点击进入久久| 久久一区二区三区四区| 欧美无砖砖区免费| 国产精品18久久久久| 亚洲一卡二卡三卡四卡无卡久久| 日韩精品在线网站| 在线亚洲一区二区| 粉嫩高潮美女一区二区三区| 亚洲自拍偷拍图区| 国产精品女人毛片| 精品国产乱码久久久久久影片| 欧美综合色免费| 波多野结衣中文字幕一区二区三区| 亚洲一区二区三区精品在线| 欧美国产日韩亚洲一区| 日韩一区二区精品| 在线观看视频一区二区| 春色校园综合激情亚洲| 久久精品国产成人一区二区三区| 亚洲成人综合在线| 亚洲人成人一区二区在线观看| 精品av久久707| 日韩免费观看高清完整版在线观看 | 欧美精品少妇一区二区三区| av不卡在线播放| 国产成都精品91一区二区三| 美女免费视频一区| 亚洲成av人片在线观看无码| 亚洲啪啪综合av一区二区三区| 久久精品这里都是精品| 精品国产露脸精彩对白| 在线不卡中文字幕| 欧美日韩mp4| 欧美在线播放高清精品| 色婷婷香蕉在线一区二区| 成人性生交大片免费看在线播放| 国产精品资源在线观看| 久久超碰97中文字幕| 日本v片在线高清不卡在线观看| 亚洲五月六月丁香激情| 亚洲第一主播视频| 五月婷婷另类国产| 日本不卡视频在线| 久久精品噜噜噜成人88aⅴ| 男女性色大片免费观看一区二区| 天天亚洲美女在线视频| 青青青爽久久午夜综合久久午夜| 午夜视频在线观看一区二区三区| 亚洲成人一区二区在线观看| 亚洲高清免费一级二级三级| 亚洲观看高清完整版在线观看 | 中文字幕一区二区视频| 国产精品卡一卡二卡三| 国产精品久久三区| 亚洲乱码日产精品bd| 亚洲乱码日产精品bd| 亚洲成人资源网| 免费观看日韩电影| 国产一区二区视频在线| 国产成人精品免费网站| 97精品超碰一区二区三区| 色一区在线观看| 欧美人牲a欧美精品| 欧美videos中文字幕| 欧美高清在线一区二区| 中文字幕在线观看不卡视频| 一级女性全黄久久生活片免费| 亚洲成人777| 国产乱国产乱300精品| www.色综合.com| 欧美精品丝袜中出| 久久久精品tv| 一区二区欧美在线观看| 日本不卡在线视频| 国产夫妻精品视频| 色综合激情五月| 欧美xxxxx牲另类人与| 国产精品视频一二| 亚洲第一成年网| 国产一区二区三区久久悠悠色av| 99精品欧美一区二区三区小说| 欧美色偷偷大香| 久久久久国产精品厨房| 亚洲欧美日韩久久精品| 人人超碰91尤物精品国产| 国产suv精品一区二区883| 欧美日韩中文精品| 精品久久久久久久久久久久久久久久久 | 欧美一区二区三区系列电影| 久久九九国产精品| 亚洲成av人片一区二区梦乃| 国产精品88888| 欧洲精品在线观看| 久久人人超碰精品| 亚洲国产精品久久艾草纯爱| 国产毛片一区二区| 91精品在线观看入口| 亚洲欧洲日产国码二区| 精品一区二区三区av| 欧美综合天天夜夜久久| 亚洲小少妇裸体bbw| 国产精品一区二区男女羞羞无遮挡 | 久久久久久久精| 亚洲成人综合网站| av电影在线观看不卡| 精品国产乱码久久久久久蜜臀| 亚洲男同性恋视频| 成人亚洲一区二区一| 欧美成人性福生活免费看| 一个色妞综合视频在线观看| 国产a精品视频| 精品久久一二三区| 图片区小说区区亚洲影院| 97aⅴ精品视频一二三区| 久久影院午夜论| 天堂va蜜桃一区二区三区漫画版| 91亚洲精品乱码久久久久久蜜桃| 精品欧美一区二区久久| 无码av免费一区二区三区试看| 色久综合一二码| 国产精品高潮久久久久无| 国产在线精品免费av| 欧美一级爆毛片| 日韩精品电影在线观看| 欧美日韩电影在线播放| 亚洲综合一区二区精品导航| 91在线播放网址| 亚洲色图在线看| 不卡大黄网站免费看| 国产午夜精品一区二区三区四区| 理论电影国产精品| 日韩色在线观看| 久久se这里有精品| 91精品国产综合久久香蕉麻豆| 亚洲视频免费在线| 日本韩国欧美在线| 亚洲最新在线观看| 欧美中文字幕不卡| 亚洲一区二区三区三| 欧美综合视频在线观看| 午夜一区二区三区视频| 欧美视频中文字幕| 午夜精品福利一区二区三区蜜桃| 欧美怡红院视频| 亚洲一区二区在线免费观看视频| 欧美写真视频网站| 亚洲网友自拍偷拍| 日韩限制级电影在线观看| 久久精品国产第一区二区三区| 精品国产乱子伦一区| 国产91精品一区二区麻豆网站| 国产精品麻豆欧美日韩ww| 一本色道a无线码一区v| 亚洲国产中文字幕| 欧美第一区第二区| 国产精品一二三四区| 《视频一区视频二区| 色婷婷久久久综合中文字幕| 亚洲成人综合在线| 日韩美女主播在线视频一区二区三区 | 国产精品1024| 自拍偷拍欧美激情| 欧美精品777| 国产成人aaa| 亚洲小说春色综合另类电影| 欧美一区二区三区免费在线看| 国产精品66部| 亚洲永久免费视频| 精品国产成人系列| 91看片淫黄大片一级在线观看| 日本欧美一区二区| 国产精品久久久久桃色tv| 在线亚洲免费视频|