Files
cyf ab56a9bcf7 基线 SVN r240
SVN-Revision: r240
2025-02-06 06:46:06 +00:00

148 lines
7.6 KiB
C#

using Lskj.Business;
using Lskj.Business.Impl;
using Lskj.Control;
using Lskj.IPersonnelConnection;
using Lskj.Model;
using Lskj.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Web;
using System.Windows.Forms;
namespace Lskj.PubBrowerIE
{
public partial class FrmMain : BaseForm
{
public DynamicPubBrowerModel PubBrowerModel;
public static bool isBatchBrower = false;
public FrmMain()
{
InitializeComponent();
}
/// <summary>
/// 加载时
/// </summary>
public void OnLoad()
{
try
{
DataRow menuCondRow = BaseImpl.GetPopMenu(this.PubBrowerModel.ModuleCode, this.PubBrowerModel.FormText); //获取菜单其他配置
isBatchBrower = menuCondRow != null ? menuCondRow["dllname"].Equals("Lskj.PubBatchBrower.dll") ? true : false : false;
if (PubBrowerModel.isCalSize)
{
this.Height = Convert.ToInt32(Lskj.Main.Model.Manager.frmHeight * PubBrowerModel.PerHeight);
this.Width = Convert.ToInt32(Screen.PrimaryScreen.WorkingArea.Width * PubBrowerModel.PerWidth);
this.Location = new Point((Screen.PrimaryScreen.WorkingArea.Width - this.Width) / 2,
(Lskj.Main.Model.Manager.frmHeight - this.Height) / 2);
}
bool isPostFlag = this.PubBrowerModel.isPostFlag == 1;
this.PubBrowerModel.Privilege = PubBrowerModel.ModuleId > 0 ? BaseImpl.GetUserPurviewsByMenuId(PubBrowerModel.ModuleId + "") + "" : BaseImpl.GetUserPurviewsByMenuCode(PubBrowerModel.ModuleCode) + "";
string urlEnd = string.Empty;
if (isPostFlag)
{
urlEnd = string.IsNullOrEmpty(PubBrowerModel.UrlParame) ? "" : HttpUtility.UrlEncode(PubBrowerModel.UrlParame);
}
else
{
urlEnd = string.IsNullOrEmpty(PubBrowerModel.UrlParame) ? ReplaceHelper.ReplaceUserInfo(PubBrowerModel.ModuleCode) : string.IsNullOrWhiteSpace(PubBrowerModel.UrlParame) ? "" : HttpUtility.UrlEncode(PubBrowerModel.UrlParame);
}
string OAUrlAndEnd = string.Empty;
if (!(PubBrowerModel.BetweenDLLCoid != null && PubBrowerModel.BetweenDLLCoid.StartsWith("http")) && !urlEnd.StartsWith("http"))
{
string OAUrl = !string.IsNullOrEmpty(SystemInfo.Instance.OAUrl) && SystemInfo.Instance.OAUrl.EndsWith("/") ? SystemInfo.Instance.OAUrl : SystemInfo.Instance.OAUrl + "/";
string Between = !string.IsNullOrEmpty(PubBrowerModel.BetweenDLLCoid) && PubBrowerModel.BetweenDLLCoid.StartsWith("/") ? PubBrowerModel.BetweenDLLCoid.TrimStart('/') : PubBrowerModel.BetweenDLLCoid;
OAUrlAndEnd = OAUrl + Between + urlEnd;
}
string url = PubBrowerModel.BetweenDLLCoid != null && PubBrowerModel.BetweenDLLCoid.StartsWith("http") ? PubBrowerModel.BetweenDLLCoid + urlEnd : urlEnd.StartsWith("http") ? PubBrowerModel.BetweenDLLCoid + urlEnd : OAUrlAndEnd;
if (url.Contains("{iPersonnelAllowInformation}") || url.Contains("{iPersonnelEncryptedMessage}"))
{
//url = ReplaceHelper.ReplaceIPersonnel(url, SystemInfo.Instance.iPersonnelAllowInformation, SystemInfo.Instance.iPersonnelCustomerId, SystemInfo.Instance.iPersonnelPrivateKey);
url = PersonnelReplaceHelper.UrlEncryption(url, SystemInfo.Instance.iPersonnelAllowInformation, SystemInfo.Instance.iPersonnelCustomerId, SystemInfo.Instance.iPersonnelPrivateKey, ERPInfo.Instance.UserLinkPhone);
}
bool downLoadFlag = this.PubBrowerModel.downLoadFlag == 1;
int RightKeyFlag = this.PubBrowerModel.RightKeyFlag;
if (downLoadFlag)
{
this.Close();
url = HttpUtility.UrlDecode(url);
url = url.Replace("%2f", "/");
url = url.Replace("#", "%23");
//WebBrowser browserNew = new WebBrowser();//点击下载的页面
//browserNew.Navigate(url);
string[] newurl = url.Split('?');
string szFilename = newurl[0].Substring(newurl[0].LastIndexOf('/') + 1);//简单处理文件名,实际中还需要单独处理,这里有BUG
//string SzFileName = HttpUtility.UrlDecode(szFilename);
string[] szName = szFilename.Split('/');
string fileTitle = szName[szName.Length - 1];
Download(url, fileTitle);
}
else
{
this.Opacity = 100D;
previewFrm previewFrm = new previewFrm();
//previewFrm.moduleWebView.PubBrowerModel = this.PubBrowerModel;
previewFrm.Dock = DockStyle.Fill;
//url = "http://114.116.145.208:9024/Api/ToolsHandler.ashx?method=ViewDoc&discopy=1&url=/fileRoot/%e8%a5%bf%e7%a7%91%e9%99%84%e4%bb%b6%e7%9b%ae%e5%bd%95_%231/%e4%ba%a7%e5%93%81%e5%9b%be%e6%a1%a3%e6%96%87%e4%bb%b6_%232/%e5%a4%96%e8%b4%ad%e4%bb%b6/%e5%a4%96%e8%b4%ad%e4%bb%b6B.dwg";
//url = "https://ie.icoa.cn/";
previewFrm.webBrowser.Navigate(url);
this.Controls.Add(previewFrm);
}
}
catch (Exception ex)
{
LogHelper.Instance.WriteError(ex, "浏览器dll");
//MessageUtil.Show(ex.Message + "\r\n" + ex.StackTrace);
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
}
}
/// <summary>
/// <para>说明:定义服务器文件地址,含文件名。客户端接收地址及文件名由客户端自行定义</para>
/// <para>创建人:王一帆</para>
/// <para>创建日期: </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="URL">The URL.</param>
/// <param name="FileName">Name of the file.</param>
public static void Download(string URL, string FileName)
{
FrmSelectDownload frmSelectDownload = new FrmSelectDownload();
frmSelectDownload.URL = URL;
frmSelectDownload.FileName = FileName;
frmSelectDownload.isBatchDownLoad = isBatchBrower;
// frmSelectDownload.TopMost = true;
frmSelectDownload.ShowDialog();
//SaveFileDialog saveFileDialog = new SaveFileDialog();
//saveFileDialog.FileName = FileName;
//saveFileDialog.Title = "下载模板文件到";
//saveFileDialog.RestoreDirectory = true;
////点了保存按钮进入
//if (saveFileDialog.ShowDialog() == DialogResult.OK)
//{
// string localFilePath = System.IO.Path.GetFullPath(saveFileDialog.FileName);//获得文件路径,含文件名
// string fileNameExt = localFilePath.Substring(localFilePath.LastIndexOf("\\") + 1);//获取文件名,不带路径
// string FilePath = localFilePath.Substring(0, localFilePath.LastIndexOf("\\"));//获取文件路径,不带文件名
// FrmDownload frm = new FrmDownload(URL, FileName, localFilePath);
// frm.Show();
//}
}
}
}