OpenAuth.Net/CodeSmith/Add.cshtml.cst
2015-11-22 23:54:21 +08:00

148 lines
6.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%--
Name: Database Table Properties
Author: Paul Welter
Description: Create a list of properties from a database table
--%>
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Debug="False" Encoding="utf-8" Description="添加模块" %>
<%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Category="Context"
Description="连接的数据库" %>
<%@ Property Name="ModuleName" Type="String" Category="Context" Description="模块名称" %>
<%@ Property Name="NeedViewModel" Type="Boolean" Category="Context" Default="False" Description="是否需要ViewModel" %>
<%@ Property Name="CascadeId" Type="String" Category="" Default="ParentId" Description="级联字段" %>
<%@ Property Name="CascadeName" Type="String" Category="" Default="ParentName" Description="级联显示的文字" %>
<%@ Map Name="CSharpAlias" Src="System-CSharpAlias" Description="System to C# Type Map" %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>
<script runat="template">
public String GetModelName()
{
if(NeedViewModel)
return ModuleName +"View";
else
return ModuleName;
}
</script>
<%if(NeedViewModel){ %>
@model OpenAuth.App.ViewModel.<%=GetModelName()%>
<%} else{ %>
@model OpenAuth.Domain.<%=GetModelName()%>
<%} %>
@{
ViewBag.Title = "<%=GetModelName()%>编辑界面";
Layout = null;
}
<div class="bjui-pageContent">
<form action="/<%=ModuleName%>Manager/Add" class="pageForm" data-toggle="validate">
<table class="table table-condensed table-hover">
<tbody>
<tr>
<td align="center"><h3>* 添加</h3></td>
</tr>
<% foreach (ColumnSchema column in this.SourceTable.Columns) {
if(column.Name == CascadeName) continue;
%>
<tr>
<td>
<%if(column.IsPrimaryKeyMember){ %>
@Html.HiddenFor(m =>m.Id)
<% } else if(column.Name == CascadeId) {%>
<label for="<%=column.Name%>" class="control-label x85"><%=column.Description%></label>
<input id="<%=column.Name%>" name="<%=column.Name%>" value="" style="display: none"/>
<input type="text" name="<%=CascadeName%>" id="<%=CascadeName%>"
data-toggle="selectztree" size="20" data-tree="#j_select_tree1" value="@Model.<%=CascadeName%>">
<ul id="j_select_tree1" class="ztree hide" data-toggle="ztree"></ul>
<% } else if(CSharpAlias[column.SystemType.FullName] == "bool") {%>
<label for="<%=column.Name%>" class="control-label x85"><%=column.Description%></label>
<select name="<%=column.Name%>" id="<%=column.Name%>" data-toggle="selectpicker" data-rule="required">
<option value="0" @if (Model.<%=column.Name%>) { <text> selected="selected" </text> }>否</option>
<option value="1" @if (!Model.<%=column.Name%>) { <text> selected="selected" </text> }>是</option>
</select>
<%} else if(CSharpAlias[column.SystemType.FullName] == "int") {%>
<label for="<%=column.Name%>" class="control-label x85"><%=column.Description%></label>
<select name="<%=column.Name%>" id="<%=column.Name%>" data-toggle="selectpicker" data-rule="required">
<option value="0" @if (Model.<%=column.Name%> == 0) { <text> selected="selected" </text> }>默认</option>
<option value="1" @if (Model.<%=column.Name%> == 1) { <text> selected="selected" </text> }>状态1</option>
</select>
<%} else{%>
<label for="<%=column.Name%>" class="control-label x90"><%=column.Description%></label>
<input type="text" name="<%=column.Name%>" id="<%=column.Name%>" value="@Model.<%=column.Name%>"
data-rule="required" size="20">
<%} %>
</td>
</tr>
<% } %>
</tbody>
</table>
</form>
</div>
<div class="bjui-pageFooter">
<ul>
<li><button type="button" class="btn-close">关闭</button></li>
<li><button type="submit" class="btn-green">保存</button></li>
</ul>
</div>
<script type="text/javascript">
$(document).ready(function () {
Init();
});
function Init() {
var setting = {
view: {
selectedMulti: false
},
check: {
enable: true,
chkStyle: "checkbox",
chkboxType: { "Y": "", "N": "" } //去掉勾选时级联
},
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onClick: zTreeOnClick,
onCheck: zTreeCheck
}
};
$.getJSON('OrgManager/LoadOrg', function (json) {
var zTreeObj = $.fn.zTree.init($('#j_select_tree1'), setting, json);
zTreeObj.expandAll(true);
});
}
function zTreeCheck(e, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj(treeId),
nodes = zTree.getCheckedNodes(true);
var ids = '', names = '';
for (var i = 0; i < nodes.length; i++) {
ids += ',' + nodes[i].Id;
names += ',' + nodes[i].Name;
}
if (ids.length > 0) { //去掉第一个逗号
ids = ids.substr(1);
names = names.substr(1);
}
var $from = $('#' + treeId).data('fromObj');
if ($from && $from.length) $from.val(names);
$('#<%=CascadeId%>').val(ids);
}
function zTreeOnClick(event, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj(treeId);
zTree.checkNode(treeNode, !treeNode.checked, true, true);
event.preventDefault();
}
</script>