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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? empeditdlg.cpp

?? This a integrated human resource manage system ,developed with vc++ and sql2000 Server
?? CPP
字號(hào):
// EmpEditDlg.cpp : implementation file
//

#include "stdafx.h"
#include "HrSys.h"
#include "EmpEditDlg.h"
#include "Employees.h"
#include "EmpSelDlg.h"
#include "ADOConn.h"

extern CUsers curUser;

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CEmpEditDlg dialog


CEmpEditDlg::CEmpEditDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CEmpEditDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CEmpEditDlg)
	m_Badge = _T("");
	m_Contract = _T("");
	m_EmpName = _T("");
	m_Culture = _T("");
	m_Family = _T("");
	m_File = _T("");
	m_Fillperson = _T("");
	m_Filltime = _T("");
	m_Hukou = _T("");
	m_Idcard = _T("");
	m_Marital = _T("");
	m_Memo = _T("");
	m_Mobile = _T("");
	m_Nation = _T("");
	m_Office = _T("");
	m_Political = _T("");
	m_Position = _T("");
	m_Title = _T("");
	m_Birth = 0;
	m_HireDate = 0;
	m_Upper = _T("");
	//}}AFX_DATA_INIT
}


void CEmpEditDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CEmpEditDlg)
	DDX_Control(pDX, IDC_STATE_COMBO, m_State);
	DDX_Control(pDX, IDC_SEX_COMBO, m_Sex);
	DDX_Text(pDX, IDC_BADGE_EDIT, m_Badge);
	DDX_Text(pDX, IDC_CONTRACT_EDIT, m_Contract);
	DDX_Text(pDX, IDC_EMPNAME_EDIT, m_EmpName);
	DDX_Text(pDX, IDC_CULTURE_EDIT, m_Culture);
	DDX_Text(pDX, IDC_FAMILY_EDIT, m_Family);
	DDX_Text(pDX, IDC_FILE_EDIT, m_File);
	DDX_Text(pDX, IDC_FILLPERSON_STATIC, m_Fillperson);
	DDX_Text(pDX, IDC_FILLTIME_STATIC, m_Filltime);
	DDX_Text(pDX, IDC_HUKOU_EDIT, m_Hukou);
	DDX_Text(pDX, IDC_ID_EDIT, m_Idcard);
	DDX_Text(pDX, IDC_MARITAL_EDIT, m_Marital);
	DDX_Text(pDX, IDC_MEMO_EDIT, m_Memo);
	DDX_Text(pDX, IDC_MOBILE_EDIT, m_Mobile);
	DDX_Text(pDX, IDC_NATION_EDIT, m_Nation);
	DDX_Text(pDX, IDC_OFFICE_EDIT, m_Office);
	DDX_Text(pDX, IDC_POLITICAL_EDIT, m_Political);
	DDX_Text(pDX, IDC_POSITION, m_Position);
	DDX_Text(pDX, IDC_TITLE_EDIT, m_Title);
	DDX_DateTimeCtrl(pDX, IDC_BIRTH, m_Birth);
	DDX_DateTimeCtrl(pDX, IDC_HIREDATE, m_HireDate);
	DDX_Text(pDX, IDC_UPPER_STATIC, m_Upper);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CEmpEditDlg, CDialog)
	//{{AFX_MSG_MAP(CEmpEditDlg)
	ON_BN_CLICKED(IDC_EMPSEL_BUTTON, OnEmpselButton)
	ON_BN_CLICKED(IDC_SETPHOTO_BUTTON, OnSetphotoButton)
	ON_WM_PAINT()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CEmpEditDlg message handlers

void CEmpEditDlg::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData(TRUE);
	CEmployees emp;
	
	//將用戶(hù)輸入的數(shù)據(jù)賦值到對(duì)象dep中,為更新數(shù)據(jù)庫(kù)做準(zhǔn)備
	emp.EmpName = m_EmpName;
	int index;
	index = m_Sex.GetCurSel();
	if (index == 0)
		emp.Sex = "男";
	else
		emp.Sex = "女";
	emp.Nationality = m_Nation;
	emp.Birth = m_Birth.Format("%Y-%m-%d");
	emp.Political_Party = m_Political;
	emp.Culture_Level = m_Culture;
	emp.Marital_Condition = m_Marital;
	emp.Family_Place = m_Family;
	emp.Id_Card = m_Idcard;
	emp.BadgeId = m_Badge;
	emp.Office_phone = m_Office;
	emp.Mobile = m_Mobile;
	emp.Files_Keep_Org = m_File;
	emp.Hukou = m_Hukou;
	emp.HireDate = m_HireDate.Format("%Y-%m-%d");
	emp.DepId = DepId;
	emp.Position = m_Position;
	emp.sTitle = m_Title;
	emp.State = m_State.GetCurSel() + 1;
	emp.UpperId = UpperId;
	emp.Memo = m_Memo;
	//自動(dòng)保存填表人和填表時(shí)間
	m_Fillperson = curUser.UserName;
	CTime t = CTime::GetCurrentTime();
	m_Filltime = t.Format("%Y-%m-%d");

	emp.Fillin_Person = m_Fillperson;
	emp.Fillin_Time = m_Filltime;
	
	if (EmpId == 0)  //表示插入數(shù)據(jù)
		emp.sql_insert();
	else
	{
		//根據(jù)DepId的值更新記錄
		CString cEmpId;
		cEmpId.Format("%d", EmpId);
		emp.sql_update(cEmpId);
	}
	
	CDialog::OnOK();
}

void CEmpEditDlg::OnEmpselButton() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	//打開(kāi)選擇員工對(duì)話(huà)框
	CEmpSelDlg dlg;
	dlg.DoModal();	
	//根據(jù)用戶(hù)選擇設(shè)置員工信息
	m_Upper = dlg.EmpName;
	UpperId = dlg.EmpId;

	UpdateData(FALSE);
}

BOOL CEmpEditDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	//設(shè)置性別
	if (cSex == "男")
		m_Sex.SetCurSel(0);
	else
		m_Sex.SetCurSel(1);
	//設(shè)置狀態(tài)
	m_State.SetCurSel(iState-1);	
	//如果是添加新員工,則將設(shè)置和刪除照片的按鈕置灰
	if (EmpId == 0)
		GetDlgItem(IDC_SETPHOTO_BUTTON)->EnableWindow(FALSE);
	else  //讀取照片圖像信息
	{
		//清除原圖像數(shù)據(jù)
		if(m_hBitmap)
		{
			DeleteObject(m_hBitmap);
			m_hBitmap = NULL;
		}
		//將當(dāng)前員工記錄讀取到m_pRs對(duì)象中
		CString cEmpId;
		cEmpId.Format("%d", EmpId);
		//連接數(shù)據(jù)庫(kù)
		ADOConn m_AdoConn;
		m_AdoConn.OnInitADOConn();
		//設(shè)置SELECT語(yǔ)句
		_bstr_t vSQL;
		vSQL = "SELECT * FROM Employees WHERE EmpId=" + cEmpId;
		//執(zhí)行SELETE語(yǔ)句
		_RecordsetPtr	m_pRs;
		m_pRs = m_AdoConn.GetRecordSet(vSQL);	

		//如果不存在此記錄,則將設(shè)置按鈕置灰并返回
		if(m_pRs->adoEOF || m_pRs->adoBOF)  
		{
			GetDlgItem(IDC_SETPHOTO_BUTTON)->EnableWindow(FALSE);
			return FALSE;
		}
		//讀取圖像字段的實(shí)際大小
		long lDataSize = m_pRs->GetFields()->GetItem("Photo")->ActualSize;
		char *m_pBuffer;  //定義緩沖變量
		if(lDataSize > 0)
		{
			//從圖像字段中讀取數(shù)據(jù)到varBLOB中
			_variant_t varBLOB;
			varBLOB = m_pRs->GetFields()->GetItem("Photo")->GetChunk(lDataSize);
			if(varBLOB.vt == (VT_ARRAY | VT_UI1))
			{
				if(m_pBuffer = new char[lDataSize+1])	//分配必要的存儲(chǔ)空間
				{	
					char *pBuf = NULL;
					SafeArrayAccessData(varBLOB.parray,(void **)&pBuf);
					memcpy(m_pBuffer,pBuf,lDataSize); ///復(fù)制數(shù)據(jù)到緩沖區(qū)m_pBuffer
					SafeArrayUnaccessData (varBLOB.parray);
					
					//將數(shù)據(jù)轉(zhuǎn)換為HBITMAP格式
					LPSTR hDIB;
					LPVOID lpDIBBits;
					BITMAPFILEHEADER bmfHeader;  //用于保存BMP文件頭信息,包括類(lèi)型、大小、位移量等
					DWORD bmfHeaderLen;  //保存文件頭的長(zhǎng)度

					bmfHeaderLen = sizeof(bmfHeader);  //讀取文件頭的長(zhǎng)度
					//將m_pBuffer中文件頭復(fù)制到bmfHeader中
					strncpy((LPSTR)&bmfHeader, (LPSTR)m_pBuffer, bmfHeaderLen); 	
					if (bmfHeader.bfType != (*(WORD*)"BM"))   //如果文件類(lèi)型不對(duì),則返回
					{
						MessageBox("BMP文件格式不準(zhǔn)確");
						return FALSE;
					}
					hDIB = m_pBuffer + bmfHeaderLen;  //將指針移至文件頭后面
					//讀取BMP文件的圖像數(shù)據(jù),包括坐標(biāo)及顏色格式等信息到BITMAPINFOHEADER對(duì)象
					BITMAPINFOHEADER &bmiHeader = *(LPBITMAPINFOHEADER)hDIB;
					//讀取BMP文件的圖像數(shù)據(jù),包括坐標(biāo)及顏色格式等信息到BITMAPINFO對(duì)象
					BITMAPINFO &bmInfo = *(LPBITMAPINFO)hDIB ;
					//根據(jù)bfOffBits屬性將指針移至文件頭后
					lpDIBBits = (m_pBuffer) + ((BITMAPFILEHEADER *)m_pBuffer)->bfOffBits;
					CClientDC dc(this);  //生成一個(gè)與當(dāng)前窗口相關(guān)的CClientDC,用于管理輸出設(shè)置
					//生成DIBitmap數(shù)據(jù)
					m_hBitmap = CreateDIBitmap(dc.m_hDC,&bmiHeader,CBM_INIT,lpDIBBits,&bmInfo,DIB_RGB_COLORS);
				}
			}
		}
	}

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CEmpEditDlg::OnSetphotoButton() 
{
	// TODO: Add your control notification handler code here
	static char BASED_CODE szFilter[] = "BMP Files (*.bmp)|*.bmp|All Files (*.*)|*.*||";
	CFileDialog dlg(TRUE,"BMP",NULL,  OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
	if(dlg.DoModal() != IDOK)
		return;

	CString pathname = dlg.GetPathName();

	char *m_pBuffer;  //從BMP文件中讀取的數(shù)據(jù)存放在此變量中
	
	//@@@@@@@@@@   讀取BMP文件到m_pBuffer   @@@@@@@@@@
	CFile file;  //定義文件對(duì)象
	if( !file.Open(pathname, CFile::modeRead)) //以只讀方式打開(kāi)文件
	{
		MessageBox("無(wú)法打開(kāi)BMP文件");
		return;
	}
	DWORD m_filelen;  //用于保存文件長(zhǎng)度
	m_filelen = file.GetLength();  //讀取文件長(zhǎng)度
	m_pBuffer = new char[m_filelen + 1]; //根據(jù)文件長(zhǎng)度分配數(shù)組空間
	if(!m_pBuffer)  //如果不空間不足則返回
	{
		MessageBox("無(wú)法分配足夠的內(nèi)存空間");
		return;
	}
	if(file.ReadHuge(m_pBuffer, m_filelen) != m_filelen)  //讀取BMP文件到m_pBuffer中
	{
		MessageBox("讀取BMP文件時(shí)出現(xiàn)錯(cuò)誤");
		return;
	}
	
	//@@@@@@@@@@   將BMP文件數(shù)據(jù)從m_pBuffer中轉(zhuǎn)換到m_hBitMap位圖句柄中
	LPSTR hDIB;
	LPVOID lpDIBBits;
	BITMAPFILEHEADER bmfHeader;  //用于保存BMP文件頭信息,包括類(lèi)型、大小、位移量等
	DWORD bmfHeaderLen;  //保存文件頭的長(zhǎng)度

	bmfHeaderLen = sizeof(bmfHeader);  //讀取文件頭的長(zhǎng)度
	//將m_pBuffer中文件頭復(fù)制到bmfHeader中
	strncpy((LPSTR)&bmfHeader, (LPSTR)m_pBuffer, bmfHeaderLen); 	
	if (bmfHeader.bfType != (*(WORD*)"BM"))   //如果文件類(lèi)型不對(duì),則返回
	{
		MessageBox("BMP文件格式不準(zhǔn)確");
		return;
	}
	hDIB = m_pBuffer + bmfHeaderLen;  //將指針移至文件頭后面
	//讀取BMP文件的圖像數(shù)據(jù),包括坐標(biāo)及顏色格式等信息到BITMAPINFOHEADER對(duì)象
	BITMAPINFOHEADER &bmiHeader = *(LPBITMAPINFOHEADER)hDIB;
	//讀取BMP文件的圖像數(shù)據(jù),包括坐標(biāo)及顏色格式等信息到BITMAPINFO對(duì)象
	BITMAPINFO &bmInfo = *(LPBITMAPINFO)hDIB ;
	//根據(jù)bfOffBits屬性將指針移至文件頭后
	lpDIBBits = (m_pBuffer) + ((BITMAPFILEHEADER *)m_pBuffer)->bfOffBits;
	CClientDC dc(this);  //生成一個(gè)與當(dāng)前窗口相關(guān)的CClientDC,用于管理輸出設(shè)置
	//生成DIBitmap數(shù)據(jù)
	m_hBitmap = CreateDIBitmap(dc.m_hDC,&bmiHeader,CBM_INIT,lpDIBBits,&bmInfo,DIB_RGB_COLORS);
	
	//激活OnPaint()函數(shù),顯示圖像
	Invalidate();
	//@@@@@@@@@@@  將圖像數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中  @@@@@@@@@@@@@
	//將當(dāng)前員工記錄讀取到m_pRs對(duì)象中
	CString cEmpId;
	cEmpId.Format("%d", EmpId);
	//連接數(shù)據(jù)庫(kù)
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
	//設(shè)置SELECT語(yǔ)句
	_bstr_t vSQL;
	vSQL = "SELECT * FROM Employees WHERE EmpId=" + cEmpId;
	//執(zhí)行SELETE語(yǔ)句
	_RecordsetPtr	m_pRs;
	m_pRs = m_AdoConn.GetRecordSet(vSQL);	

	VARIANT			varBLOB;
	SAFEARRAY		*psa;  //定義數(shù)組
    SAFEARRAYBOUND	rgsabound[1];

	rgsabound[0].lLbound = 0;
	rgsabound[0].cElements = m_filelen;
	psa = SafeArrayCreate(VT_UI1, 1, rgsabound);  //創(chuàng)建數(shù)組
	for (long i = 0; i < (long)m_filelen; i++)  //將m_pBuffer中的圖像數(shù)據(jù)寫(xiě)入數(shù)組psa
		SafeArrayPutElement (psa, &i, m_pBuffer++);
	varBLOB.vt = VT_ARRAY | VT_UI1;
	varBLOB.parray = psa;
	//調(diào)用AppendChunk()函數(shù)將圖像數(shù)據(jù)寫(xiě)入Photo字段
	m_pRs->GetFields()->GetItem("Photo")->AppendChunk(varBLOB);
	//更新數(shù)據(jù)庫(kù)
	m_pRs->Update();
	//斷開(kāi)與數(shù)據(jù)庫(kù)的連接
	m_AdoConn.ExitConnect();
}


void CEmpEditDlg::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	int x=512, y=24;
	int iWidth=72, iHeight=79;
	// TODO: Add your message handler code here
	if(!m_hBitmap)  //如果內(nèi)存中沒(méi)有BMP數(shù)據(jù),則返回
		return;
	HBITMAP tmpBitmap;  //用于保存輸出到屏幕的BMP數(shù)據(jù)
	CDC MemDC;  //CDC對(duì)象,用于輸出到屏幕
	MemDC.CreateCompatibleDC(&dc);
	tmpBitmap = (HBITMAP)MemDC.SelectObject(m_hBitmap);
	dc.BitBlt(x,y,iWidth,iHeight,&MemDC,0,0,SRCCOPY);
	MemDC.SelectObject(tmpBitmap);
	
	// Do not call CDialog::OnPaint() for painting messages
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区乱视频| 久久99精品国产| 夜色激情一区二区| 亚洲精品欧美激情| 亚洲一卡二卡三卡四卡无卡久久| 亚洲精品国产a久久久久久| 亚洲综合视频在线观看| 亚洲国产成人av网| 日韩成人一级片| 日本成人在线网站| 久久国产福利国产秒拍| 国产在线观看免费一区| 懂色av中文一区二区三区| 不卡一区二区中文字幕| 91亚洲精品久久久蜜桃网站 | 91日韩在线专区| 一本久久综合亚洲鲁鲁五月天| 在线一区二区观看| 91精品国产综合久久福利| 精品国产乱子伦一区| 国产亚洲精品福利| 亚洲欧美日韩在线| 亚洲电影在线播放| 精品无码三级在线观看视频| 成人午夜精品一区二区三区| 色综合久久中文字幕| 欧美理论在线播放| 欧美精品一区二区三区蜜臀| 国产精品久久久久久久久动漫| 亚洲综合色成人| 麻豆成人久久精品二区三区小说| 国产成人免费av在线| 国产精品丝袜久久久久久app| 国产精品短视频| 亚洲chinese男男1069| 久久99精品久久久久婷婷| 成人a免费在线看| 91麻豆精品国产自产在线| 久久免费美女视频| 亚洲一区日韩精品中文字幕| 久久精品免费看| 91小视频在线观看| 日韩一级精品视频在线观看| 国产精品久久影院| 人人精品人人爱| 96av麻豆蜜桃一区二区| 日韩亚洲欧美在线| 自拍偷拍国产精品| 久久疯狂做爰流白浆xx| 色嗨嗨av一区二区三区| 久久夜色精品国产噜噜av| 亚洲激情网站免费观看| 国产一区二区免费看| 欧美综合一区二区三区| 国产亚洲人成网站| 首页综合国产亚洲丝袜| www.成人在线| 26uuu久久综合| 亚洲国产欧美在线| av激情综合网| 久久久久高清精品| 日韩和欧美的一区| 91丨porny丨在线| 欧美精品一区二区在线观看| 亚洲va国产va欧美va观看| av亚洲产国偷v产偷v自拍| 精品久久人人做人人爽| 午夜精彩视频在线观看不卡| 99久久精品一区| 国产亚洲欧美中文| 久久av中文字幕片| 欧美区一区二区三区| 亚洲免费av高清| 成人av免费在线观看| 26uuuu精品一区二区| 免费在线观看一区| 在线不卡一区二区| 亚洲综合色视频| 色综合久久久久| 国产精品久久久久久妇女6080| 激情久久五月天| 青娱乐精品视频| 欧美日韩亚洲综合在线| 一区二区三区欧美久久| 91免费视频网| 亚洲人成精品久久久久久| 国产不卡视频一区二区三区| 久久久青草青青国产亚洲免观| 免费一区二区视频| 日韩一区二区免费在线观看| 日韩高清在线不卡| 91麻豆精品国产91久久久使用方法 | 99精品久久免费看蜜臀剧情介绍| 久久综合色天天久久综合图片| 琪琪一区二区三区| 欧美喷潮久久久xxxxx| 亚洲高清视频中文字幕| 欧美少妇一区二区| 午夜私人影院久久久久| 欧美性一区二区| 午夜伊人狠狠久久| 777午夜精品视频在线播放| 日本色综合中文字幕| 欧美一二三区精品| 精品一区二区在线看| 精品国产三级a在线观看| 久久爱www久久做| 久久嫩草精品久久久精品一| 国产精品一区不卡| 欧美国产丝袜视频| 91麻豆高清视频| 亚洲一二三专区| 欧美久久久久久久久久| 毛片av一区二区三区| 欧美精品一区二区不卡| 国产精品18久久久久久vr| 欧美国产丝袜视频| 色视频欧美一区二区三区| 亚洲午夜在线电影| 欧美一级欧美一级在线播放| 麻豆成人久久精品二区三区红| 26uuu久久综合| 99精品偷自拍| 五月天亚洲婷婷| 精品动漫一区二区三区在线观看| 福利一区福利二区| 尤物av一区二区| 欧美一级高清片在线观看| 国产一区二区不卡在线| 一区二区中文字幕在线| 欧美日韩精品一区二区三区| 日韩一二在线观看| 成人性生交大片免费看中文| 日韩一区日韩二区| 91精品国产高清一区二区三区 | 日韩欧美中文字幕制服| 国产激情偷乱视频一区二区三区| 成人欧美一区二区三区黑人麻豆 | 欧美性猛交xxxx乱大交退制版| 日产国产高清一区二区三区| 国产午夜精品理论片a级大结局 | 日韩精品中文字幕在线不卡尤物 | 欧洲另类一二三四区| 男男视频亚洲欧美| 中文字幕中文字幕一区二区| 欧美视频一区二区三区在线观看| 精品中文字幕一区二区| 亚洲精品中文在线影院| 精品蜜桃在线看| 欧美专区在线观看一区| 国产一区二区调教| 亚洲成人免费看| 国产精品久久久久久亚洲伦| 欧美一区二区视频网站| 97超碰欧美中文字幕| 激情文学综合网| 亚洲成人动漫在线免费观看| 久久免费美女视频| 在线不卡中文字幕| 色av成人天堂桃色av| 国产在线日韩欧美| 三级成人在线视频| 亚洲视频一区二区免费在线观看| 精品国产91久久久久久久妲己| 欧美网站一区二区| 国产.精品.日韩.另类.中文.在线.播放 | 日韩在线一二三区| 亚洲男人电影天堂| 欧美国产精品专区| 欧美一区二区视频在线观看| 色婷婷av久久久久久久| 高清国产一区二区| 久久99精品国产91久久来源| 亚洲国产成人av网| 亚洲精品一二三区| 福利一区福利二区| 美国三级日本三级久久99| 亚洲综合图片区| 日韩毛片一二三区| 国产日韩欧美一区二区三区综合| 日韩女同互慰一区二区| 日本丰满少妇一区二区三区| 成人动漫一区二区在线| 国产成人免费xxxxxxxx| 紧缚奴在线一区二区三区| 日本欧洲一区二区| 五月开心婷婷久久| 一卡二卡欧美日韩| 一区二区三区 在线观看视频| 中文字幕一区二区三区四区 | 蜜臀av一区二区在线免费观看| 亚洲国产一二三| 一区二区三区四区视频精品免费| 1000部国产精品成人观看| 亚洲国产激情av| 日本一区二区三区久久久久久久久不| 精品电影一区二区| 精品福利视频一区二区三区| 精品国产免费一区二区三区四区 | 一区二区三区在线视频免费观看|