OpenAuth.Net/CodeSmith/CSharp/Web/index.js.cst

187 lines
6.0 KiB
Plaintext
Raw Normal View History

2017-11-29 18:26:36 +08:00
<%--
Name: 主JS界面
Author: yubaolee
--%>
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Debug="False" Encoding="utf-8" Description="添加模块" %>
<%@ Property Name="ModuleName" Type="String" Category="Context" Description="模块名称" %>
<%@ Map Name="CSharpAlias" Src="System-CSharpAlias" Description="System to C# Type Map" %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>
<%@ Assembly Src="Util.cs" %>
<%@ Import Namespace="Util" %>
layui.config({
base: "/js/"
}).use(['form', 'vue', 'ztree', 'layer', 'jquery', 'table', 'droptree', 'openauth', 'utils'], function () {
2017-11-29 18:26:36 +08:00
var form = layui.form,
layer = layui.layer,
$ = layui.jquery;
var table = layui.table;
var openauth = layui.openauth;
2018-04-13 07:10:02 +08:00
var toplayer = (top == undefined || top.layer === undefined) ? layer : top.layer; //顶层的LAYER
$("#menus").loadMenus("<%=ModuleName%>");
//加载表头
$.getJSON('/<%=ModuleName%>s/Load',
{ page: 1, limit: 1 },
function (data) {
var columns = data.columnHeaders.map(function (e) {
return {
field: e.Key,
title: e.Description
};
});
columns.unshift({
type: 'checkbox',
fixed: 'left'
});
table.render({
elem: '#mainList',
page: true,
url: '/<%=ModuleName%>s/Load',
cols: [columns]
, response: {
statusCode: 200 //规定成功的状态码默认0
}
});
});
2017-11-29 18:26:36 +08:00
//主列表加载,可反复调用进行刷新
var config = {}; //table的参数如搜索key点击tree的id
var mainList = function(options) {
2017-11-29 18:26:36 +08:00
if (options != undefined) {
$.extend(config, options);
}
table.reload('mainList',
{
url: '/<%=ModuleName%>s/Load',
where: config
, response: {
statusCode: 200 //规定成功的状态码默认0
}
2017-11-29 18:26:36 +08:00
});
};
mainList();
2017-11-29 18:26:36 +08:00
//添加(编辑)对话框
var editDlg = function () {
var vm;
2017-11-29 18:26:36 +08:00
var update = false; //是否为更新
var show = function (data) {
var title = update ? "编辑信息" : "添加";
layer.open({
title: title,
area: ["500px", "400px"],
type: 1,
content: $('#divEdit'),
success: function () {
if(vm == undefined){
vm = new Vue({
el: "#formEdit",
data(){
return {
tmp:data //使用一个tmp封装一下后面可以直接用vm.tmp赋值
}
},
watch:{
tmp(val){
this.$nextTick(function () {
form.render(); //刷新select等
layui.droptree("/Applications/GetList", "#AppName", "#AppId", false);
})
}
},
mounted(){
form.render();
layui.droptree("/Applications/GetList", "#AppName", "#AppId", false);
}
});
}else{
vm.tmp = Object.assign({}, vm.tmp,data)
}
2017-11-29 18:26:36 +08:00
},
end: mainList
});
2017-12-18 22:37:51 +08:00
var url = "/<%=ModuleName%>s/Add";
2017-11-29 18:26:36 +08:00
if (update) {
url = "/<%=ModuleName%>s/Update";
2017-11-29 18:26:36 +08:00
}
//提交数据
form.on('submit(formSubmit)',
function (data) {
2017-11-29 18:26:36 +08:00
$.post(url,
data.field,
function (data) {
2017-11-29 18:26:36 +08:00
layer.msg(data.Message);
},
"json");
return false;
});
}
return {
add: function () { //弹出添加
2017-11-29 18:26:36 +08:00
update = false;
show({
Id: ''
});
},
update: function (data) { //弹出编辑框
2017-11-29 18:26:36 +08:00
update = true;
show(data);
}
};
}();
2017-11-29 18:26:36 +08:00
//监听表格内部按钮
table.on('tool(list)', function (obj) {
var data = obj.data;
if (obj.event === 'detail') { //查看
layer.msg('ID' + data.Id + ' 的查看操作');
}
2017-11-29 18:26:36 +08:00
});
//监听页面主按钮操作
var active = {
btnDel: function () { //批量删除
var checkStatus = table.checkStatus('mainList')
, data = checkStatus.data;
2017-12-18 22:37:51 +08:00
openauth.del("/<%=ModuleName%>s/Delete",
2017-11-29 18:26:36 +08:00
data.map(function (e) { return e.Id; }),
mainList);
}
, btnAdd: function () { //添加
editDlg.add();
}
, btnEdit: function () { //编辑
var checkStatus = table.checkStatus('mainList')
, data = checkStatus.data;
if (data.length != 1) {
layer.msg("请选择编辑的行,且同时只能编辑一行");
return;
}
editDlg.update(data[0]);
}
2017-11-29 18:26:36 +08:00
, search: function () { //搜索
mainList({ key: $('#key').val() });
}
, btnRefresh: function () {
2017-11-29 18:26:36 +08:00
mainList();
}
};
$('.toolList .layui-btn').on('click', function () {
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
//监听页面主按钮操作 end
})