You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
534 lines
24 KiB
534 lines
24 KiB
@{
|
|
ViewBag.Title = "Form";
|
|
Layout = "~/Views/Shared/_Form.cshtml";
|
|
}
|
|
<link href="~/Content/css/CommonReport/CommonReport.css" rel="stylesheet" />
|
|
<script src="~/Content/js/CommonReport/CommonReport.js"></script>
|
|
<link href="~/Content/css/bootstrap/bootstrap-select.css" rel="stylesheet" />
|
|
<script src="~/Content/js/bootstrap/bootstrap-select.min.js"></script>
|
|
<style>
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
</style>
|
|
<script>
|
|
var keyValue = $.request("keyValue");
|
|
var MenuID = keyValue;
|
|
var LogString_Num = new Array();
|
|
var LogString_Str = new Array();
|
|
var LogString_Date = new Array();
|
|
var LogString_Bool = new Array();
|
|
|
|
var SourceID = "";
|
|
var DataTypeString = new Array();
|
|
var NewLine = 0;
|
|
var MaxPaiXu = 0;
|
|
var FirstShow = 0;
|
|
$(function () {
|
|
initControl();
|
|
if (!!keyValue) {
|
|
$.ajax({
|
|
url: "/SystemManage/Module/GetFormJson",
|
|
data: { keyValue: keyValue },
|
|
dataType: "json",
|
|
async: false,
|
|
success: function (data) {
|
|
$("#form1").formSerialize(data);
|
|
}
|
|
});
|
|
}
|
|
LogString_Num = GetLogString("数值型");
|
|
LogString_Str = GetLogString("字符型");
|
|
LogString_Date = GetLogString("日期型");
|
|
LogString_Bool = GetLogString("布尔值");
|
|
DataTypeString = GetDataTypeString();
|
|
DataActiongridList();
|
|
$(window).resize(function () {
|
|
|
|
$("#DataActiongridList").setGridWidth($(window).width() * 0.99);
|
|
$("#DataActiongridList").setGridWidth(document.body.clientWidth * 0.99);
|
|
$("#DataActiongridList").setGridHeight($(window).height() - 96);
|
|
$("#DataActiongridList").setGridHeight(document.body.clientHeight - 96);
|
|
});
|
|
});
|
|
|
|
function DataActiongridList() {
|
|
if (keyValue == "") {
|
|
SourceID = guid();
|
|
$("#F_Id").val(SourceID);
|
|
}
|
|
else {
|
|
SourceID = keyValue;
|
|
}
|
|
var $gridList = $("#DataActiongridList");
|
|
$gridList.dataGrid({
|
|
url: "/SystemManage/Module/GetCondition?" + Math.random(),
|
|
postData: { SourceID: SourceID },
|
|
height: $(window).height() - 96,
|
|
colModel: [//IDStr 排序 必填 条件名称 字段名称 替代符号 数据类型 默认逻辑符号 默认值
|
|
//参照选择, 参照语句, 其他数据源, 本系统数据源, 返回字段
|
|
{
|
|
label: 'IDStr', name: 'IDStr', width: 80, align: 'left', hidden: true, sortable: false,
|
|
},
|
|
{
|
|
label: 'IsNew', name: 'IsNew', width: 80, align: 'left', hidden: true, sortable: false,
|
|
},
|
|
{ label: '默认值', name: '默认值', hidden: true, sortable: false, },
|
|
{ label: '默认值2', name: '默认值2', hidden: true, sortable: false, },
|
|
{
|
|
label: '排序', name: '排序', width: 80, align: 'left', sortable: false,
|
|
formatter: function (cellvalue, options, rowObject) {
|
|
if (parseInt(cellvalue) > MaxPaiXu) {
|
|
MaxPaiXu = parseInt(cellvalue);
|
|
}
|
|
var str_retrun = '<input type="text" class="form-control" id="PaiXu_' + rowObject.IDStr + '" style="width:50px" value="' + cellvalue + '" />';
|
|
return cellvalue = str_retrun;
|
|
},
|
|
},
|
|
{
|
|
label: '条件名称', name: '条件名称', width: 150, align: 'left', sortable: false,
|
|
formatter: function (cellvalue, options, rowObject) {
|
|
var str_retrun = '<input type="text" class="form-control" id="Caption_' + rowObject.IDStr + '" value="' + cellvalue + '" />';
|
|
return cellvalue = str_retrun;
|
|
},
|
|
},
|
|
|
|
{
|
|
label: '字段名称', name: '字段名称', width: 150, align: 'left', sortable: false,
|
|
formatter: function (cellvalue, options, rowObject) {
|
|
var str_retrun = '<input type="text" class="form-control" id="FiledName_' + rowObject.IDStr + '" value="' + cellvalue + '" />';
|
|
return cellvalue = str_retrun;
|
|
},
|
|
},
|
|
{
|
|
label: '替代符号', name: '替代符号', width: 150, align: 'left', sortable: false,
|
|
formatter: function (cellvalue, options, rowObject) {
|
|
var str_retrun = '<input type="text" class="form-control" id="Index_' + rowObject.IDStr + '" value="' + cellvalue + '" />';
|
|
return cellvalue = str_retrun;
|
|
},
|
|
},
|
|
{
|
|
label: '数据类型Data', name: '数据类型Data', hidden: true, width: 150, align: 'left', sortable: false,
|
|
},
|
|
{
|
|
label: '数据类型', name: '数据类型', width: 150, align: 'left', sortable: false,
|
|
formatter: function (cellvalue, options, rowObject) {
|
|
|
|
var str_retrun = '<select class="selectpicker" id="selDataType_' + rowObject.IDStr + '" Title="" onchange="ChangeSel(\'' + rowObject.IDStr + '\')" data-width="100px" > ';
|
|
str_retrun += "<option value=''></option>";
|
|
for (var i = 0; i < DataTypeString.length; i++) {
|
|
str_retrun += "<option value=\"" + DataTypeString[i].value + "\">" + DataTypeString[i].Str + "</option>";
|
|
}
|
|
str_retrun += '</select>';
|
|
return cellvalue = str_retrun;
|
|
|
|
}
|
|
},
|
|
{
|
|
label: '起始值', name: '起始值', width: 190, align: 'left', sortable: false,
|
|
formatter: function (cellvalue, options, rowObject) {
|
|
var dataTypeStr = GetDataTypeByNum(rowObject.数据类型);
|
|
switch (dataTypeStr) {
|
|
case "数值型":
|
|
case "布尔值":
|
|
case "字符型":
|
|
var str_retrun = '<input class="form-control" id="QiShi_' + rowObject.IDStr + '" type="text" />';
|
|
return cellvalue = str_retrun;
|
|
break;
|
|
case "日期型":
|
|
var str_retrun = '<input class="form-control" id="QiShi_' + rowObject.IDStr + '" type="text" onclick="WdatePicker({ dateFmt: \'yyyy-MM-dd\'})" />';
|
|
return cellvalue = str_retrun;
|
|
break;
|
|
case "":
|
|
var str_retrun = '<input class="form-control" id="QiShi_' + rowObject.IDStr + '" type="text" />';
|
|
return cellvalue = str_retrun;
|
|
break;
|
|
}
|
|
}
|
|
},
|
|
{
|
|
label: '结束值', name: '结束值', width: 190, align: 'left', sortable: false,
|
|
formatter: function (cellvalue, options, rowObject) {
|
|
var dataTypeStr = GetDataTypeByNum(rowObject.数据类型);
|
|
switch (dataTypeStr) {
|
|
case "数值型":
|
|
case "布尔值":
|
|
case "字符型":
|
|
var str_retrun = '<input class="form-control" id="JieShu_' + rowObject.IDStr + '" type="text" />';
|
|
return cellvalue = str_retrun;
|
|
break;
|
|
case "日期型":
|
|
var str_retrun = '<input class="form-control" id="JieShu_' + rowObject.IDStr + '" type="text" onclick="WdatePicker({ dateFmt: \'yyyy-MM-dd\'})" />';
|
|
return cellvalue = str_retrun;
|
|
break;
|
|
case "":
|
|
var str_retrun = '<input class="form-control" id="JieShu_' + rowObject.IDStr + '" type="text" />';
|
|
return cellvalue = str_retrun;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
],
|
|
|
|
viewrecords: true,
|
|
rownumbers: true,
|
|
multiselect: true,
|
|
rowNum: 500,
|
|
// cellEdit: false,
|
|
// multiboxonly: true,
|
|
// multikey:'shiftKey',
|
|
gridComplete: function () {
|
|
$("#DataActiongridList").setGridParam().hideCol("IDStr");//隐藏ID列
|
|
$("#DataActiongridList").setGridParam().hideCol("IsNew");
|
|
$("#DataActiongridList").setGridParam().hideCol("数据类型Data");
|
|
var strIds = $("#DataActiongridList").jqGrid("getDataIDs");
|
|
if (FirstShow == 0) {
|
|
debugger;
|
|
for (var i = 0; i < strIds.length; i++) {
|
|
var IDStr = $("#DataActiongridList").jqGrid("getCell", strIds[i], "IDStr");
|
|
var selDataType = $("#DataActiongridList").jqGrid("getCell", strIds[i], "数据类型Data");
|
|
$("#selDataType_" + IDStr).selectpicker('refresh');
|
|
$("#selDataType_" + IDStr).selectpicker('val', selDataType);
|
|
|
|
//默认值
|
|
var MoRen = $("#DataActiongridList").jqGrid("getCell", strIds[i], "默认值");
|
|
if (MoRen != "") {
|
|
$("#QiShi_" + IDStr).val(MoRen);
|
|
}
|
|
|
|
//默认值2
|
|
var MoRen = $("#DataActiongridList").jqGrid("getCell", strIds[i], "默认值2");
|
|
if (MoRen != "") {
|
|
$("#JieShu_" + IDStr).val(MoRen);
|
|
}
|
|
}
|
|
FirstShow = 1;
|
|
}
|
|
NewLine = strIds.length;
|
|
|
|
$("#DataActiongridList").jqGrid('hideCol', 'cb');//隐藏勾选框 //勾选框选中的时候 与行选中有异常,所以隐藏
|
|
},
|
|
|
|
|
|
});
|
|
}
|
|
|
|
//修改字符类型 ->逻辑符号修改
|
|
function ChangeSel(ColsName) {
|
|
var datatype = $("#selDataType_" + ColsName).find("option:selected").text();
|
|
var $LogString = $("#selLogString_" + ColsName);
|
|
switch (datatype) {
|
|
case "日期型":
|
|
|
|
$LogString.find("option").remove();
|
|
$LogString.append("<option value=''></option>");
|
|
for (var i = 0; i < LogString_Date.length; i++) {
|
|
$LogString.append("<option value='" + LogString_Date[i].value + "'>" + LogString_Date[i].Str + "</option>");
|
|
}
|
|
$("#QiShi_" + ColsName).show();
|
|
$("#JieShu_" + ColsName).show();
|
|
$("#QiShi_" + ColsName).click(WdatePicker);
|
|
$("#JieShu_" + ColsName).click(WdatePicker);
|
|
break;
|
|
case "字符型":
|
|
|
|
$LogString.find("option").remove();
|
|
$LogString.append("<option value=''></option>");
|
|
for (var i = 0; i < LogString_Str.length; i++) {
|
|
$LogString.append("<option value='" + LogString_Str[i].value + "'>" + LogString_Str[i].Str + "</option>");
|
|
}
|
|
$("#QiShi_" + ColsName).show();
|
|
$("#JieShu_" + ColsName).show();
|
|
$("#QiShi_" + ColsName).click();
|
|
$("#JieShu_" + ColsName).click();
|
|
break;
|
|
case "数值型":
|
|
|
|
$LogString.find("option").remove();
|
|
$LogString.append("<option value=''></option>");
|
|
for (var i = 0; i < LogString_Num.length; i++) {
|
|
$LogString.append("<option value='" + LogString_Num[i].value + "'>" + LogString_Num[i].Str + "</option>");
|
|
}
|
|
$("#QiShi_" + ColsName).show();
|
|
$("#JieShu_" + ColsName).show();
|
|
$("#QiShi_" + ColsName).click();
|
|
$("#JieShu_" + ColsName).click();
|
|
break;
|
|
case "布尔值":
|
|
|
|
$LogString.find("option").remove();
|
|
$LogString.append("<option value=''></option>");
|
|
for (var i = 0; i < LogString_Bool.length; i++) {
|
|
$LogString.append("<option value='" + LogString_Bool[i].value + "'>" + LogString_Bool[i].Str + "</option>");
|
|
}
|
|
$("#QiShi_" + ColsName).hide();
|
|
$("#JieShu_" + ColsName).hide();
|
|
$("#QiShi_" + ColsName).click();
|
|
$("#JieShu_" + ColsName).click();
|
|
break;
|
|
}
|
|
$LogString.selectpicker('refresh');
|
|
$LogString.selectpicker('render');
|
|
|
|
}
|
|
|
|
function initControl() {
|
|
$("#F_Target").select2({
|
|
minimumResultsForSearch: -1
|
|
});
|
|
$("#F_ParentId").bindSelect({
|
|
url: "/SystemManage/Module/GetTreeSelectJson",
|
|
});
|
|
}
|
|
function guid() {
|
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
|
|
return v.toString(16);
|
|
});
|
|
}
|
|
function submitForm() {
|
|
var SubmitLine = new Array();
|
|
var strIds = $("#DataActiongridList").jqGrid("getDataIDs");
|
|
for (var i = 0; i < strIds.length; i++) {
|
|
//IDStr 排序 必填 条件名称 字段名称 替代符号 数据类型 默认逻辑符号 默认值
|
|
// NotNullFlag CCaption CFiledName CIndex CLogString CDefaultLogStirng CDataType CDefaultValue CSortSeq
|
|
var ID = "";
|
|
var IDStr = $("#DataActiongridList").jqGrid("getCell", strIds[i], "IDStr");
|
|
|
|
var IsNew = $("#DataActiongridList").jqGrid("getCell", strIds[i], "IsNew");//是新增:“1” ,修改:“0”
|
|
if (IsNew == "0") {
|
|
ID = IDStr;
|
|
}
|
|
var CSortSeq = $("#PaiXu_" + IDStr).val();
|
|
var CCaption = $("#Caption_" + IDStr).val();
|
|
var CFiledName = $("#FiledName_" + IDStr).val();
|
|
var CIndex = $("#Index_" + IDStr).val();
|
|
var CDataType = $("#selDataType_" + IDStr).val();
|
|
var FromStr = $("#QiShi_" + IDStr).val();
|
|
var ToStr = $("#JieShu_" + IDStr).val();
|
|
|
|
if (FromStr != '' && ToStr != '') {
|
|
if (FromStr.indexOf(',') != -1 || ToStr.indexOf(',') != -1) {
|
|
$.modalAlertNew("WMS00015", '起始值和结束值同时录入时不能存在复数条件!', '','warning');
|
|
return;
|
|
}
|
|
}
|
|
|
|
var obj = {
|
|
ID: ID,
|
|
CSortSeq: CSortSeq,
|
|
CCaption: CCaption,
|
|
CFiledName: CFiledName,
|
|
CIndex: CIndex,
|
|
CDataType: CDataType,
|
|
CLogString: GetCLogString(CDataType),
|
|
CValueBegin: FromStr,
|
|
CValueEnd: ToStr
|
|
}
|
|
SubmitLine.push(obj);
|
|
}
|
|
|
|
|
|
$.ajax({
|
|
url: "/SystemManage/Module/SetDataAction" + "?" + Math.random(),
|
|
type: "post",
|
|
data: { SourceID: SourceID, List_Condition: JSON.stringify(SubmitLine), },
|
|
async: false,
|
|
success: function (data) {
|
|
},
|
|
error: function (aa) {
|
|
//alert("异常:" + aa.responseText);
|
|
$.modalAlertNew("WMS00015", aa.responseText);
|
|
|
|
}
|
|
});
|
|
|
|
if (!$('#form1').formValid()) {
|
|
return false;
|
|
}
|
|
$.submitForm({
|
|
url: "/SystemManage/Module/SubmitForm?keyValue=" + keyValue,
|
|
param: $("#form1").formSerialize(),
|
|
success: function () {
|
|
$.currentWindow().$("#gridList").resetSelection();
|
|
$.currentWindow().$("#gridList").trigger("reloadGrid");
|
|
}
|
|
})
|
|
}
|
|
|
|
//新增一行
|
|
function btn_ADD() {
|
|
NewLine = NewLine + 1;
|
|
MaxPaiXu = MaxPaiXu + 1;
|
|
var ids = jQuery("#DataActiongridList").jqGrid('getDataIDs');
|
|
if (ids.length == 0) {
|
|
ids = [0];
|
|
}
|
|
//获得当前最大行号(数据编号)
|
|
var rowid = Math.max.apply(Math, ids);
|
|
//获得新添加行的行号(数据编号)
|
|
var newrowid = rowid + 1;
|
|
|
|
|
|
$("#DataActiongridList").addRowData(newrowid,
|
|
{//排序 必填 条件名称 字段名称 替代符号 数据类型 默认逻辑符号 默认值
|
|
"IDStr": NewLine.toString(),
|
|
"IsNew": "1",
|
|
"排序": MaxPaiXu,
|
|
"条件名称": "",
|
|
"字段名称": "",
|
|
"替代符号": "1=1",
|
|
"数据类型Data": "",
|
|
"数据类型": "",
|
|
"起始值": "",
|
|
"结束值": "",
|
|
},
|
|
"last");
|
|
|
|
var unwritten = document.getElementsByClassName("unwritten")[0];
|
|
if (unwritten != null && unwritten != 'undefined') {
|
|
unwritten.style.display = "none";
|
|
// $(".unwritten").attr("display", "none");
|
|
}
|
|
|
|
|
|
var strIds = $("#DataActiongridList").jqGrid("getDataIDs");
|
|
var rr = strIds.length - 1;
|
|
|
|
var IDStr = $("#DataActiongridList").jqGrid("getCell", strIds[rr], "IDStr");
|
|
var selDataType = $("#DataActiongridList").jqGrid("getCell", strIds[rr], "数据类型Data");
|
|
$("#selDataType_" + IDStr).selectpicker('refresh');
|
|
$("#selDataType_" + IDStr).selectpicker('val', selDataType);
|
|
}
|
|
|
|
//删除选中行
|
|
function btn_Del() {
|
|
|
|
var selectedRowIds = $("#DataActiongridList").jqGrid("getGridParam", "selarrrow");
|
|
var len = selectedRowIds.length;
|
|
for (var i = 0; i < len; i++) {
|
|
$("#DataActiongridList").jqGrid("delRowData", selectedRowIds[i]);
|
|
}
|
|
|
|
var selectedRowIds = $("#DataActiongridList").jqGrid("getGridParam", "selarrrow");
|
|
var len = selectedRowIds.length;
|
|
for (var i = 0; i < len; i++) {
|
|
$("#DataActiongridList").jqGrid("delRowData", selectedRowIds[i]);
|
|
}
|
|
}
|
|
|
|
function btn_Basic() {
|
|
$('#liBasic').addClass('active');
|
|
$('#liDataAction').removeClass();
|
|
$("#divBasic").show();
|
|
$("#divDataAction").hide();
|
|
}
|
|
function btn_DataAction() {
|
|
$('#liDataAction').addClass('active');
|
|
$('#liBasic').removeClass();
|
|
$("#divBasic").hide();
|
|
$("#divDataAction").show();
|
|
}
|
|
</script>
|
|
<form id="form1">
|
|
<div id="divform" style="margin-top: 10px; margin-left: 10px; margin-right: 10px;">
|
|
<ul class="nav nav-tabs">
|
|
<li id="liBasic" role="presentation" class="active"><a href="#" onclick="btn_Basic()">基本信息</a></li>
|
|
<li id="liDataAction" role="presentation"><a href="#" onclick="btn_DataAction()">数据权限配置</a></li>
|
|
</ul>
|
|
<div id="divBasic" style="padding-top: 20px; margin-right: 30px;">
|
|
<table class="form">
|
|
<tr>
|
|
<th class="formTitle">上级</th>
|
|
<td class="formValue">
|
|
<select id="F_ParentId" name="F_ParentId" class="form-control required">
|
|
<option value="0">父节点</option>
|
|
</select>
|
|
</td>
|
|
<th class="formTitle">名称</th>
|
|
<td class="formValue">
|
|
<input id="F_FullName" name="F_FullName" type="text" class="form-control required" placeholder="请输入名称" />
|
|
<input id="F_Id" name="F_Id" type="text" class="form-control" style="display:none" />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th class="formTitle">连接</th>
|
|
<td class="formValue">
|
|
<input id="F_UrlAddress" name="F_UrlAddress" type="text" class="form-control" />
|
|
</td>
|
|
<th class="formTitle">目标</th>
|
|
<td class="formValue">
|
|
<select id="F_Target" name="F_Target" class="form-control required">
|
|
<option value="">==请选择==</option>
|
|
<option value="expand" title="expand">无页面</option>
|
|
<option value="iframe" title="iframe">框架页</option>
|
|
<option value="open" title="open">弹出页</option>
|
|
<option value="blank" title="blank">新窗口</option>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th class="formTitle">图标</th>
|
|
<td class="formValue">
|
|
<div class="input-group">
|
|
<input id="F_Icon" name="F_Icon" type="text" class="form-control">
|
|
<span class="input-group-btn">
|
|
<a class="btn btn-primary"><i class="fa fa-ellipsis-h"></i></a>
|
|
</span>
|
|
</div>
|
|
</td>
|
|
<th class="formTitle">排序</th>
|
|
<td class="formValue">
|
|
<input id="F_SortCode" name="F_SortCode" type="text" class="form-control required" placeholder="请输入排序" />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th class="formTitle" style="height: 35px;">选项</th>
|
|
<td class="formValue" colspan="3" style="padding-top: 1px;">
|
|
<div class="ckbox">
|
|
<input id="F_IsMenu" name="F_IsMenu" type="checkbox"><label for="F_IsMenu">菜单</label>
|
|
</div>
|
|
<div class="ckbox">
|
|
<input id="F_IsPublic" name="F_IsPublic" type="checkbox"><label for="F_IsPublic">公共</label>
|
|
</div>
|
|
<div class="ckbox">
|
|
<input id="F_IsExpand" name="F_IsExpand" type="checkbox"><label for="F_IsExpand">展开</label>
|
|
</div>
|
|
<div class="ckbox">
|
|
<input id="F_EnabledMark" name="F_EnabledMark" type="checkbox" checked="checked"><label for="F_EnabledMark">有效</label>
|
|
</div>
|
|
<div class="ckbox">
|
|
<input id="F_AllowEdit" name="F_AllowEdit" type="checkbox"><label for="F_AllowEdit">允许编辑</label>
|
|
</div>
|
|
<div class="ckbox">
|
|
<input id="F_AllowDelete" name="F_AllowDelete" type="checkbox"><label for="F_AllowDelete">允许删除</label>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th class="formTitle" valign="top" style="padding-top: 5px;">
|
|
介绍
|
|
</th>
|
|
<td class="formValue" colspan="3">
|
|
<textarea id="F_Description" name="F_Descriptions" class="form-control" style="height: 100px;"></textarea>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div id="divDataAction" style="margin-top: 10px; margin-left: 10px; margin-right: 10px;display:none">
|
|
<div class="form-group" style="height:40px;margin-bottom:5px">
|
|
|
|
<div class="btn-group">
|
|
<a id="Btn_ADD" authorize="yes" class="btn btn-primary dropdown-text" onclick="btn_ADD()"><i class="fa fa-plus"></i>新增</a>
|
|
<a id="Btn_Del" authorize="yes" class="btn btn-primary dropdown-text" onclick="btn_Del()"><i class="fa fa-minus"></i>删除</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="gridPanel">
|
|
<table id="DataActiongridList"></table>
|
|
@*<div id="gridPager"></div>*@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|