Files
N_XLXSBJ----MX/XLBJD_WBBJDXDRInfo.aspx
2026-08-21 17:03:02 +08:00

434 lines
19 KiB
Plaintext

<%@ Page Language="C#" MasterPageFile="~/N_MODEL/Page/MasterSingleCard.Master" AutoEventWireup="true"
Codebehind="XLBJD_WBBJDXDRInfo.aspx.cs" Inherits="GThinking.N_XLXSBJ.XLBJD_WBBJDXDRInfo"
Title="复制内容导入" %>
<%@ MasterType VirtualPath="~/N_MODEL/Page/MasterSingleCard.Master " %>
<asp:Content ID="ContentButton" ContentPlaceHolderID="cphUserToolbar" runat="server">
<asp:Table CellPadding="0" CellSpacing="0" runat="server" ID="tbl1">
<asp:TableRow>
<asp:TableCell>
<gtc:gtToolButton ID="btnQD" runat="server" Caption="确 定" ShowCaption="true" OnClick="btnQD_Click"
OnClientClick="btnQD_OnClientClick();" Width="58px" Height="19px" />
</asp:TableCell>
<asp:TableCell>
<gtc:gtToolButton ID="btnQX" runat="server" Caption="取 消" ShowCaption="true" OnClick="btnQX_Click"
Width="58px" Height="19px" />
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</asp:Content>
<asp:Content ID="ContentHidden" ContentPlaceHolderID="cphBrand" runat="server">
</asp:Content>
<asp:Content ID="cntForm" ContentPlaceHolderID="CPHForm" runat="server">
<asp:HiddenField ID="txttabledata" runat="server" />
<asp:HiddenField ID="txtCols" runat="server" />
<asp:HiddenField ID="txtTitle" runat="server" />
<%--自定义系统锁定遮盖层,锁定提示信息txtDefSysLockMsg由调用脚本方法OpenDefSysLockDiv(defMsg)时赋值--%>
<div id="DefSysLockDiv" class="GT_progress" style="display: none; position: fixed;">
<table style="width: 100%; height: 100%;">
<tr>
<td align="center">
<table class="center">
<tr>
<td align="center" valign="middle" id="txtDefSysLockMsg">
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div style="overflow-x: auto;">
<table id="myTable" runat="server">
</table>
</div>
<style type="text/css">
#ctl00_CPHForm_myTable {
border: 1px solid black;
border-collapse: collapse;
}
#ctl00_CPHForm_myTable td {
border: 1px solid black;
padding: 5px;
}
#ctl00_CPHForm_myTable th {
background-color: lightblue;
text-align: center;
font-weight: bold;
text-align: center;
font-size: 20px;
}
/* 打开对话框时“正在读取数据,请稍等”的样式 */
.GT_progress {
font-size: 20px;
font-family: 幼圆, 微软雅黑, 华文细黑, 黑体, 宋体;
color: #666767;
position: absolute;
z-index: 1000;
top: 0px;
left: 0px;
}
.GT_progress .center {
border-bottom: 4px solid #4CB4DF;
border-top: 2px solid #4CB4DF;
border-left: 0px solid #4CB4DF;
border-right: 0px solid #4CB4DF;
width: 290px;
height: 60px;
background-color: white;
}
.GT_progress .progressclose
{
cursor:pointer;
font-family: 宋体;
font-size:8pt;
width: 8pt;
}
</style>
<script type="text/javascript" language="javascript">
function btnQD_OnClientClick(){
// 获取表格元素
var table = document.getElementById('ctl00_CPHForm_myTable');
// 初始化一个空数组来存储表格数据
var data = [];
// 遍历表格的每一行
for (var i = 0; i < table.rows.length; i++) {
var tableRow = table.rows[i];
var rowData = {};
// 遍历当前行的每一列
for (var j = 0; j < tableRow.cells.length; j++) {
var cell = tableRow.cells[j];
if(i === 0 || j === 0)
{
// 使用表头作为JSON键
var header = table.rows[0].cells[j].innerText;
rowData[header] = cell.innerText;
}
else
{
// 使用表头作为JSON键
var header = table.rows[0].cells[j].childNodes[0].data;
rowData[header] = cell.childNodes[0].value;
}
}
// 将当前行数据添加到数组中
if(tableRow.cells.length > 0)
data.push(rowData);
}
// 将数据转换为JSON格式
var jsonData = JSON.stringify(data);
document.getElementById('ctl00_CPHForm_txttabledata').value = jsonData;
}
var isOldIE1 = false;
// 检测用户代理字符串中是否包含 "MSIE" 并且版本号小于等于7
if (navigator.userAgent.indexOf("Chrome") === -1) {
isOldIE1 = true;
}
var columns = document.getElementById('ctl00_CPHForm_txtCols').value;
var rows = "11";
var stitle = document.getElementById('ctl00_CPHForm_txtTitle').value;
//var titles = document.getElementById('ctl00_CPHForm_txtTitle').split(',');
var titles = stitle.split(',');
var table = document.getElementById('ctl00_CPHForm_myTable');
//table.innerHTML = '';
var tabwid = 620+(columns-3)*140;
table.style.width=tabwid+'px';
var header = table.createTHead();
var headerRow = header.insertRow();
for (var i = 0; i < columns; i++) {
var cell = headerRow.insertCell();
cell.innerText = titles[i] || 'Title ' + (i + 1);
cell.style.backgroundColor = 'lightblue';
cell.style.textAlign = 'center';
cell.style.fontSize = '15px';
cell.style.fontWeight = 'bold';
if(i === 0)
{
cell.style.width = '80px';
}
else if(i === 1)
{
cell.style.width = '200px';
}
else if(i === 2)
{
cell.style.width = '160px';
}
else
{
cell.style.width = '140px';
}
cell.style.height = '20px';
cell.style.margin = '0';
}
for (var i = 0; i < rows; i++) {
var row = table.insertRow();
for (var j = 0; j < columns; j++) {
var cell = i === 0 ? document.createElement('th') : row.insertCell();
if (j === 0) {
// 如果是第一列,添加行号并设置为不可编辑
cell.innerText = i; // 添加行号
cell.contentEditable = false; // 不可编辑
cell.style.textAlign = 'center';
} else {
var input = document.createElement("input");
if(j === 0)
{
input.style.width = '60px';
}
else if(j === 1)
{
input.style.width = '200px';
}
else if(j === 2)
{
input.style.width = '160px';
}
else
{
input.style.width = '140px';
}
input.style.height = '20px';
input.type = "text";
input.style.border = 'none';
input.style.margin = '0';
cell.appendChild(input);
}
}
}
if(isOldIE1)
{
table.onclick = function(e) {
// 处理'click'事件的代码
// 检查被点击的元素是否为单元格
e = e || window.event; // 获取事件对象
var target = e.target || e.srcElement;
if (target.tagName === 'INPUT' ) {
selectedCell = target;
}
};
table.onpaste = function(e) {
e = e || window.event; // 获取事件对象
if (selectedCell && selectedCell.tagName === 'INPUT' && selectedCell.parentElement.parentElement.rowIndex !== 0) {
OpenDefSysLockDiv("正在处理,请稍候……");
setTimeout(function() {CloseDefSysLockDiv();}, 30000);
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
var clipboardData = event.clipboardData || e.clipboardData || window.clipboardData;
setTimeout(function() {
if (clipboardData) {
var pastedData = clipboardData.getData('Text');
if (!pastedData.endsWith("\r\n"))
pastedData = pastedData + "\r\n";
// 解析粘贴的数据,提取每个单元格的文字内容
var rows = pastedData.split('\n');
var rowIndex = selectedCell.parentElement.parentElement.rowIndex;
var cellIndex = selectedCell.parentElement.cellIndex;
for (var i = 0; i < rows.length; i++) {
if (rowIndex + i >= table.rows.length) {
var newRow = table.insertRow();
for (var j = 0; j < columns; j++) {
var cell = i === 0 ? document.createElement('th') : newRow.insertCell();
if (j === 0) {
// 如果是第一列,添加行号并设置为不可编辑
cell.innerText = cell.parentElement.rowIndex -1 ; // 添加行号
cell.contentEditable = false; // 不可编辑
cell.style.textAlign = 'center';
} else {
var input = document.createElement("input");
if(j === 0)
{
input.style.width = '60px';
}
else if(j === 1)
{
input.style.width = '200px';
}
else if(j === 2)
{
input.style.width = '160px';
}
else
{
input.style.width = '140px';
}
input.type = "text";
input.style.border = 'none';
input.style.margin = '0';
cell.appendChild(input);
}
}
}
var cells = rows[i].split('\t');
for (var j = 0; j < cells.length; j++) {
if (cellIndex + j < columns) {
table.rows[rowIndex + i].cells[cellIndex + j].children[0].value = cells[j];
}
}
}
}
CloseDefSysLockDiv();
}, 100);
}
};
}
else
{
table.addEventListener('click', function(e) {
//let targetCell = e.target;
// 检查被点击的元素是否为单元格
if (e.target.tagName === 'INPUT' && e.target.parentElement.rowIndex !== 0 && e.target.cellIndex !== 0) {
// 移除其他单元格的选中状态
// 添加选中样式并设置焦点
e.target.classList.add('selected');
e.target.contentEditable = true;
e.target.focus();
selectedCell = e.target;
}
});
var selectedCell = null;
table.addEventListener('paste', function(e) {
if (selectedCell && selectedCell.tagName === 'INPUT' && selectedCell.parentElement.parentElement.rowIndex !== 0) {
OpenDefSysLockDiv("正在处理,请稍候……");
setTimeout(function() {CloseDefSysLockDiv();}, 30000);
e.preventDefault();
var clipboardData = event.clipboardData || e.clipboardData || window.clipboardData;
if (clipboardData) {
var pastedData = clipboardData.getData('Text');
setTimeout(function() {
if (!pastedData.endsWith("\r\n"))
pastedData = pastedData + "\r\n";
// 解析粘贴的数据,提取每个单元格的文字内容
var rows = pastedData.split('\n');
var rowIndex = selectedCell.parentElement.parentElement.rowIndex;
var cellIndex = selectedCell.parentElement.cellIndex;
for (var i = 0; i < rows.length; i++) {
if (rowIndex + i >= table.rows.length) {
var newRow = table.insertRow();
for (var j = 0; j < columns; j++) {
var cell = i === 0 ? document.createElement('th') : newRow.insertCell();
if (j === 0) {
// 如果是第一列,添加行号并设置为不可编辑
cell.innerText = cell.parentElement.rowIndex -1 ; // 添加行号
cell.contentEditable = false; // 不可编辑
cell.style.textAlign = 'center';
} else {
var input = document.createElement("input");
if(j === 0)
{
input.style.width = '60px';
}
else if(j === 1)
{
input.style.width = '200px';
}
else if(j === 2)
{
input.style.width = '160px';
}
else
{
input.style.width = '140px';
}
input.type = "text";
input.style.border = 'none';
input.style.margin = '0';
cell.appendChild(input);
}
}
}
var cells = rows[i].split('\t');
for (var j = 0; j < cells.length; j++) {
if (cellIndex + j < columns) {
table.rows[rowIndex + i].cells[cellIndex + j].children[0].value = cells[j];
}
}
}
CloseDefSysLockDiv();
}, 100);
}
}
});
}
//显示自定义系统锁定遮盖层
function OpenDefSysLockDiv(defMsg)
{
document.getElementById('DefSysLockDiv').style.display="block";
document.getElementById('DefSysLockDiv').style.width = document.documentElement.clientWidth+"px";
document.getElementById('DefSysLockDiv').style.height = document.documentElement.clientHeight+"px";
document.getElementById('DefSysLockDiv').style.zIndex=99999;
if (defMsg != null)
{
document.getElementById('txtDefSysLockMsg').innerText = defMsg;
}
else
document.getElementById('txtDefSysLockMsg').innerText = "系统锁定中...";
}
//关闭自定义系统锁定遮盖层
function CloseDefSysLockDiv()
{
document.getElementById('DefSysLockDiv').style.display="none";
}
</script>
</asp:Content>