增加审批一体化功能,增加点击查看预览word功能,修复退回和撤销向oa推送消息数量不一致问题

master
孙亮 1 week ago
parent 0ae4217b49
commit b7d84a065a

Binary file not shown.

@ -212,6 +212,72 @@ function chart() {
} }
var mypk = "";
var dataDoc = "";
//ForBKGY
function printDocFor002() {
var oldOID = $("#TB_OLDOID").val();
var nodeID = parseInt($("#TB_OLDFLOW").val() + '01');
var workID = oldOID;
var flowNo = $("#TB_OLDFLOW").val();
var fid = GetQueryString("FID");
var printType = "YuLan";
//初始化页面信息
var handler = new HttpHandler("BP.WF.HttpHandler.WF_WorkOpt");
handler.AddPara("FK_Node", nodeID);
handler.AddPara("WorkID", workID);
handler.AddPara("FK_Node", nodeID);
handler.AddPara("FK_Flow", flowNo);
handler.AddPara("FID", fid);
handler.AddPara("PrintFor", "View");
var data = handler.DoMethodReturnString("PrintDoc_Init");
if (data.indexOf('err@') == 0) {
alert(data);
return;
}
//如果是一个url.
if (data.indexOf('file@') == 0) {
data = data.replace('file@', '');
if (data.indexOf('rtf@') != -1) {
data = filterXSS(data).replace('rtf@', '');
var fileName = data.substring(data.lastIndexOf('/') + 1);
var filePath = data.substring(0, data.lastIndexOf('/') + 1);
fileName = ReplaceName(fileName);
data = filePath + fileName;
}
}
if (data.indexOf('url@') == 0) {
data = data.replace('url@', '');
if (data.indexOf('rtf@') != -1) {
data = filterXSS(data).replace('rtf@', '');
var fileName = data.substring(data.lastIndexOf('/') + 1);
var filePath = data.substring(0, data.lastIndexOf('/') + 1);
fileName = ReplaceName(fileName);
data = filePath + fileName;
}
}
$("#TB_WenJianLuJing").val(data);
Save(1);
dataDoc = data;
}
function ReplaceName(fileName) {
fileName = fileName.replace(/%/g, "%25");
fileName = fileName.replace(/\+/g, "%2B");
fileName = fileName.replace(/ /g, "%20");
fileName = fileName.replace(/\//g, "%2F");
fileName = fileName.replace(/\?/g, "%3F");
fileName = fileName.replace(/#/g, "%23");
fileName = fileName.replace(/&/g, "%26");
fileName = fileName.replace(/=/g, "%3D");
return fileName;
}
function openView() {
var data = $("#TB_WenJianLuJing").val();
Skip.addJs("../../WF/CCForm/Ath.js?t=" + Math.random());
AthView("", data);
}
function GongCheng() { function GongCheng() {
//TB_BeiZhu //TB_BeiZhu
var W = document.body.clientWidth - 150; var W = document.body.clientWidth - 150;

@ -80,7 +80,10 @@ function refreshDiv(divId, fast) {
//div.innerHTML = getNewContent(fast); //div.innerHTML = getNewContent(fast);
div.innerHTML = fast; div.innerHTML = fast;
} }
function openView() {
var data = $("#TB_WenJianLuJing").val();
AthView("", data);
}
//发生前事件 //发生前事件
function beforeSend() { function beforeSend() {

@ -892,12 +892,12 @@ function AthView(mypk, filePath) {
var exts = 'doc'; var exts = 'doc';
//附件的后缀 //附件的后缀
if (exts != "*.*" && filePath.indexOf(exts) != -1) { if (exts != "*.*" && filePath.indexOf(exts) != -1 && filePath.indexOf("/DataUser/Bill") == -1) {
Down2018(mypk); Down2018(mypk);
return; return;
} }
window.open(fileServerHost + '/onlinePreview?url=' + url); window.open(fileServerHost + 'preview/onlinePreview?url=' + url);
return; return;
} }

@ -37,8 +37,10 @@
<script src="../../WF/CCForm/FrmFool.js"></script> <script src="../../WF/CCForm/FrmFool.js"></script>
<script src="../../WF/CCForm/FrmEnd.js"></script> <script src="../../WF/CCForm/FrmEnd.js"></script>
<script src="../Comm/JScript.js"></script> <script src="../Comm/JScript.js"></script>
<script src="../../WF/Portal/layui-v2.9.6/layui.js" type="text/javascript"></script> <script src="../../WF/Portal/layui-v2.9.6/layui.js" type="text/javascript"></script>
<script src="../../DataUser/JSLibData/CCFormRef.js" type="text/javascript"></script> <script src="../../DataUser/JSLibData/CCFormRef.js" type="text/javascript"></script>
<script src="../../DataUser/JSLibData/CommonShowConfig.js"></script>
<script type="text/javascript" src="../Scripts/bootstrap/js/bootstrap.min.js"></script> <script type="text/javascript" src="../Scripts/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="../Scripts/bootstrap/BootstrapUIDialog.js"></script> <script type="text/javascript" src="../Scripts/bootstrap/BootstrapUIDialog.js"></script>
@ -1031,14 +1033,62 @@
} }
//预览表单
//$('#View').click(function () {
// var url = "ChapterFrmView.htm?FrmID=" + frmID + "&OID=" + oid + "&IsReadonly=1" + "&FK_Flow=" + GetQueryString("FK_Flow") + "&WorkID=" + GetQueryString("WorkID") + "&FK_Node=" + GetQueryString("FK_Node");
// //WinOpenFull(url);
// OpenLayuiDialog(url, '查看表单', '1200', '', '', false)
//})
//结束
//预览打印模板
$('#View').click(function () { $('#View').click(function () {
var url = "ChapterFrmView.htm?FrmID=" + frmID + "&OID=" + oid + "&IsReadonly=1" + "&FK_Flow=" + GetQueryString("FK_Flow") + "&WorkID=" + GetQueryString("WorkID") + "&FK_Node=" + GetQueryString("FK_Node"); var handler = new HttpHandler("BP.WF.HttpHandler.WF_WorkOpt");
handler.AddPara("FK_Node", GetQueryString("FK_Node"));
handler.AddPara("WorkID", GetQueryString("WorkID"));
handler.AddPara("FK_Flow", GetQueryString("FK_Flow"));
handler.AddPara("FID", GetQueryString("FID"));
handler.AddPara("PrintFor", "View");
var data = handler.DoMethodReturnString("PrintDoc_Init");
if (data.indexOf('err@') == 0) {
alert(data);
return;
}
//如果是一个url.
//如果是一个url.
if (data.indexOf('file@') == 0) {
data = data.replace('file@', '');
if (data.indexOf('rtf@') != -1) {
data = filterXSS(data).replace('rtf@', '');
data = ReplaceName(data);
}
}
if (data.indexOf('url@') == 0) {
data = data.replace('url@', '');
if (data.indexOf('rtf@') != -1) {
data = filterXSS(data).replace('rtf@', '');
var fileName = data.substring(data.lastIndexOf('/') + 1);
var filePath = data.substring(0, data.lastIndexOf('/') + 1);
fileName = ReplaceName(fileName);
data = filePath + fileName;
}
}
var host = window.location.protocol + "//" + window.location.host;
var url = host + data;
url = encodeURIComponent(base64Encode(url));
var fileServerHost = getConfigByKey("PreviewPathOfAth", "");
url = fileServerHost + '/preview/onlinePreview?url=' + url;
//var url = "ChapterFrmView.htm?FrmID=" + frmID + "&OID=" + oid + "&IsReadonly=1" + "&FK_Flow=" + GetQueryString("FK_Flow") + "&WorkID=" + GetQueryString("WorkID") + "&FK_Node=" + GetQueryString("FK_Node");
//WinOpenFull(url); //WinOpenFull(url);
OpenLayuiDialog(url, '查看表单', '1200', '', '', false) OpenLayuiDialog(url, '查看表单', '1200', '', '', false)
}) })
//结束
$('#Exp').click(function () { $('#Exp').click(function () {
var url = "ChapterFrmExp.htm?FrmID=" + frmID + "&OID=" + oid + "&attrKey=" + key; var url = "ChapterFrmExp.htm?FrmID=" + frmID + "&OID=" + oid + "&attrKey=" + key;
@ -1056,6 +1106,63 @@
} }
}); });
}) })
function ReplaceName(fileName) {
fileName = fileName.replace(/%/g, "%25");
fileName = fileName.replace(/\+/g, "%2B");
fileName = fileName.replace(/ /g, "%20");
fileName = fileName.replace(/\//g, "%2F");
fileName = fileName.replace(/\?/g, "%3F");
fileName = fileName.replace(/#/g, "%23");
fileName = fileName.replace(/&/g, "%26");
fileName = fileName.replace(/=/g, "%3D");
return fileName;
}
function base64Encode(input) {
let _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
let output = "";
let chr1, chr2, chr3, enc1, enc2, enc3, enc4;
let i = 0;
input = utf8_encode(input);
while (i < input.length) {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}
output = output +
_keyStr.charAt(enc1) + _keyStr.charAt(enc2) +
_keyStr.charAt(enc3) + _keyStr.charAt(enc4);
}
return output;
}
function utf8_encode(input) {
input = input.replace(/\r\n/g, "\n");
let utftext = "";
for (let n = 0; n < input.length; n++) {
let c = input.charCodeAt(n);
if (c < 128) {
utftext += String.fromCharCode(c);
} else if ((c > 127) && (c < 2048)) {
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
} else {
utftext += String.fromCharCode((c >> 12) | 224);
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
utftext += String.fromCharCode((c & 63) | 128);
}
}
return utftext;
}
//富文本编辑器 //富文本编辑器
function getContent(KeyOfEn) { function getContent(KeyOfEn) {
//var cdata = ChapterFrmShow(KeyOfEn); //var cdata = ChapterFrmShow(KeyOfEn);

@ -0,0 +1,604 @@
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../Scripts/jquery-1.11.0.min.js" type="text/javascript"></script>
<script language="JavaScript" src="../Comm/JScript.js" type="text/javascript"></script>
<script type="text/javascript" src="../Scripts/QueryString.js"></script>
<script type="text/javascript" src="../Scripts/config.js"></script>
<script type="text/javascript" src="../Comm/Gener.js"></script>
<script src="../Scripts/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
<link href="../Scripts/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<link href="../Scripts/bootstrap/css/font-awesome.css" rel="stylesheet" type="text/css" />
<link href="../Scripts/bootstrap/DatePicker/bootstrap-datepicker.min.css" rel="stylesheet"
type="text/css" />
<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/bootstrap/bootstrap-table/src/bootstrap-table.js" type="text/javascript"></script>
<link href="../Scripts/bootstrap/bootstrap-table/src/bootstrap-table.css" rel="stylesheet" type="text/css" />
<script src="../Scripts/bootstrap/bootstrap-table/src/locale/bootstrap-table-zh-CN.js" type="text/javascript"></script>
<!-- 引入用户要重写的公共js -->
<script src="../../DataUser/JSLibData/CCFormRef.js" type="text/javascript"></script>
<style type="text/css">
.row-margin-top {
margin-top: 20px;
}
.search-margin {
margin-top: 15px;
}
table {
width: 70%;
margin: 20px auto; /* 自动居中 */
border-spacing: 0; /* 单元格之间的间距 */
}
th, td {
border: 1px solid #ddd;
padding: 12px; /* 单元格内边距 */
}
th {
background-color: #3451B6;
color: white;
}
/* tr:nth-child(even) {
background-color: #f2f2f2;
}*/
tr:hover {
background-color: #ddd;
}
</style>
<script type="text/javascript">
var mapExt = null;
//查询条件集合
var condtionsArry = [];
//查询条件,按照条件字段长度排序后
var condtionFieldsArry = [];
var mapExt = null;
var atParas;
//初始化页面
$(function () {
debugger
var global = window;
global.selectedRows = [];
//获取MapExt信息
var mypk = GetQueryString("MyPK");
mapExt = new Entity("BP.Sys.MapExt", mypk);
var webUser = new WebUser();
//单选还是多选
global.selectType = mapExt.GetPara("SelectType");
//设置查询提示.
var tip = mapExt.GetPara("SearchTip");
$("#TB_Key").attr("placeholder", tip);
//设置查询条件
InitQueryParameters();
//如果单选
mapExt.ShowCheckBox = selectType == "0" ? false : true;
//设置变量.
global.FK_MapData = mapExt.FK_MapData;
global.AttrOfOper = mapExt.AttrOfOper;
global.oid = GetQueryString("OID");
atParas = GetQueryString("AtParas");
//获取列表的数据源
var tableUrl = mapExt.Tag2;
if (atParas && atParas.indexOf('@') == 0) {
var paras = atParas.split('@');
for (i = 0, len = paras.length; i < len; i++) {
var key = paras[i];
if (key == "" || key == null) {
continue;
}
var attrKeyOfEn = key.split('=')[0];
var val = key.split('=')[1];
tableUrl = tableUrl.replace("@" + attrKeyOfEn, val);
}
}
if (tableUrl == "") {
alert('配置错误:查询数据源,初始化列表的数据源不能为空。');
return;
}
// 初始化加载
var frmEleDBs = new Entities("BP.Sys.FrmEleDBs");
frmEleDBs.Retrieve("FK_MapData", FK_MapData, "EleID", AttrOfOper, "RefPKVal", oid);
$.each(frmEleDBs, function (i, o) {
global.selectedRows.push({
"No": o.Tag1,
"Name": o.Tag2
});
});
global.searchTableColumns = [];
global.searchTableColumns.push({
field: "_checkbox",
checkbox: true,
formatter: function (value, row, index) {
if (row.checked) {
return {
"checked": true
};
}
}
});
var columns = mapExt.Tag;
//显示列的中文名称.
if (typeof columns == "string") {
$.each(columns.split(","), function (i, o) {
var exp = o.split("=");
var field;
var title;
if (exp.length == 1) {
field = title = exp[0];
} else if (exp.length == 2) {
field = exp[0];
title = exp[1];
}
if (!isLegalName(field)) {
return true;
}
searchTableColumns.push({
field: field,
title: title
});
});
} else {
// by default
searchTableColumns.push({
field: 'No',
title: '编号'
});
searchTableColumns.push({
field: 'Name',
title: '名称'
});
}
var options = {
striped: true,
cache: false,
sortOrder: "asc",
strictSearch: true,
minimumCountColumns: 2,
highlightSelected: true,
clickToSelect: true,
singleSelect: !mapExt.ShowCheckBox,
sortable: false,
cardView: false,
detailView: false,
uniqueId: "No",
columns: searchTableColumns
};
if (selectType == "0") {
options.onCheck = function (row, element) {
removeAllSelectedData();
addSelectedData(global.selectedRows, [row]);
};
options.onUncheck = function (row, element) {
removeSelectedData(global.selectedRows, [row]);
};
} else {
options.onCheck = function (row, element) {
addSelectedData(global.selectedRows, [row]);
};
options.onUncheck = function (row, element) {
removeSelectedData(global.selectedRows, [row]);
};
options.onCheckAll = function (rows) {
addSelectedData(global.selectedRows, rows);
};
options.onUncheckAll = function (rows) {
removeSelectedData(global.selectedRows, rows);
};
}
$('#viewGrid').bootstrapTable(options);
$("#TB_Key").on("keyup", function () {
InputKeyWordData();
});
if (tableUrl.toLowerCase().indexOf("@key") > -1) {
tableUrl = replaceAll(tableUrl, "@Key", "");
tableUrl = replaceAll(tableUrl, "@key", "");
tableUrl = replaceAll(tableUrl, "@KEY", "");
}
InputKeyWordData();
});
//查询列表、展示列表
function loadViewGrid(gridUrl,paras,sqlWhere) {
var global = window;
var json;
var myPK = mapExt.MyPK;
mapExt = new Entity("BP.Sys.MapExt", mapExt);
mapExt.MyPK = myPK;
if (mapExt.DBType == 0) {
json = mapExt.DoMethodReturnString("GetDataTableByField", "Tag2", paras, sqlWhere, GetQueryString("OID"),"");
if (json.indexOf("err@") != -1) {
alert(json);
return;
}
json = JSON.parse(json);
} else {
json = DBAccess.RunDBSrc(gridUrl); //执行url返回json.
}
if ($.isArray(json)) {
var selectedRows = window.selectedRows;
if ($.isArray(selectedRows)) {
$.each(json, function (i, o) {
var sel = $.grep(selectedRows, function (obj) {
return o.No == obj.No;
});
if (sel.length > 0) {
o.checked = true;
//多选时才需要禁用已选
if (mapExt.ShowCheckBox == true) {
o.disabled = true;
}
}
});
}
$('#viewGrid').bootstrapTable("load", json);
}
}
function isLegalName(name) {
if (!name) {
return false;
}
return name.match(/^[a-zA-Z\$_][a-zA-Z\d\$_]*$/);
}
//判断时间从到第一个出现
var isDateFrom = false;
var isSameDateFiled = false;
function InitQueryParameters() {
//$Para=Dept#Label=所在班级#ListURL=/DataUser/Handler.ashx?DoType=DtlImpReqAll
var condtions = mapExt.Tag1;
if (condtions == "")
return;
//组合查询条件数组
var tempArry = condtions.split("$");
$.each(tempArry, function (i, obj) {
CondtionArryPush(obj);
});
//复制查询条件,排序
condtionFieldsArry = jQuery.extend(true, [], condtionsArry);
//利用js中的sort方法
condtionFieldsArry.sort(function (a, b) {
return b.FieldKey.length - a.FieldKey.length;
});
//生成查询条件控件
CreateCondtionCtrls();
}
//添加查询条件到数组
function CondtionArryPush(condtion) {
if (condtion == "") {
return;
}
var paras = condtion.split("#");
if (paras.length != 3) {
return;
}
var item = {};
var paraKey = "", labelText = "";
var ctrType = "Date", ctrValue = "";
$.each(paras, function (j, para) {
if (para.indexOf("Para=") > -1) {
paraKey = para.replace("Para=", "");
}
if (para.indexOf("Label=") > -1) {
labelText = para.replace("Label=", "");
}
if (para.indexOf("ListURL=") > -1) {
ctrValue = para.replace("ListURL=", "");
ctrType = "ListURL";
}
if (para.indexOf("ListSQL=") > -1) {
ctrValue = para.replace("ListSQL=", "");
ctrType = "ListSQL";
}
if (para.indexOf("ListFuncName=") > -1) {
ctrValue = para.replace("ListFuncName=", "");
ctrType = "ListFuncName";
}
if (para.indexOf("EnumKey=") > -1) {
ctrValue = para.replace("EnumKey=", "");
ctrType = "EnumKey";
}
if (para.indexOf("DefVal=") > -1) {
ctrValue = para.replace("DefVal=", "");
if (isDateFrom == false) {
isDateFrom = true;
isSameDateFiled = paraKey;
ctrType = "DateFrom";
} else {
ctrType = "DateTo";
if (paraKey == isSameDateFiled)
paraKey = paraKey + "_DateTo";
}
}
});
item.CtrlType = ctrType;
item.FieldKey = paraKey;
item.Label = labelText;
item.Val = ctrValue;
condtionsArry.push(item);
}
//根据条件数组生成查询控件
function CreateCondtionCtrls() {
//生成查询条件控件
var searchPanel = $("#Search_Div");
var groupItems = $.grep(condtionsArry, function (condtion) {
return condtion.CtrlType == "ListURL" || condtion.CtrlType == "ListSQL" || condtion.CtrlType == "EnumKey";
});
//CreateGroupPanel(groupItems);
//关键字后面的查询条件
var noFirstRow = false;
$.each(condtionsArry, function (i, condtion) {
//第一行条件个数
var countRow = 3;
//如果不是第一行,条件的个数
if (noFirstRow == true) {
countRow = 4;
}
if (i != 0 && !(i % countRow)) {
searchPanel.append("<br/><br/>");
noFirstRow = true;
}
//排除已创建分组条件
var groupField = $("#HD_GroupField").val();
if (groupField != "" && condtion.FieldKey == groupField) {
return;
}
var label = $("<label>" + condtion.Label + "</label>");
label.addClass("searchpanellabel");
searchPanel.append(label);
switch (condtion.CtrlType) {
case "ListURL":
case "ListSQL":
case "ListFuncName":
var select = $("<select class='form-control' style='display:inline;width:120px;'></select>");
select.attr("id", condtion.FieldKey);
select.attr("name", condtion.FieldKey);
searchPanel.append(select);
var ifcData;
if (mapExt.DBType == 0 && condtion.CtrlType == "ListSQL") {
var myPK = mapExt.MyPK;
mapExt = new Entity("BP.Sys.MapExt", mapExt);
mapExt.MyPK = myPK;
ifcData = mapExt.DoMethodReturnString("GetDataTableByTag1", condtion.FieldKey, atParas, GetQueryString("OID"));
if (ifcData.indexOf("err@") != -1) {
alert(ifcData);
return;
}
ifcData = JSON.parse(ifcData);
} else {
var dbSrc = condtion.Val.replace(/~/g, "'");
dbSrc = DealExp(dbSrc);
ifcData = DBAccess.RunDBSrc(dbSrc);
}
if (ifcData && ifcData.length > 0) {
var oKeys = [];
for (var key in ifcData[0]) {
oKeys.push(key);
}
GenerBindDDL(condtion.FieldKey, ifcData, oKeys[0], oKeys[1], "");
$("#" + condtion.FieldKey).change(function () {
InputKeyWordData();
});
}
break;
case "EnumKey":
var select = $("<select class='form-control' style='display:inline;width:120px;'></select>");
select.attr("id", condtion.FieldKey);
select.attr("name", condtion.FieldKey);
searchPanel.append(select);
GenerBindEnumKey(condtion.FieldKey, condtion.Val, "");
$("#" + condtion.FieldKey).change(function () {
InputKeyWordData();
});
break;
default:
var defVal = condtion.Val;
defVal = defVal.replace('<br/>', '');
defVal = defVal.replace('@Now', "(new Date())");
defVal = new Date(cceval(defVal));
defVal = FormatDate(defVal, "yyyy-MM-dd");
var inputDate = $("<input type='text'class='form-control' style='display:inline;width:120px;'/>");
inputDate.attr("id", condtion.FieldKey);
inputDate.attr("name", condtion.FieldKey);
inputDate.val(defVal);
searchPanel.append(inputDate);
$("#" + condtion.FieldKey).datepicker({
language: "zh-CN",
autoclose: true,
startView: 0,
format: "yyyy-mm-dd",
clearBtn: true,
todayBtn: false,
endDate: new Date()
}).on('changeDate', function (ev) {
InputKeyWordData();
});
return;
}
});
}
//输入关键字进行查询
function InputKeyWordData() {
var keyWord = replaceAll($("#TB_Key").val(), "'", "");//输入时有引号的去除掉
var dbSrc = mapExt.Tag2;
dbSrc = dbSrc.replace(/~/g, "'");
var reg = new RegExp("@Key", "g");
dbSrc = dbSrc.replace(reg, keyWord);
dbSrc = DealExp(dbSrc);
var sqlWhere = "";
if (atParas == null) {
atParas = "";
}
var paras = atParas;
paras += "@Key=" + keyWord;
$.each(condtionFieldsArry, function (i, obj) {
var regC = new RegExp("@" + obj.FieldKey, "g");
var value = $("#" + obj.FieldKey).val();
if (value == null || value == "null") value = "";
dbSrc = dbSrc.replace(regC, value);
paras += "@" + obj.FieldKey + "=" + value;
if (mapExt.DBType == 0) {
if (value != "") {
if (obj.CtrlType.indexOf("Date") == -1) {
sqlWhere += " AND " + obj.FieldKey + "='" + value + "'";
} else {
if (obj.CtrlType == "DateFrom")
sqlWhere += " AND " + obj.FieldKey + ">='" + value + "'";
if (obj.CtrlType == "DateTo") {
var key = obj.FieldKey.replace("_DateTo", "");
value = value + " 23:59";
sqlWhere += " AND " + key + "<='" + value + "'";
}
}
}
}
});
loadViewGrid(dbSrc, paras,sqlWhere);
}
function addSelectedData(globalSelectedRows, selectedRows) {
if (!$.isArray(globalSelectedRows) || !$.isArray(selectedRows)) {
return;
}
$.each(selectedRows, function (i, o) {
var sel = $.grep(globalSelectedRows, function (obj) {
return obj.No == o.No;
});
if (sel.length == 0) {
Savcceval(FK_MapData, AttrOfOper, oid, o.No, o.Name);
globalSelectedRows.push(o);
}
});
}
function removeSelectedData(globalSelectedRows, selectedRows) {
if (!$.isArray(globalSelectedRows) || !$.isArray(selectedRows)) {
return;
}
$.each(selectedRows, function (i, o) {
for (var index = 0; index < globalSelectedRows.length; index++) {
if (o.No == globalSelectedRows[index].No) {
Delete(AttrOfOper, oid, o.No);
globalSelectedRows.splice(index, 1);
break;
}
}
});
}
function removeAllSelectedData() {
var globalSelectedRows = selectedRows;
if (!$.isArray(globalSelectedRows) || !$.isArray(selectedRows)) {
return;
}
for (var index = 0; index < globalSelectedRows.length; index++) {
Delete(AttrOfOper, oid, globalSelectedRows[index].No);
}
selectedRows = [];
}
//删除数据.
function Delete(keyOfEn, oid, No) {
var frmEleDB = new Entity("BP.Sys.FrmEleDB");
frmEleDB.MyPK = keyOfEn + "_" + oid + "_" + No;
frmEleDB.Delete();
}
//设置值.
function Savcceval(fk_mapdata, keyOfEn, oid, val1, val2) {
var frmEleDB = new Entity("BP.Sys.FrmEleDB");
frmEleDB.MyPK = keyOfEn + "_" + oid + "_" + val1;
frmEleDB.FK_MapData = fk_mapdata;
frmEleDB.EleID = keyOfEn;
frmEleDB.RefPKVal = oid;
frmEleDB.Tag1 = val1;
frmEleDB.Tag2 = val2;
if (frmEleDB.Update() == 0) {
frmEleDB.Insert();
}
}
</script>
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<div class="row">
<div class="col-md-9 col-sm-9" style="width:99%">
<div class="pull-center search search-margin" id="Search_Div" style="width:100%">
<label>关键字</label>
<input class="form-control" style="display:inline;width:240px;" type="text" placeholder="" id="TB_Key">
</div>
</div>
</div>
</div>
</div>
<div class="row row-margin-top">
<div class="col-md-4 col-sm-4" id="viewGrid_Panel" style="width:99%">
<table id="viewGrid" style></table>
</div>
</div>
</div>
</body>
</html>

@ -480,7 +480,7 @@ function PopTableSearch(mapExt, val, targetId, index, oid, objtr) {
//解项羽 这里需要相对路径. //解项羽 这里需要相对路径.
var localHref = GetLocalWFPreHref(); var localHref = GetLocalWFPreHref();
var url = localHref + "/WF/CCForm/Pop/TableSearch.htm?MyPK=" + mapExt.MyPK + "&FK_MapData=" + mapExt.FK_MapData + "&OID=" + oid + "&KeyOfEn=" + mapExt.AttrOfOper; var url = localHref + "/WF/CCForm/ForBKGYTableSearch.htm?MyPK=" + mapExt.MyPK + "&FK_MapData=" + mapExt.FK_MapData + "&OID=" + oid + "&KeyOfEn=" + mapExt.AttrOfOper;
if (isEnter == false) if (isEnter == false)
container.on("dblclick", function () { container.on("dblclick", function () {

@ -214,7 +214,7 @@ function OpenPopFunction(mapExt, mapExts, mtagsId, target, targetID, pkval, popt
url += url + '&BackBtn=' + 0; url += url + '&BackBtn=' + 0;
break; break;
case "PopTableSearch": //表格查询. case "PopTableSearch": //表格查询.
url = baseUrl + "Pop/TableSearch.htm?MyPK=" + mapExt.MyPK + "&oid=" + pkval + "&m=" + Math.random(); url = baseUrl + "ForBKGYTableSearch.htm?MyPK=" + mapExt.MyPK + "&oid=" + pkval + "&m=" + Math.random();
break; break;
case "PopSelfUrl": case "PopSelfUrl":
url = mapExt.Tag; url = mapExt.Tag;

@ -409,9 +409,16 @@ function FullIt(selectVal, refPK, elementId) {
mapExt.SetPKVal(refPK); mapExt.SetPKVal(refPK);
var i = mapExt.RetrieveFromDBSources(); var i = mapExt.RetrieveFromDBSources();
var backFunc = mapExt.Tag2; if (CustomerNo != "BKGY") {
backFunc = mapExt.Tag2;
if (backFunc != null && backFunc != "" && backFunc != undefined)
DBAccess.RunFunctionReturnStr(DealSQL(backFunc, selectVal));
} else {
backFunc = mapExt.Tag5;
if (backFunc != null && backFunc != "" && backFunc != undefined) if (backFunc != null && backFunc != "" && backFunc != undefined)
DBAccess.RunFunctionReturnStr(DealSQL(backFunc, selectVal)); DBAccess.RunFunctionReturnStr(DealSQL(backFunc, selectVal));
}
var mypk = ""; var mypk = "";
if (refPK.indexOf("FullData") != -1) if (refPK.indexOf("FullData") != -1)

@ -221,7 +221,7 @@ namespace BP.WF
{ {
string s = BP.Difference.SystemConfig.AppSettings["PrintBackgroundWord"]; string s = BP.Difference.SystemConfig.AppSettings["PrintBackgroundWord"];
if (string.IsNullOrEmpty(s)) if (string.IsNullOrEmpty(s))
s = "驰骋工作流引擎@开源驰骋 - ccflow@openc"; s = "";
return s; return s;
} }
} }
@ -1706,7 +1706,7 @@ namespace BP.WF
DBAccess.RunSQL(sql); DBAccess.RunSQL(sql);
} }
string info = "驰骋工作流引擎 - 检查数据库安装权限出现错误:"; string info = "检查数据库安装权限出现错误:";
info += "\t\n1. 当前登录的数据库帐号必须有创建、删除视图或者table的权限。"; info += "\t\n1. 当前登录的数据库帐号必须有创建、删除视图或者table的权限。";
info += "\t\n2. 必须对表有增、删、改、查的权限。 "; info += "\t\n2. 必须对表有增、删、改、查的权限。 ";
info += "\t\n3. 必须有删除创建索引主键的权限。 "; info += "\t\n3. 必须有删除创建索引主键的权限。 ";

@ -848,10 +848,21 @@ namespace BP.WF.HttpHandler
if ((int)func.TemplateFileModel == 1) if ((int)func.TemplateFileModel == 1)
fileModelT = "word"; fileModelT = "word";
#region BKGY替换word名称 20231026 sunliang #region BKGY替换word名称 20231026 sunliang
string da = "";
if (DataType.IsNullOrEmpty(GetRequestVal("PrintFor")))
{
string sql = "select TITLE from WF_GENERWORKFLOW where workid='" + WorkID + "'"; string sql = "select TITLE from WF_GENERWORKFLOW where workid='" + WorkID + "'";
string da = DBAccess.RunSQLReturnString(sql); da = DBAccess.RunSQLReturnString(sql);
var s = da.Split('_'); var s = da.Split('_');
da = s[0] + ".doc"; da = s[0] + ".doc";
}
else {
string sql = "select TITLE from WF_GENERWORKFLOW where workid='" + WorkID + "'";
da = DBAccess.RunSQLReturnString(sql);
var s = da.Split('_');
da = s[0]+ DateTime.Now.ToString("yyyyMMddHHmmss") + ".doc";
}
//string da = s[0].ToString().Replace("#", "号") + ".doc"; //string da = s[0].ToString().Replace("#", "号") + ".doc";
//da = da.Replace("+", "、"); //da = da.Replace("+", "、");

@ -136,6 +136,22 @@ namespace BP.WF
ps.Add("FID", this.WorkID); ps.Add("FID", this.WorkID);
DBAccess.RunSQL(ps); DBAccess.RunSQL(ps);
string sql = "SELECT WorkID,FK_Emp FROM WF_GenerWorkerlist WHERE (WorkID=" + this.WorkID + " OR FID=" + this.WorkID + ")AND FK_Node !=" + this.ReturnToNode.NodeID;
DataTable dtList = DBAccess.RunSQLReturnTable(sql);
if (dtList.Rows.Count > 0)
{
foreach (DataRow dr in dtList.Rows)
{
int nums = BP.WF.Dev2Interface.EmpWorksNums(dr[1].ToString()) - 1;
//退回后写入最新待办@BKGY
sql = "";
sql = "INSERT INTO WEB_SOCKET (ID,USER_NO,EmpWorksNums,Flag,WorkID) ";
sql += "VALUES(S_WEB_SOCKET.NEXTVAL,'" + dr[1].ToString() + "','" + nums + "','0'," + this.WorkID + ")";
DBAccess.RunSQL(sql);
}
}
/*如果退回到了开始的节点,就删除出开始节点以外的数据,不要删除节点表单数据,这样会导致流程轨迹打不开.*/ /*如果退回到了开始的节点,就删除出开始节点以外的数据,不要删除节点表单数据,这样会导致流程轨迹打不开.*/
ps.Clear(); ps.Clear();
ps.SQL = "DELETE FROM WF_GenerWorkerlist WHERE FK_Node!=" + dbStr + "FK_Node AND (WorkID=" + dbStr + "WorkID1 OR FID=" + dbStr + "WorkID2)"; ps.SQL = "DELETE FROM WF_GenerWorkerlist WHERE FK_Node!=" + dbStr + "FK_Node AND (WorkID=" + dbStr + "WorkID1 OR FID=" + dbStr + "WorkID2)";

@ -797,6 +797,21 @@ namespace BP.WF
GenerWorkerLists wls = new GenerWorkerLists(); GenerWorkerLists wls = new GenerWorkerLists();
wls.Delete(GenerWorkerListAttr.WorkID, this.WorkID, GenerWorkerListAttr.FK_Node, gwf.NodeID); wls.Delete(GenerWorkerListAttr.WorkID, this.WorkID, GenerWorkerListAttr.FK_Node, gwf.NodeID);
sql = "SELECT WorkID,FK_Emp FROM WF_GenerWorkerlist WHERE WorkID=" + this.WorkID + " AND FK_Node =" + gwf.NodeID;
DataTable dtList = DBAccess.RunSQLReturnTable(sql);
if (dtList.Rows.Count > 0)
{
foreach (DataRow dr in dtList.Rows)
{
int nums = BP.WF.Dev2Interface.EmpWorksNums(dr[1].ToString()) - 1;
//退回后写入最新待办@BKGY
sql = "";
sql = "INSERT INTO WEB_SOCKET (ID,USER_NO,EmpWorksNums,Flag,WorkID) ";
sql += "VALUES(S_WEB_SOCKET.NEXTVAL,'" + dr[1].ToString() + "','" + nums + "','0'," + this.WorkID + ")";
DBAccess.RunSQL(sql);
}
}
// 删除附件信息。 // 删除附件信息。
DBAccess.RunSQL("DELETE FROM Sys_FrmAttachmentDB WHERE FK_MapData='ND" + gwf.NodeID + "' AND RefPKVal='" + this.WorkID + "'"); DBAccess.RunSQL("DELETE FROM Sys_FrmAttachmentDB WHERE FK_MapData='ND" + gwf.NodeID + "' AND RefPKVal='" + this.WorkID + "'");

Loading…
Cancel
Save