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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<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>