You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

358 lines
13 KiB
Plaintext

11 months ago
<html>
<head>
<title>驰骋工作流</title>
<link href="../Scripts/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../Scripts/bootstrap/js/jquery.min.js"></script>
<script src="../Scripts/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
<link href="../Scripts/bootstrap/bootstrap-paginator/css/bootstrapv3.css" rel="stylesheet"
type="text/css" />
<link href="../Scripts/bootstrap/DatePicker/bootstrap-datepicker.min.css" rel="stylesheet"
type="text/css" />
<script src="../Scripts/bootstrap/bootstrap-paginator/js/bootstrap-paginator.js"
type="text/javascript"></script>
<script src="../Scripts/bootstrap/DatePicker/bootstrap-datepicker.min.js" type="text/javascript"></script>
<script src="../Scripts/bootstrap/DatePicker/bootstrap-datepicker.zh-CN.min.js" type="text/javascript"></script>
<script src="../Scripts/QueryString.js" type="text/javascript"></script>
<!-- 引用通用的js文件. -->
<script type="text/javascript" src="../Scripts/config.js"></script>
<script type="text/javascript" src="../Comm/Gener.js"></script>
<script src="../../DataUser/JSLibData/CCFormRef.js" type="text/javascript"></script>
<style type="text/css">
.keyWordInput
{
border-top-right-radius: 5px;
border-top-left-radius: 5px;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
height: 30px;
}
.menuGroup
{
float: left;
}
.menuGroup a
{
margin-left:10px;
}
.menuGroupSelected
{
color: Blue; /* 文字颜色 */
font-weight: bold;
text-decoration: none;
padding-bottom:5px;
border-bottom: 3px solid Blue;
}
.searchpanellabel
{
font-size:13px;
margin-left:5px;
margin-right:5px;
}
#searchDiv
{
padding-top:5px;
padding-bottom:5px;
}
</style>
<script type="text/javascript" language="javascript">
//扩展设置信息
var mapExt = null;
//页面启动函数.
$(function () {
//重置页面内容
ResetHtml();
//实体参数.
var ensName = GetQueryString("EnsName");
mapExt = new Entity("BP.Sys.MapExt");
//mapExt.ExtType = "BillModel";
mapExt.MyPK = "DtlImp_" + ensName + "_BillModel";
var i = mapExt.RetrieveFromDBSources();
if (i == 0) {
alert("没有配置导入数据相关参数。");
return;
}
var searchSQL = mapExt.Tag;
if (searchSQL == null || searchSQL == "") {
alert("没有查询SQL请联系管理员");
return;
}
SearchData();
//设置表格内容高度
SetTableSize();
});
//设置表格高度
function SetTableSize() {
var height = $(window).innerHeight();
height = height - 100;
//表格内容高度
$("#tableContent").height(height);
}
//查询数据
function SearchData() {
//SQL语句
var dbSrc = mapExt.Tag;
//处理SQL
//替换表达式常用的用户信息
var webUser = new WebUser();
dbSrc = dbSrc.replace('@WebUser.No', webUser.No);
dbSrc = dbSrc.replace('@WebUser.Name', webUser.Name);
dbSrc = dbSrc.replace("@WebUser.FK_DeptNameOfFull", webUser.FK_DeptNameOfFull);
dbSrc = dbSrc.replace('@WebUser.FK_DeptName', webUser.FK_DeptName);
dbSrc = dbSrc.replace('@WebUser.FK_Dept', webUser.FK_Dept);
//处理SQL 替换URL中的参数
var refPK = this.GetQueryString("RefPK");
if(refPK =="" || refPK == undefined){
alert('没有获取到相关联的外键,不能查询数据');
return;
}
$("#jsonDataTable").html("");
if (refPK.indexOf(',') == -1) {
dbSrc = dbSrc.replace('@Key', refPK);
var data = DBAccess.RunDBSrc(dbSrc, mapExt.DBType, mapExt.FK_DBSrc);
InitTableByData(data);
return;
}
refPK = refPK.split(',');
var data = [];
for (var i = 0; i < refPK.length; i++) {
if (refPK[i] == "")
continue;
dbSrc = dbSrc.replace('@Key', refPK[i]);
var pkdata = DBAccess.RunDBSrc(dbSrc, mapExt.DBType, mapExt.FK_DBSrc);
$.each(pkdata,function(i,obj){
data.push(obj);
});
}
InitTableByData(data);
}
//数据返回Table
function InitTableByData(dataTable) {
//获取数据列名
var columns = [];
var texts = [];
var heads = [];
if (mapExt.Tag5.length > 0) {
texts = mapExt.Tag5.split(',');
}
for (var col in dataTable[0]) {
columns.push(col);
}
//以中文个数为表格显示列的个数
if (texts && texts.length > 0) {
$.each(texts, function (i, column) {
if (column == "")
return;
var columns = column.split("=");
if (columns.length == 2) {
var column = {};
column.No = columns[0];
column.Name = columns[1];
heads.push(column);
}
});
} else {
$.each(columns, function (i, col) {
var column = {};
column.No = col;
column.Name = col;
heads.push(column);
});
}
//表头
var thread = $('<thead></thead>');
var threadTr = $('<tr></tr>');
//只能选择一个单据信息
var thFirst = $("<th style='width:35px;'></th>");
var ckBox = $("<input type='checkbox' onclick='CheckAll()' id='CB_CheckAll' >");
thFirst.append(ckBox);
threadTr.append(thFirst);
$.each(heads, function (i, head) {
var th = $("<th></th> ");
th.text(head.Name);
th.data(head);
threadTr.append(th);
});
thread.append(threadTr);
$("#jsonDataTable").append(thread);
if (dataTable != null && dataTable.length > 0) {
//生成表格体
var tbody = $('<tbody></tbody>');
$.each(dataTable, function (i, dataObj) {
var tbodyTr = $('<tr></tr>');
var tdFirst = $("<td></td>");
//第一列为主键
var refPK = heads[0].No;
var no = dataObj[refPK];
var ckBox = $("<input type='checkbox' onclick='changeSta(this)'/>");
ckBox.attr("id", "CB_" + no);
ckBox.data(dataObj);
tdFirst.append(ckBox);
tbodyTr.append(tdFirst);
//字段列
$.each(heads, function (i, head) {
var td = $("<td></td>");
var text = "";
if (head.No && head.No != "") {
text = dataObj[head.No];
}
td.text(text);
tbodyTr.append(td);
});
tbody.append(tbodyTr);
});
$("#jsonDataTable").append(tbody);
}
}
//重置标签
function ResetHtml() {
$("#groupDiv").html("");
$("#jsonDataTable").html("");
}
function SelectTr(obj) {
$.each($(":checkbox"), function () {
this.checked = false;
});
}
//全选
function CheckAll() {
var checked = document.getElementById('CB_CheckAll').checked;
$.each($(":checkbox"), function () {
this.checked = checked;
});
}
function changeSta(obj) {
if (obj.checked == false)
document.getElementById('CB_CheckAll').checked = false;
}
function DalogModelOK(ImpType) {
//实体参数.
var EnsName = GetQueryString("EnsName");
var refPKVal = GetQueryString("RefPKVal");
var PWorkID = GetQueryString("PWorkID");
var FK_Node = GetQueryString("FK_Node");
var FID = GetQueryString("FID");
var UserNo = GetQueryString("UserNo");
var paraDatas = [];
$.each($(":checkbox"), function (i, cb) {
if (cb.checked) {
var data = $(cb).data();
if (data && cb.id != "CB_CheckAll") {
paraDatas.push(data);
}
}
});
if (paraDatas.length == 0) {
alert("没有选择导入数据,请选择!");
return;
}
//插入明细表数据
var pks = mapExt.Tag4;
var handler = new HttpHandler("BP.WF.HttpHandler.WF_CCForm");
handler.AddPara("EnsName", EnsName);
handler.AddPara("RefPKVal", refPKVal);
handler.AddPara("PWorkID", PWorkID);
handler.AddPara("FK_Node", FK_Node);
handler.AddPara("FID", FID);
//清空数据
if (ImpType == 0) {
handler.DoMethodReturnString("DtlImpBySQL_Delete");
}
//默认导入从表附件方法
//获取从表附件的属性 是否为自定义
var frmAth = new Entity("BP.Sys.FrmUI.FrmAttachmentExt");
frmAth.SetPKVal(EnsName + "_" + FK_Node + "_AthMDtl");
var count = frmAth.RetrieveFromDBSources();
if (count == 0) {
frmAth.SetPKVal(EnsName + "_AthMDtl");
frmAth.RetrieveFromDBSources();
}
$.each(paraDatas, function (i, data) {
//循环导入数据
handler.Clear();
handler.AddPara("EnsName", EnsName);
handler.AddPara("RefPKVal", refPKVal);
handler.AddPara("PWorkID", PWorkID);
handler.AddPara("FK_Node", FK_Node);
handler.AddPara("FID", FID);
handler.AddPara("PKs", pks);
handler.AddPara("UserNo", UserNo);
handler.AddJson(data);
//返回导入的从表的OID
var newdata = handler.DoMethodReturnString("DtlImpBySQl_Imp");
if (newdata.indexOf("err@") != 0 && newdata != "") {
//FK_MapData,附件属性RefPK,FK_Node
afterDtlImp(EnsName, frmAth, newdata, FK_Node, data["oldOID"], data["oldFK_MapData"]);
}
});
//执行完毕关闭弹窗
window.parent.parent.CloseBootstrapDialog("取消");
}
//取消,关闭弹出层
function DalogModelCose() {
if (window.parent) {
window.parent.$('#msgModal').modal('hide');
}
}
</script>
</head>
<body>
<form id="cc">
<table style="border: 0px; width: 99%;table-layout: fixed;">
<tr>
<td style="border: 1px #FF8000 solid;">
<div id="tableContent" style="overflow:auto;">
<div>
<table class="table" id='jsonDataTable'></table>
</div>
<div style="text-align: left;">
<ul id="examplePagetions"></ul>
</div>
</div>
</td>
</tr>
<tr>
<td style="float:right;">
<div style="margin-top:10px; margin-right:10px;">
<input type="button" class="btn" onclick="DalogModelCose()" value="取消" />
<input type="button" class="btn btn-danger" onclick="DalogModelOK(0)" value="清空导入" />
<input type="button" class="btn btn-danger" onclick="DalogModelOK(1)" value="追加导入" />
</div>
</td>
</tr>
</table>
</form>
<input type="hidden" id="HD_GroupField" value="" />
</body>
</html>