mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-07-15 23:13:40 +08:00
新增设计文档
This commit is contained in:
parent
9edd6930b4
commit
6dea67862a
BIN
DOC/核心设计.EAP
Normal file
BIN
DOC/核心设计.EAP
Normal file
Binary file not shown.
@ -20,12 +20,11 @@ namespace OpenAuth.App.Flow
|
||||
_runtimeModel = new FlowRuntimeModel();
|
||||
dynamic schemeContentJson = instance.SchemeContent.ToJson();//获取工作流模板内容的json对象;
|
||||
_runtimeModel.schemeContentJson = schemeContentJson;//模板流程json对象
|
||||
_runtimeModel.frmData = instance.FrmData;
|
||||
_runtimeModel.nodes = GetNodeDictionary(schemeContentJson);//节点集合
|
||||
_runtimeModel.lines = GetLineDictionary(schemeContentJson);//线条集合
|
||||
_runtimeModel.currentNodeId = (instance.ActivityId == "" ? _runtimeModel.startNodeId : instance.ActivityId);
|
||||
_runtimeModel.currentNodeType = GetNodeType(_runtimeModel.currentNodeId);
|
||||
//todo:要获取表单数据
|
||||
// _runtimeModel.frmData = flowRuntimeInitModel.frmData;
|
||||
|
||||
if (_runtimeModel.currentNodeType == 0 || _runtimeModel.currentNodeType == 4)
|
||||
{
|
||||
|
@ -106,12 +106,8 @@ namespace OpenAuth.App
|
||||
/// <param name="description">备注</param>
|
||||
/// <param name="frmData">表单数据信息</param>
|
||||
/// <returns></returns>
|
||||
public bool CreateInstance(FlowInstance flowInstance, string frmData = null)
|
||||
public bool CreateInstance(FlowInstance flowInstance)
|
||||
{
|
||||
if (frmData == null)
|
||||
{
|
||||
throw new Exception("自定义表单需要提交表单数据");
|
||||
}
|
||||
var wfruntime = new FlowRuntime(flowInstance);
|
||||
|
||||
|
||||
|
@ -1,47 +0,0 @@
|
||||
using System.Web;
|
||||
using System.Web.Optimization;
|
||||
|
||||
namespace OpenAuth.Mvc
|
||||
{
|
||||
public class BundleConfig
|
||||
{
|
||||
// 有关绑定的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=301862
|
||||
public static void RegisterBundles(BundleCollection bundles)
|
||||
{
|
||||
//树形组件
|
||||
bundles.Add(new StyleBundle("~/Content/scripts/plugins/tree/css").Include(
|
||||
"~/Content/scripts/plugins/tree/tree.css"));
|
||||
bundles.Add(new ScriptBundle("~/Content/scripts/plugins/tree/js").Include(
|
||||
"~/Content/scripts/plugins/tree/tree.js"));
|
||||
//表单验证
|
||||
bundles.Add(new ScriptBundle("~/Content/scripts/plugins/validator/js").Include(
|
||||
"~/Content/scripts/plugins/validator/validator.js"));
|
||||
//日期控件
|
||||
bundles.Add(new StyleBundle("~/Content/scripts/plugins/datetime/css").Include(
|
||||
"~/Content/scripts/plugins/datetime/pikaday.css"));
|
||||
bundles.Add(new ScriptBundle("~/Content/scripts/plugins/datepicker/js").Include(
|
||||
"~/Content/scripts/plugins/datetime/pikaday.js"));
|
||||
//导向组件
|
||||
bundles.Add(new StyleBundle("~/Content/scripts/plugins/wizard/css").Include(
|
||||
"~/Content/scripts/plugins/wizard/wizard.css"));
|
||||
bundles.Add(new ScriptBundle("~/Content/scripts/plugins/wizard/js").Include(
|
||||
"~/Content/scripts/plugins/wizard/wizard.js"));
|
||||
//
|
||||
bundles.Add(new StyleBundle("~/Content/styles/ui.css").Include(
|
||||
"~/Content/styles/ui.css"));
|
||||
bundles.Add(new ScriptBundle("~/Content/scripts/utils/js").Include(
|
||||
"~/Content/scripts/utils/ui.js",
|
||||
"~/Content/scripts/utils/form.js"));
|
||||
|
||||
//工作流
|
||||
bundles.Add(new StyleBundle("~/Content/styles/flowall.css").Include(
|
||||
"~/Content/styles/ckbox-radio.css",
|
||||
"~/Content/styles/applayout.css",
|
||||
"~/Content/styles/flow.css"));
|
||||
bundles.Add(new ScriptBundle("~/Content/scripts/flow/js").Include(
|
||||
"~/Content/scripts/utils/applayout.js",
|
||||
"~/Content/scripts/plugins/flow-ui/flow.js",
|
||||
"~/Content/scripts/utils/flowlayout.js"));
|
||||
}
|
||||
}
|
||||
}
|
@ -47,7 +47,7 @@ namespace OpenAuth.Mvc.Controllers
|
||||
{
|
||||
try
|
||||
{
|
||||
App.CreateInstance(obj, null);
|
||||
App.CreateInstance(obj);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -37,6 +37,24 @@ namespace OpenAuth.Mvc.Controllers
|
||||
return FormUtil.GetHtml(form, "");
|
||||
}
|
||||
|
||||
public string Get(string id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = new Response<Form>
|
||||
{
|
||||
Result = App.FindSingle(id)
|
||||
};
|
||||
return JsonHelper.Instance.Serialize(result);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Result.Code = 500;
|
||||
Result.Message = ex.Message;
|
||||
return JsonHelper.Instance.Serialize(Result);
|
||||
}
|
||||
}
|
||||
|
||||
//添加或修改
|
||||
[System.Web.Mvc.HttpPost]
|
||||
[ValidateInput(false)]
|
||||
|
@ -19,7 +19,6 @@ namespace OpenAuth.Mvc
|
||||
AreaRegistration.RegisterAllAreas();
|
||||
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
|
||||
RouteConfig.RegisterRoutes(RouteTable.Routes);
|
||||
BundleConfig.RegisterBundles(BundleTable.Bundles);
|
||||
|
||||
ModelBinders.Binders.Add(typeof(JObject), new JobjectModelBinder());
|
||||
|
||||
|
@ -139,7 +139,6 @@
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="App_Start\BundleConfig.cs" />
|
||||
<Compile Include="App_Start\FilterConfig.cs" />
|
||||
<Compile Include="App_Start\RouteConfig.cs" />
|
||||
<Compile Include="Controllers\BaseController.cs" />
|
||||
@ -193,8 +192,8 @@
|
||||
<Content Include="js\flow\GooFlow.print.js" />
|
||||
<Content Include="js\flow\GooFunc.js" />
|
||||
<Content Include="js\flow\img\gooflow_icon.png" />
|
||||
<Content Include="js\utils\flowlayout.js" />
|
||||
<Content Include="js\utils\ui.js" />
|
||||
<Content Include="js\flowlayout.js" />
|
||||
<Content Include="js\utils.js" />
|
||||
<Content Include="userJs\flowInstanceEdit.js" />
|
||||
<Content Include="userJs\flowSchemes.js" />
|
||||
<Content Include="userJs\nodeInfo.js" />
|
||||
|
@ -9,6 +9,9 @@
|
||||
<input type="hidden" name="Id" v-model="Id" />
|
||||
<input type="hidden" id="FrmId" name="FrmId" v-model="FrmId" />
|
||||
<input type="hidden" id="SchemeContent" name="SchemeContent" v-model="SchemeContent" />
|
||||
<input type="hidden" id="FrmContentData" name="FrmContentData" v-model="FrmContentData" />
|
||||
<input type="hidden" id="FrmContentParse" name="FrmContentParse" v-model="FrmContentParse" />
|
||||
<input type="hidden" id="FrmData" name="FrmData" v-model="FrmData" />
|
||||
|
||||
<div class="layui-row">
|
||||
<div class="layui-tab layui-tab-brief" lay-filter="tab">
|
||||
@ -49,7 +52,7 @@
|
||||
|
||||
<input type="hidden" lay-submit id="btnSubmit" lay-filter="formSubmit"/>
|
||||
</form>
|
||||
|
||||
<script src="/js/utils.js"></script>
|
||||
<script type="text/javascript" src="/layui/layui.js"></script>
|
||||
<script type="text/javascript" src="/userJs/flowInstanceEdit.js?v2"></script>
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
<th lay-data="{field:'Name', width:150}">表单名称</th>
|
||||
<th lay-data="{field:'Fields', width:150}">字段个数</th>
|
||||
<th lay-data="{field:'ContentData', width:150}">表单中的字段数据</th>
|
||||
<th lay-data="{field:'FrmDbId', width:150}">关联的数据库</th>
|
||||
<th lay-data="{field:'DbName', width:150}">关联的数据库</th>
|
||||
<th lay-data="{field:'Enabled', width:150}">有效</th>
|
||||
<th lay-data="{field:'Description', width:150}">备注</th>
|
||||
<th lay-data="{field:'CreateDate', width:150}">创建时间</th>
|
||||
@ -57,7 +57,7 @@
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">关联数据表名称【英文】</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="FrmDbId" v-model="FrmDbId" required lay-verify="required"
|
||||
<input type="text" name="DbName" v-model="DbName" required lay-verify="required"
|
||||
placeholder="关联数据表名称" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
@ -398,7 +398,7 @@
|
||||
return flowPanel;
|
||||
}
|
||||
|
||||
exports('utils/flowlayout'); //只有这样写才能找到utils/flowlayout??好尴尬
|
||||
exports('flowlayout'); //只有这样写才能找到flowlayout??好尴尬
|
||||
});
|
||||
|
||||
|
14
OpenAuth.Mvc/js/utils.js
Normal file
14
OpenAuth.Mvc/js/utils.js
Normal file
@ -0,0 +1,14 @@
|
||||
|
||||
//把name/value的数组转为obj对象
|
||||
function arrayToObj(array) {
|
||||
var result = {};
|
||||
for (var i = 0; i < array.length; i++) {
|
||||
var field = array[i];
|
||||
if (field.name in result) {
|
||||
result[field.name] += ',' + field.value;
|
||||
} else {
|
||||
result[field.name] = field.value;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
@ -1,925 +0,0 @@
|
||||
$(function () {
|
||||
$(".ui-filter-text").click(function () {
|
||||
if ($(this).next('.ui-filter-list').is(":hidden")) {
|
||||
$(this).css('border-bottom-color', '#fff');
|
||||
$(".ui-filter-list").slideDown(10);
|
||||
$(this).addClass("active")
|
||||
} else {
|
||||
$(this).css('border-bottom-color', '#ccc');
|
||||
$(".ui-filter-list").slideUp(10);
|
||||
$(this).removeClass("active")
|
||||
}
|
||||
});
|
||||
$(".profile-nav li").click(function () {
|
||||
$(".profile-nav li").removeClass("active");
|
||||
$(".profile-nav li").removeClass("hover");
|
||||
$(this).addClass("active")
|
||||
}).hover(function () {
|
||||
if (!$(this).hasClass("active")) {
|
||||
$(this).addClass("hover")
|
||||
}
|
||||
}, function () {
|
||||
$(this).removeClass("hover")
|
||||
})
|
||||
})
|
||||
Loading = function (bool, text) {
|
||||
layui.use('layer', function () {
|
||||
var layer = layui.layer;
|
||||
if (bool) {
|
||||
layer.load(1);
|
||||
} else {
|
||||
layer.closeAll('loading');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
$.fn.ComboBox = function (options) {
|
||||
//options参数:description,height,width,allowSearch,url,param,data
|
||||
var $select = $(this);
|
||||
if (!$select.attr('id')) {
|
||||
return false;
|
||||
}
|
||||
if (options) {
|
||||
if ($select.find('.ui-select-text').length == 0) {
|
||||
var $select_html = "";
|
||||
$select_html += "<div class=\"ui-select-text\" style='color:#999;'>" + options.description + "</div>";
|
||||
$select_html += "<div class=\"ui-select-option\">";
|
||||
$select_html += "<div class=\"ui-select-option-content\" style=\"max-height: " + options.height + "\">" + $select.html() + "</div>";
|
||||
if (options.allowSearch) {
|
||||
$select_html += "<div class=\"ui-select-option-search\"><input type=\"text\" class=\"form-control\" placeholder=\"搜索关键字\" /><span class=\"input-query\" title=\"Search\"><i class=\"fa fa-search\"></i></span></div>";
|
||||
}
|
||||
$select_html += "</div>";
|
||||
$select.html('');
|
||||
$select.append($select_html);
|
||||
}
|
||||
}
|
||||
var $option_html = $($("<p>").append($select.find('.ui-select-option').clone()).html());
|
||||
$option_html.attr('id', $select.attr('id') + '-option');
|
||||
$select.find('.ui-select-option').remove();
|
||||
if ($option_html.length > 0) {
|
||||
$('body').find('#' + $select.attr('id') + '-option').remove();
|
||||
}
|
||||
$('body').prepend($option_html);
|
||||
var $option = $("#" + $select.attr('id') + "-option");
|
||||
if (options.url != undefined) {
|
||||
$option.find('.ui-select-option-content').html('');
|
||||
$.ajax({
|
||||
url: options.url,
|
||||
data: options.param,
|
||||
type: "GET",
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function (data) {
|
||||
options.data = data;
|
||||
var json = data;
|
||||
loadComboBoxView(json);
|
||||
},
|
||||
error: function (XMLHttpRequest, textStatus, errorThrown) {
|
||||
dialogMsg(errorThrown, -1);
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (options.data != undefined) {
|
||||
var json = options.data;
|
||||
loadComboBoxView(json);
|
||||
}
|
||||
else {
|
||||
$option.find('li').css('padding', "0 5px");
|
||||
$option.find('li').click(function (e) {
|
||||
var data_text = $(this).text();
|
||||
var data_value = $(this).attr('data-value');
|
||||
$select.attr("data-value", data_value).attr("data-text", data_text);
|
||||
$select.find('.ui-select-text').html(data_text).css('color', '#000');
|
||||
$option.slideUp(150);
|
||||
$select.trigger("change");
|
||||
e.stopPropagation();
|
||||
}).hover(function (e) {
|
||||
if (!$(this).hasClass('liactive')) {
|
||||
$(this).toggleClass('on');
|
||||
}
|
||||
e.stopPropagation();
|
||||
});
|
||||
}
|
||||
function loadComboBoxView(json, searchValue, m) {
|
||||
if (json.length > 0) {
|
||||
var $_html = $('<ul></ul>');
|
||||
if (options.description) {
|
||||
$_html.append('<li data-value="">' + options.description + '</li>');
|
||||
}
|
||||
$.each(json, function (i) {
|
||||
var row = json[i];
|
||||
var title = row[options.title];
|
||||
if (title == undefined) {
|
||||
title = "";
|
||||
}
|
||||
if (searchValue != undefined) {
|
||||
if (row[m.text].indexOf(searchValue) != -1) {
|
||||
$_html.append('<li data-value="' + row[options.id] + '" title="' + title + '">' + row[options.text] + '</li>');
|
||||
}
|
||||
}
|
||||
else {
|
||||
$_html.append('<li data-value="' + row[options.id] + '" title="' + title + '">' + row[options.text] + '</li>');
|
||||
}
|
||||
});
|
||||
$option.find('.ui-select-option-content').html($_html);
|
||||
$option.find('li').css('padding', "0 5px");
|
||||
$option.find('li').click(function (e) {
|
||||
var data_text = $(this).text();
|
||||
var data_value = $(this).attr('data-value');
|
||||
$select.attr("data-value", data_value).attr("data-text", data_text);
|
||||
$select.find('.ui-select-text').html(data_text).css('color', '#000');
|
||||
$option.slideUp(150);
|
||||
$select.trigger("change");
|
||||
e.stopPropagation();
|
||||
}).hover(function (e) {
|
||||
if (!$(this).hasClass('liactive')) {
|
||||
$(this).toggleClass('on');
|
||||
}
|
||||
e.stopPropagation();
|
||||
});
|
||||
}
|
||||
}
|
||||
//操作搜索事件
|
||||
if (options.allowSearch) {
|
||||
$option.find('.ui-select-option-search').find('input').bind("keypress", function (e) {
|
||||
if (event.keyCode == "13") {
|
||||
var value = $(this).val();
|
||||
loadComboBoxView($(this)[0].options.data, value, $(this)[0].options);
|
||||
}
|
||||
}).focus(function () {
|
||||
$(this).select();
|
||||
})[0]["options"] = options;
|
||||
}
|
||||
|
||||
$select.unbind('click');
|
||||
$select.bind("click", function (e) {
|
||||
if ($select.attr('readonly') == 'readonly' || $select.attr('disabled') == 'disabled') {
|
||||
return false;
|
||||
}
|
||||
$(this).addClass('ui-select-focus');
|
||||
if ($option.is(":hidden")) {
|
||||
$select.find('.ui-select-option').hide();
|
||||
$('.ui-select-option').hide();
|
||||
var left = $select.offset().left;
|
||||
var top = $select.offset().top + 29;
|
||||
var width = $select.width();
|
||||
if (options.width) {
|
||||
width = options.width;
|
||||
}
|
||||
if (($option.height() + top) < $(window).height()) {
|
||||
$option.slideDown(150).css({ top: top, left: left, width: width });
|
||||
} else {
|
||||
var _top = (top - $option.height() - 32)
|
||||
$option.show().css({ top: _top, left: left, width: width });
|
||||
$option.attr('data-show', true);
|
||||
}
|
||||
$option.css('border-top', '1px solid #ccc');
|
||||
$option.find('li').removeClass('liactive');
|
||||
$option.find('[data-value=' + $select.attr('data-value') + ']').addClass('liactive');
|
||||
$option.find('.ui-select-option-search').find('input').select();
|
||||
} else {
|
||||
if ($option.attr('data-show')) {
|
||||
$option.hide();
|
||||
} else {
|
||||
$option.slideUp(150);
|
||||
}
|
||||
}
|
||||
e.stopPropagation();
|
||||
});
|
||||
$(document).click(function (e) {
|
||||
var e = e ? e : window.event;
|
||||
var tar = e.srcElement || e.target;
|
||||
if (!$(tar).hasClass('form-control')) {
|
||||
if ($option.attr('data-show')) {
|
||||
$option.hide();
|
||||
} else {
|
||||
$option.slideUp(150);
|
||||
}
|
||||
$select.removeClass('ui-select-focus');
|
||||
e.stopPropagation();
|
||||
}
|
||||
});
|
||||
return $select;
|
||||
}
|
||||
$.fn.ComboBoxSetValue = function (value) {
|
||||
if ($.isNullOrEmpty(value)) {
|
||||
return;
|
||||
}
|
||||
var $select = $(this);
|
||||
var $option = $("#" + $select.attr('id') + "-option");
|
||||
$select.attr('data-value', value);
|
||||
var data_text = $option.find('ul').find('[data-value=' + value + ']').html();
|
||||
if (data_text) {
|
||||
$select.attr('data-text', data_text);
|
||||
$select.find('.ui-select-text').html(data_text).css('color', '#000');
|
||||
$option.find('ul').find('[data-value=' + value + ']').addClass('liactive')
|
||||
}
|
||||
return $select;
|
||||
}
|
||||
$.fn.ComboBoxTree = function (options) {
|
||||
//options参数:description,height,allowSearch,appendTo,click,url,param,method,icon
|
||||
var $select = $(this);
|
||||
if (!$select.attr('id')) {
|
||||
return false;
|
||||
}
|
||||
if ($select.find('.ui-select-text').length == 0) {
|
||||
var $select_html = "";
|
||||
$select_html += "<div class=\"ui-select-text\" style='color:#999;'>" + options.description + "</div>";
|
||||
$select_html += "<div class=\"ui-select-option\">";
|
||||
$select_html += "<div class=\"ui-select-option-content\" style=\"max-height: " + options.height + "\"></div>";
|
||||
if (options.allowSearch) {
|
||||
$select_html += "<div class=\"ui-select-option-search\"><input type=\"text\" class=\"form-control\" placeholder=\"搜索关键字\" /><span class=\"input-query\" title=\"Search\"><i class=\"fa fa-search\" title=\"按回车查询\"></i></span></div>";
|
||||
}
|
||||
$select_html += "</div>";
|
||||
$select.append($select_html);
|
||||
}
|
||||
|
||||
|
||||
var $option_html = $($("<p>").append($select.find('.ui-select-option').clone()).html());
|
||||
$option_html.attr('id', $select.attr('id') + '-option');
|
||||
$select.find('.ui-select-option').remove();
|
||||
if (options.appendTo) {
|
||||
$(options.appendTo).prepend($option_html);
|
||||
} else {
|
||||
$('body').prepend($option_html);
|
||||
}
|
||||
var $option = $("#" + $select.attr('id') + "-option");
|
||||
var $option_content = $("#" + $select.attr('id') + "-option").find('.ui-select-option-content');
|
||||
loadtreeview(options.url);
|
||||
function loadtreeview(url) {
|
||||
$option_content.treeview({
|
||||
onnodeclick: function (item) {
|
||||
$select.attr("data-value", item.id).attr("data-text", item.text);
|
||||
$select.find('.ui-select-text').html(item.text).css('color', '#000');
|
||||
$select.trigger("change");
|
||||
if (options.click) {
|
||||
options.click(item);
|
||||
}
|
||||
},
|
||||
height: options.height,
|
||||
url: url,
|
||||
param: options.param,
|
||||
method: options.method,
|
||||
description: options.description
|
||||
});
|
||||
}
|
||||
if (options.allowSearch) {
|
||||
$option.find('.ui-select-option-search').find('input').attr('data-url', options.url);
|
||||
$option.find('.ui-select-option-search').find('input').bind("keypress", function (e) {
|
||||
if (event.keyCode == "13") {
|
||||
var value = $(this).val();
|
||||
var url = changeUrlParam($option.find('.ui-select-option-search').find('input').attr('data-url'), "keyword", escape(value));
|
||||
loadtreeview(url);
|
||||
}
|
||||
}).focus(function () {
|
||||
$(this).select();
|
||||
});
|
||||
}
|
||||
if (options.icon) {
|
||||
$option.find('i').remove();
|
||||
$option.find('img').remove();
|
||||
}
|
||||
$select.find('.ui-select-text').unbind('click');
|
||||
$select.find('.ui-select-text').bind("click", function (e) {
|
||||
if ($select.attr('readonly') == 'readonly' || $select.attr('disabled') == 'disabled') {
|
||||
return false;
|
||||
}
|
||||
$(this).parent().addClass('ui-select-focus');
|
||||
if ($option.is(":hidden")) {
|
||||
$select.find('.ui-select-option').hide();
|
||||
$('.ui-select-option').hide();
|
||||
var left = $select.offset().left;
|
||||
var top = $select.offset().top + 29;
|
||||
var width = $select.width();
|
||||
if (options.width) {
|
||||
width = options.width;
|
||||
}
|
||||
if (($option.height() + top) < $(window).height()) {
|
||||
$option.slideDown(150).css({ top: top, left: left, width: width });
|
||||
} else {
|
||||
var _top = (top - $option.height() - 32);
|
||||
$option.show().css({ top: _top, left: left, width: width });
|
||||
$option.attr('data-show', true);
|
||||
}
|
||||
$option.css('border-top', '1px solid #ccc');
|
||||
if (options.appendTo) {
|
||||
$option.css("position", "inherit")
|
||||
}
|
||||
$option.find('.ui-select-option-search').find('input').select();
|
||||
} else {
|
||||
if ($option.attr('data-show')) {
|
||||
$option.hide();
|
||||
} else {
|
||||
$option.slideUp(150);
|
||||
}
|
||||
}
|
||||
e.stopPropagation();
|
||||
});
|
||||
$select.find('li div').click(function (e) {
|
||||
var e = e ? e : window.event;
|
||||
var tar = e.srcElement || e.target;
|
||||
if (!$(tar).hasClass('bbit-tree-ec-icon')) {
|
||||
$option.slideUp(150);
|
||||
e.stopPropagation();
|
||||
}
|
||||
});
|
||||
$(document).click(function (e) {
|
||||
var e = e ? e : window.event;
|
||||
var tar = e.srcElement || e.target;
|
||||
if (!$(tar).hasClass('bbit-tree-ec-icon') && !$(tar).hasClass('form-control')) {
|
||||
if ($option.attr('data-show')) {
|
||||
$option.hide();
|
||||
} else {
|
||||
$option.slideUp(150);
|
||||
}
|
||||
$select.removeClass('ui-select-focus');
|
||||
e.stopPropagation();
|
||||
}
|
||||
});
|
||||
return $select;
|
||||
}
|
||||
$.fn.ComboBoxTreeSetValue = function (value) {
|
||||
if (value == "") {
|
||||
return;
|
||||
}
|
||||
var $select = $(this);
|
||||
var $option = $("#" + $select.attr('id') + "-option");
|
||||
$select.attr('data-value', value);
|
||||
var data_text = $option.find('ul').find('[data-value=' + value + ']').html();
|
||||
if (data_text) {
|
||||
$select.attr('data-text', data_text);
|
||||
$select.find('.ui-select-text').html(data_text).css('color', '#000');
|
||||
$option.find('ul').find('[data-value=' + value + ']').parent().parent().addClass('bbit-tree-selected');
|
||||
}
|
||||
return $select;
|
||||
}
|
||||
$.fn.GetWebControls = function (keyValue) {
|
||||
var reVal = "";
|
||||
$(this).find('input,select,textarea,.ui-select').each(function (r) {
|
||||
var id = $(this).attr('id');
|
||||
var type = $(this).attr('type');
|
||||
switch (type) {
|
||||
case "checkbox":
|
||||
if ($("#" + id).is(":checked")) {
|
||||
reVal += '"' + id + '"' + ':' + '"1",'
|
||||
} else {
|
||||
reVal += '"' + id + '"' + ':' + '"0",'
|
||||
}
|
||||
break;
|
||||
case "select":
|
||||
var value = $("#" + id).attr('data-value');
|
||||
if (value == "") {
|
||||
value = " ";
|
||||
}
|
||||
reVal += '"' + id + '"' + ':' + '"' + $.trim(value) + '",'
|
||||
break;
|
||||
case "selectTree":
|
||||
var value = $("#" + id).attr('data-value');
|
||||
if (value == "") {
|
||||
value = " ";
|
||||
}
|
||||
reVal += '"' + id + '"' + ':' + '"' + $.trim(value) + '",'
|
||||
break;
|
||||
default:
|
||||
var value = $("#" + id).val();
|
||||
if (value == "") {
|
||||
value = " ";
|
||||
}
|
||||
reVal += '"' + id + '"' + ':' + '"' + $.trim(value) + '",'
|
||||
break;
|
||||
}
|
||||
});
|
||||
reVal = reVal.substr(0, reVal.length - 1);
|
||||
if (!keyValue) {
|
||||
reVal = reVal.replace(/ /g, '');
|
||||
}
|
||||
reVal = reVal.replace(/\\/g, '\\\\');
|
||||
reVal = reVal.replace(/\n/g, '\\n');
|
||||
var postdata = jQuery.parseJSON('{' + reVal + '}');
|
||||
//阻止伪造请求
|
||||
//if ($('[name=__RequestVerificationToken]').length > 0) {
|
||||
// postdata["__RequestVerificationToken"] = $('[name=__RequestVerificationToken]').val();
|
||||
//}
|
||||
return postdata;
|
||||
};
|
||||
$.fn.SetWebControls = function (data) {
|
||||
var $id = $(this)
|
||||
for (var key in data) {
|
||||
var id = $id.find('#' + key);
|
||||
if (id.attr('id')) {
|
||||
var type = id.attr('type');
|
||||
if (id.hasClass("input-datepicker")) {
|
||||
type = "datepicker";
|
||||
}
|
||||
var value = $.trim(data[key]).replace(/ /g, '');
|
||||
switch (type) {
|
||||
case "checkbox":
|
||||
if (value == 1) {
|
||||
id.attr("checked", 'checked');
|
||||
} else {
|
||||
id.removeAttr("checked");
|
||||
}
|
||||
break;
|
||||
case "select":
|
||||
id.ComboBoxSetValue(value);
|
||||
break;
|
||||
case "selectTree":
|
||||
id.ComboBoxTreeSetValue(value);
|
||||
break;
|
||||
case "datepicker":
|
||||
id.val(formatDate(value, 'yyyy-MM-dd'));
|
||||
break;
|
||||
default:
|
||||
id.val(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$.fn.Contextmenu = function () {
|
||||
var element = $(this);
|
||||
var oMenu = $('.contextmenu');
|
||||
$(document).click(function () {
|
||||
oMenu.hide();
|
||||
});
|
||||
$(document).mousedown(function (e) {
|
||||
if (3 == e.which) {
|
||||
oMenu.hide();
|
||||
}
|
||||
})
|
||||
var aUl = oMenu.find("ul");
|
||||
var aLi = oMenu.find("li");
|
||||
var showTimer = hideTimer = null;
|
||||
var i = 0;
|
||||
var maxWidth = maxHeight = 0;
|
||||
var aDoc = [document.documentElement.offsetWidth, document.documentElement.offsetHeight];
|
||||
oMenu.hide();
|
||||
for (i = 0; i < aLi.length; i++) {
|
||||
//为含有子菜单的li加上箭头
|
||||
aLi[i].getElementsByTagName("ul")[0] && (aLi[i].className = "sub");
|
||||
//鼠标移入
|
||||
aLi[i].onmouseover = function () {
|
||||
var oThis = this;
|
||||
var oUl = oThis.getElementsByTagName("ul");
|
||||
//鼠标移入样式
|
||||
oThis.className += " active";
|
||||
//显示子菜单
|
||||
if (oUl[0]) {
|
||||
clearTimeout(hideTimer);
|
||||
showTimer = setTimeout(function () {
|
||||
for (i = 0; i < oThis.parentNode.children.length; i++) {
|
||||
oThis.parentNode.children[i].getElementsByTagName("ul")[0] &&
|
||||
(oThis.parentNode.children[i].getElementsByTagName("ul")[0].style.display = "none");
|
||||
}
|
||||
oUl[0].style.display = "block";
|
||||
oUl[0].style.top = oThis.offsetTop + "px";
|
||||
oUl[0].style.left = oThis.offsetWidth + "px";
|
||||
|
||||
//最大显示范围
|
||||
maxWidth = aDoc[0] - oUl[0].offsetWidth;
|
||||
maxHeight = aDoc[1] - oUl[0].offsetHeight;
|
||||
|
||||
//防止溢出
|
||||
maxWidth < getOffset.left(oUl[0]) && (oUl[0].style.left = -oUl[0].clientWidth + "px");
|
||||
maxHeight < getOffset.top(oUl[0]) && (oUl[0].style.top = -oUl[0].clientHeight + oThis.offsetTop + oThis.clientHeight + "px")
|
||||
}, 300);
|
||||
}
|
||||
};
|
||||
//鼠标移出
|
||||
aLi[i].onmouseout = function () {
|
||||
var oThis = this;
|
||||
var oUl = oThis.getElementsByTagName("ul");
|
||||
//鼠标移出样式
|
||||
oThis.className = oThis.className.replace(/\s?active/, "");
|
||||
|
||||
clearTimeout(showTimer);
|
||||
hideTimer = setTimeout(function () {
|
||||
for (i = 0; i < oThis.parentNode.children.length; i++) {
|
||||
oThis.parentNode.children[i].getElementsByTagName("ul")[0] &&
|
||||
(oThis.parentNode.children[i].getElementsByTagName("ul")[0].style.display = "none");
|
||||
}
|
||||
}, 300);
|
||||
};
|
||||
}
|
||||
//自定义右键菜单
|
||||
$(element).bind("contextmenu", function () {
|
||||
var event = event || window.event;
|
||||
oMenu.show();
|
||||
oMenu.css('top', event.clientY + "px");
|
||||
oMenu.css('left', event.clientX + "px");
|
||||
//最大显示范围
|
||||
maxWidth = aDoc[0] - oMenu.width();
|
||||
maxHeight = aDoc[1] - oMenu.height();
|
||||
//防止菜单溢出
|
||||
if (oMenu.offset().top > maxHeight) {
|
||||
oMenu.css('top', maxHeight + "px");
|
||||
}
|
||||
if (oMenu.offset().left > maxWidth) {
|
||||
oMenu.css('left', maxWidth + "px");
|
||||
}
|
||||
return false;
|
||||
}).bind("click", function () {
|
||||
oMenu.hide();
|
||||
});
|
||||
}
|
||||
$.fn.panginationEx = function (options) {
|
||||
var $pager = $(this);
|
||||
if (!$pager.attr('id')) {
|
||||
return false;
|
||||
}
|
||||
var defaults = {
|
||||
firstBtnText: '首页',
|
||||
lastBtnText: '尾页',
|
||||
prevBtnText: '上一页',
|
||||
nextBtnText: '下一页',
|
||||
showInfo: true,
|
||||
showJump: true,
|
||||
jumpBtnText: '跳转',
|
||||
showPageSizes: true,
|
||||
infoFormat: '{start} ~ {end}条,共{total}条',
|
||||
sortname: '',
|
||||
url: "",
|
||||
success: null,
|
||||
beforeSend: null,
|
||||
complete: null
|
||||
};
|
||||
var options = $.extend(defaults, options);
|
||||
var params = $.extend({ sidx: options.sortname, sord: "asc" }, options.params);
|
||||
options.remote = {
|
||||
url: options.url, //请求地址
|
||||
params: params, //自定义请求参数
|
||||
beforeSend: function (XMLHttpRequest) {
|
||||
if (options.beforeSend != null) {
|
||||
options.beforeSend(XMLHttpRequest);
|
||||
}
|
||||
},
|
||||
success: function (result, pageIndex) {
|
||||
//回调函数
|
||||
//result 为 请求返回的数据,呈现数据
|
||||
if (options.success != null) {
|
||||
options.success(result.rows, pageIndex);
|
||||
}
|
||||
},
|
||||
complete: function (XMLHttpRequest, textStatu) {
|
||||
if (options.complete != null) {
|
||||
options.complete(XMLHttpRequest, textStatu);
|
||||
}
|
||||
//...
|
||||
},
|
||||
pageIndexName: 'page', //请求参数,当前页数,索引从0开始
|
||||
pageSizeName: 'rows', //请求参数,每页数量
|
||||
totalName: 'records' //指定返回数据的总数据量的字段名
|
||||
}
|
||||
$pager.page(options);
|
||||
}
|
||||
$.fn.LeftListShowOfemail = function (options) {
|
||||
var $list = $(this);
|
||||
if (!$list.attr('id')) {
|
||||
return false;
|
||||
}
|
||||
$list.append('<ul style="padding-top: 10px;"></ul>');
|
||||
var defaults = {
|
||||
id: "id",
|
||||
name: "text",
|
||||
img: "fa fa-file-o",
|
||||
|
||||
};
|
||||
var options = $.extend(defaults, options);
|
||||
$list.height(options.height);
|
||||
$.ajax({
|
||||
url: options.url,
|
||||
data: options.param,
|
||||
type: "GET",
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function (data) {
|
||||
$.each(data, function (i, item) {
|
||||
var $_li = $('<li class="" data-value="' + item[options.id] + '" data-text="' + item[options.name] + '" ><i class="' + options.img + '" style="vertical-align: middle; margin-top: -2px; margin-right: 8px; font-size: 14px; color: #666666; opacity: 0.9;"></i>' + item[options.name] + '</li>');
|
||||
if (i == 0) {
|
||||
$_li.addClass("active");
|
||||
}
|
||||
$list.find('ul').append($_li);
|
||||
});
|
||||
$list.find('li').click(function () {
|
||||
var key = $(this).attr('data-value');
|
||||
var value = $(this).attr('data-text');
|
||||
$list.find('li').removeClass('active');
|
||||
$(this).addClass('active');
|
||||
options.onnodeclick({ id: key, name: value });
|
||||
});
|
||||
},
|
||||
error: function (XMLHttpRequest, textStatus, errorThrown) {
|
||||
dialogMsg(errorThrown, -1);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
dialogTop = function (content, type) {
|
||||
layer.msg(content);
|
||||
}
|
||||
dialogOpen = function (options) {
|
||||
Loading(true);
|
||||
var defaults = {
|
||||
id: null,
|
||||
title: '系统窗口',
|
||||
width: "100px",
|
||||
height: "100px",
|
||||
url: '',
|
||||
shade: 0.3,
|
||||
btn: ['确认', '关闭'],
|
||||
callBack: null
|
||||
};
|
||||
var options = $.extend(defaults, options);
|
||||
var _url = options.url;
|
||||
var _width = top.$.windowWidth() > parseInt(options.width.replace('px', '')) ? options.width : top.$.windowWidth() + 'px';
|
||||
var _height = top.$.windowHeight() > parseInt(options.height.replace('px', '')) ? options.height : top.$.windowHeight() + 'px';
|
||||
layer.open({
|
||||
id: options.id,
|
||||
type: 2,
|
||||
shade: options.shade,
|
||||
title: options.title,
|
||||
fix: false,
|
||||
area: [_width, _height],
|
||||
content: top.contentPath + _url,
|
||||
btn: options.btn,
|
||||
yes: function () {
|
||||
options.callBack(options.id)
|
||||
}, cancel: function () {
|
||||
if (options.cancel != undefined)
|
||||
{
|
||||
options.cancel();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
dialogContent = function (options) {
|
||||
var defaults = {
|
||||
id: null,
|
||||
title: '系统窗口',
|
||||
width: "100px",
|
||||
height: "100px",
|
||||
content: '',
|
||||
btn: ['确认', '关闭'],
|
||||
callBack: null
|
||||
};
|
||||
var options = $.extend(defaults, options);
|
||||
layer.open({
|
||||
id: options.id,
|
||||
type: 1,
|
||||
title: options.title,
|
||||
fix: false,
|
||||
area: [options.width, options.height],
|
||||
content: options.content,
|
||||
btn: options.btn,
|
||||
yes: function () {
|
||||
options.callBack(options.id)
|
||||
}
|
||||
});
|
||||
}
|
||||
dialogAlert = function (content, type) {
|
||||
if (type == -1) {
|
||||
type = 2;
|
||||
}
|
||||
layer.alert(content, {
|
||||
icon: type,
|
||||
title: "提示"
|
||||
});
|
||||
}
|
||||
dialogConfirm = function (content, callBack) {
|
||||
layer.confirm(content, {
|
||||
icon: 7,
|
||||
title: "提示",
|
||||
btn: ['确认', '取消'],
|
||||
}, function () {
|
||||
callBack(true);
|
||||
}, function () {
|
||||
callBack(false)
|
||||
});
|
||||
}
|
||||
dialogMsg = function (content, type) {
|
||||
if (type == -1) {
|
||||
type = 2;
|
||||
}
|
||||
layer.msg(content, { icon: type, time: 4000, shift: 5 });
|
||||
}
|
||||
|
||||
reload = function () {
|
||||
location.reload();
|
||||
return false;
|
||||
}
|
||||
newGuid = function () {
|
||||
var guid = "";
|
||||
for (var i = 1; i <= 32; i++) {
|
||||
var n = Math.floor(Math.random() * 16.0).toString(16);
|
||||
guid += n;
|
||||
if ((i == 8) || (i == 12) || (i == 16) || (i == 20)) guid += "-";
|
||||
}
|
||||
return guid;
|
||||
}
|
||||
formatDate = function (v, format) {
|
||||
if (!v) return "";
|
||||
var d = v;
|
||||
if (typeof v === 'string') {
|
||||
if (v.indexOf("/Date(") > -1)
|
||||
d = new Date(parseInt(v.replace("/Date(", "").replace(")/", ""), 10));
|
||||
else
|
||||
d = new Date(Date.parse(v.replace(/-/g, "/").replace("T", " ").split(".")[0]));//.split(".")[0] 用来处理出现毫秒的情况,截取掉.xxx,否则会出错
|
||||
}
|
||||
var o = {
|
||||
"M+": d.getMonth() + 1, //month
|
||||
"d+": d.getDate(), //day
|
||||
"h+": d.getHours(), //hour
|
||||
"m+": d.getMinutes(), //minute
|
||||
"s+": d.getSeconds(), //second
|
||||
"q+": Math.floor((d.getMonth() + 3) / 3), //quarter
|
||||
"S": d.getMilliseconds() //millisecond
|
||||
};
|
||||
if (/(y+)/.test(format)) {
|
||||
format = format.replace(RegExp.$1, (d.getFullYear() + "").substr(4 - RegExp.$1.length));
|
||||
}
|
||||
for (var k in o) {
|
||||
if (new RegExp("(" + k + ")").test(format)) {
|
||||
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
|
||||
}
|
||||
}
|
||||
return format;
|
||||
};
|
||||
toDecimal = function (num) {
|
||||
if (num == null) {
|
||||
num = "0";
|
||||
}
|
||||
num = num.toString().replace(/\$|\,/g, '');
|
||||
if (isNaN(num))
|
||||
num = "0";
|
||||
sign = (num == (num = Math.abs(num)));
|
||||
num = Math.floor(num * 100 + 0.50000000001);
|
||||
cents = num % 100;
|
||||
num = Math.floor(num / 100).toString();
|
||||
if (cents < 10)
|
||||
cents = "0" + cents;
|
||||
for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3) ; i++)
|
||||
num = num.substring(0, num.length - (4 * i + 3)) + '' +
|
||||
num.substring(num.length - (4 * i + 3));
|
||||
return (((sign) ? '' : '-') + num + '.' + cents);
|
||||
}
|
||||
Date.prototype.DateAdd = function (strInterval, Number) {
|
||||
//y年 q季度 m月 d日 w周 h小时 n分钟 s秒 ms毫秒
|
||||
var dtTmp = this;
|
||||
switch (strInterval) {
|
||||
case 's': return new Date(Date.parse(dtTmp) + (1000 * Number));
|
||||
case 'n': return new Date(Date.parse(dtTmp) + (60000 * Number));
|
||||
case 'h': return new Date(Date.parse(dtTmp) + (3600000 * Number));
|
||||
case 'd': return new Date(Date.parse(dtTmp) + (86400000 * Number));
|
||||
case 'w': return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Number));
|
||||
case 'q': return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number * 3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
|
||||
case 'm': return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
|
||||
case 'y': return new Date((dtTmp.getFullYear() + Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
|
||||
}
|
||||
}
|
||||
request = function (keyValue) {
|
||||
var search = location.search.slice(1);
|
||||
var arr = search.split("&");
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
var ar = arr[i].split("=");
|
||||
if (ar[0] == keyValue) {
|
||||
if (unescape(ar[1]) == 'undefined') {
|
||||
return "";
|
||||
} else {
|
||||
return unescape(ar[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
changeUrlParam = function (url, key, value) {
|
||||
var newUrl = "";
|
||||
var reg = new RegExp("(^|)" + key + "=([^&]*)(|$)");
|
||||
var tmp = key + "=" + value;
|
||||
if (url.match(reg) != null) {
|
||||
newUrl = url.replace(eval(reg), tmp);
|
||||
} else {
|
||||
if (url.match("[\?]")) {
|
||||
newUrl = url + "&" + tmp;
|
||||
}
|
||||
else {
|
||||
newUrl = url + "?" + tmp;
|
||||
}
|
||||
}
|
||||
return newUrl;
|
||||
}
|
||||
|
||||
$.isbrowsername = function () {
|
||||
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
|
||||
var isOpera = userAgent.indexOf("Opera") > -1;
|
||||
if (isOpera) {
|
||||
return "Opera"
|
||||
}; //判断是否Opera浏览器
|
||||
if (userAgent.indexOf("Firefox") > -1) {
|
||||
return "FF";
|
||||
} //判断是否Firefox浏览器
|
||||
if (userAgent.indexOf("Chrome") > -1) {
|
||||
if (window.navigator.webkitPersistentStorage.toString().indexOf('DeprecatedStorageQuota') > -1) {
|
||||
return "Chrome";
|
||||
} else {
|
||||
return "360";
|
||||
}
|
||||
}//判断是否Chrome浏览器//360浏览器
|
||||
if (userAgent.indexOf("Safari") > -1) {
|
||||
return "Safari";
|
||||
} //判断是否Safari浏览器
|
||||
if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
|
||||
return "IE";
|
||||
}; //判断是否IE浏览器
|
||||
}
|
||||
$.download = function (url, data, method) {
|
||||
if (url && data) {
|
||||
data = typeof data == 'string' ? data : jQuery.param(data);
|
||||
var inputs = '';
|
||||
$.each(data.split('&'), function () {
|
||||
var pair = this.split('=');
|
||||
inputs += '<input type="hidden" name="' + pair[0] + '" value="' + pair[1] + '" />';
|
||||
});
|
||||
$('<form action="' + url + '" method="' + (method || 'post') + '">' + inputs + '</form>').appendTo('body').submit().remove();
|
||||
};
|
||||
};
|
||||
$.standTabchange = function (object, forid) {
|
||||
$(".standtabactived").removeClass("standtabactived");
|
||||
$(object).addClass("standtabactived");
|
||||
$('.standtab-pane').css('display', 'none');
|
||||
$('#' + forid).css('display', 'block');
|
||||
}
|
||||
$.isNullOrEmpty = function (obj) {
|
||||
if ((typeof (obj) == "string" && obj == "") || obj == null || obj == undefined) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
$.arrayClone = function (data) {
|
||||
return $.map(data, function (obj) {
|
||||
return $.extend(true, {}, obj);
|
||||
});
|
||||
}
|
||||
$.windowWidth = function () {
|
||||
return $(window).width();
|
||||
}
|
||||
$.windowHeight = function () {
|
||||
return $(window).height();
|
||||
}
|
||||
IsNumber = function (obj) {
|
||||
$("#" + obj).bind("contextmenu", function () {
|
||||
return false;
|
||||
});
|
||||
$("#" + obj).css('ime-mode', 'disabled');
|
||||
$("#" + obj).keypress(function (e) {
|
||||
if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
IsMoney = function (obj) {
|
||||
$("#" + obj).bind("contextmenu", function () {
|
||||
return false;
|
||||
});
|
||||
$("#" + obj).css('ime-mode', 'disabled');
|
||||
$("#" + obj).bind("keydown", function (e) {
|
||||
var key = window.event ? e.keyCode : e.which;
|
||||
if (isFullStop(key)) {
|
||||
return $(this).val().indexOf('.') < 0;
|
||||
}
|
||||
return (isSpecialKey(key)) || ((isNumber(key) && !e.shiftKey));
|
||||
});
|
||||
function isNumber(key) {
|
||||
return key >= 48 && key <= 57
|
||||
}
|
||||
function isSpecialKey(key) {
|
||||
return key == 8 || key == 46 || (key >= 37 && key <= 40) || key == 35 || key == 36 || key == 9 || key == 13
|
||||
}
|
||||
function isFullStop(key) {
|
||||
return key == 190 || key == 110;
|
||||
}
|
||||
}
|
||||
checkedArray = function (id) {
|
||||
var isOK = true;
|
||||
if (id == undefined || id == "" || id == 'null' || id == 'undefined') {
|
||||
isOK = false;
|
||||
dialogMsg('您没有选中任何项,请您选中后再操作。', 0);
|
||||
}
|
||||
return isOK;
|
||||
}
|
||||
checkedRow = function (id) {
|
||||
var isOK = true;
|
||||
if (id == undefined || id == "" || id == 'null' || id == 'undefined') {
|
||||
isOK = false;
|
||||
dialogMsg('您没有选中任何数据项,请选中后再操作!', 0);
|
||||
} else if (id.split(",").length > 1) {
|
||||
isOK = false;
|
||||
dialogMsg('很抱歉,一次只能选择一条记录!', 0);
|
||||
}
|
||||
return isOK;
|
||||
}
|
@ -1,13 +1,13 @@
|
||||
layui.config({
|
||||
base: "/js/"
|
||||
}).use(['form', 'vue', 'ztree', 'layer', 'queryString', 'element', 'jquery', 'table', 'droptree', 'openauth', 'flow/gooflow', 'utils/flowlayout'], function () {
|
||||
}).use(['form', 'vue', 'ztree', 'layer', 'queryString', 'element', 'jquery', 'table', 'droptree', 'openauth', 'flow/gooflow', 'flowlayout'], function () {
|
||||
var form = layui.form, element = layui.element,
|
||||
//layer = (parent == undefined || parent.layer === undefined )? layui.layer : parent.layer,
|
||||
layer = layui.layer,
|
||||
$ = layui.jquery;
|
||||
var table = layui.table;
|
||||
var openauth = layui.openauth;
|
||||
|
||||
var frmdata = {};
|
||||
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
||||
var id = $.getUrlParam("id"); //ID
|
||||
var update = (id !=null && id != '');
|
||||
@ -55,7 +55,7 @@
|
||||
/*=========流程设计(end)=====================*/
|
||||
|
||||
//流程模板选择
|
||||
var frmTree = function () {
|
||||
var tree = function () {
|
||||
var zTreeObj;
|
||||
var setting = {
|
||||
view: { selectedMulti: true },
|
||||
@ -91,10 +91,19 @@
|
||||
$("#FrmId").val(treeNode.FrmId); //把流程模板的表单ID设置成流程实例的表单ID
|
||||
$("#SchemeContent").val(treeNode.SchemeContent);
|
||||
|
||||
|
||||
//预览表单
|
||||
$.get("/forms/previewdata?id=" + treeNode.FrmId, function (data) {
|
||||
$("#frmPreview").html(data);
|
||||
//取表单的结构数据
|
||||
$.getJSON("/forms/get?id=" + treeNode.FrmId, function (data) {
|
||||
if (data.Code != 500) {
|
||||
$("#FrmContentData").val(data.Result.ContentData);
|
||||
$("#FrmContentParse").val(data.Result.ContentParse);
|
||||
$("#frmPreview").html(data.Result.Content);
|
||||
frmdata = arrayToObj(JSON.parse(data.Result.ContentData));
|
||||
$.extend(frmdata, vm.data);
|
||||
vm = new Vue({
|
||||
el: "#formEdit",
|
||||
data:frmdata
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//预览流程
|
||||
@ -122,10 +131,6 @@
|
||||
if (id == null | id == '') return;
|
||||
var node = zTreeObj.getNodeByParam("Id", id, null);
|
||||
zTreeObj.checkNode(node, true, false);
|
||||
|
||||
$.get("/forms/previewdata?id=" + id, function (data) {
|
||||
$("#frmPreview").html(data);
|
||||
});
|
||||
}
|
||||
|
||||
return {
|
||||
@ -140,7 +145,7 @@
|
||||
url = "/FlowInstances/Update";
|
||||
vm.$set('$data', obj);
|
||||
flowDesignPanel.loadData(JSON.parse(obj.SchemeContent));
|
||||
frmTree.setCheck(obj.FrmId);
|
||||
tree.setCheck(obj.FrmId);
|
||||
});
|
||||
} else {
|
||||
vm.$set('$data',
|
||||
@ -157,11 +162,12 @@
|
||||
if (content == -1) {
|
||||
return false; //阻止表单跳转。
|
||||
}
|
||||
var schemecontent = {
|
||||
SchemeContent: JSON.stringify(content)
|
||||
}
|
||||
|
||||
$.extend(data.field, schemecontent);
|
||||
$.extend(data.field,
|
||||
{
|
||||
SchemeContent: JSON.stringify(content),
|
||||
FrmData: JSON.stringify(frmdata)
|
||||
});
|
||||
$.post(url,
|
||||
data.field,
|
||||
function (result) {
|
||||
|
@ -1,6 +1,6 @@
|
||||
layui.config({
|
||||
base: "/js/"
|
||||
}).use(['form', 'vue', 'ztree', 'layer', 'queryString', 'element', 'jquery', 'table', 'droptree', 'openauth', 'flow/gooflow', 'utils/flowlayout'], function () {
|
||||
}).use(['form', 'vue', 'ztree', 'layer', 'queryString', 'element', 'jquery', 'table', 'droptree', 'openauth', 'flow/gooflow', 'flowlayout'], function () {
|
||||
var form = layui.form, element = layui.element,
|
||||
//layer = (parent == undefined || parent.layer === undefined )? layui.layer : parent.layer,
|
||||
layer = layui.layer,
|
||||
|
@ -30,6 +30,7 @@ namespace OpenAuth.Repository.Domain
|
||||
this.SchemeId= string.Empty;
|
||||
this.DbName= string.Empty;
|
||||
this.FrmType= 0;
|
||||
this.FrmData = string.Empty;
|
||||
this.FrmContentData= string.Empty;
|
||||
this.FrmContentParse= string.Empty;
|
||||
this.FrmId= string.Empty;
|
||||
@ -137,5 +138,7 @@ namespace OpenAuth.Repository.Domain
|
||||
/// </summary>
|
||||
public string MakerList { get; set; }
|
||||
|
||||
public string FrmData { get; set; }
|
||||
|
||||
}
|
||||
}
|
@ -58,6 +58,9 @@ namespace OpenAuth.Repository.Mapping
|
||||
Property(t => t.SchemeContent)
|
||||
.HasColumnName("SchemeContent")
|
||||
.IsOptional();
|
||||
Property(t => t.FrmData)
|
||||
.HasColumnName("FrmData")
|
||||
.IsOptional();
|
||||
Property(t => t.SchemeId)
|
||||
.HasColumnName("SchemeId")
|
||||
.HasMaxLength(50)
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?PowerDesigner AppLocale="UTF16" ID="{54F96D9D-A534-4ADF-ADAD-ACFE3C42BC44}" Label="" LastModificationDate="1521190197" Name="OpenAuthDB" Objects="353" Symbols="23" Target="Microsoft SQL Server 2008" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="APM_DATA_MODEL_XML" version="16.6.1.5066"?>
|
||||
<?PowerDesigner AppLocale="UTF16" ID="{54F96D9D-A534-4ADF-ADAD-ACFE3C42BC44}" Label="" LastModificationDate="1521692209" Name="OpenAuthDB" Objects="337" Symbols="24" Target="Microsoft SQL Server 2008" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="APM_DATA_MODEL_XML" version="16.6.1.5066"?>
|
||||
<!-- do not edit this file -->
|
||||
|
||||
<Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">
|
||||
@ -8491,25 +8491,25 @@ Drop=No</a:Settings>
|
||||
</o:Column>
|
||||
<o:Column Id="o142">
|
||||
<a:ObjectID>D9DFF694-358A-4F21-8C43-CF189A3DB03B</a:ObjectID>
|
||||
<a:Name>表单中的字段数据</a:Name>
|
||||
<a:Name>表单中的控件属性描述</a:Name>
|
||||
<a:Code>ContentData</a:Code>
|
||||
<a:CreationDate>1504793917</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1519704375</a:ModificationDate>
|
||||
<a:ModificationDate>1521691854</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Comment>表单中的字段数据</a:Comment>
|
||||
<a:Comment>表单中的控件属性描述</a:Comment>
|
||||
<a:DataType>text</a:DataType>
|
||||
<a:CheckConstraintName>CKC_CONTENTDATA_FORM</a:CheckConstraintName>
|
||||
</o:Column>
|
||||
<o:Column Id="o143">
|
||||
<a:ObjectID>3DEAE97A-7275-4C7F-8525-FE97FDC4A89B</a:ObjectID>
|
||||
<a:Name>表单替换的模板 经过处理</a:Name>
|
||||
<a:Name>表单控件位置模板</a:Name>
|
||||
<a:Code>ContentParse</a:Code>
|
||||
<a:CreationDate>1519704128</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1519704375</a:ModificationDate>
|
||||
<a:ModificationDate>1521691888</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Comment>表单替换的模板 经过处理</a:Comment>
|
||||
<a:Comment>表单控件位置模板</a:Comment>
|
||||
<a:DataType>text</a:DataType>
|
||||
<a:CheckConstraintName>CKC_CONTENTPARSE_FORM</a:CheckConstraintName>
|
||||
</o:Column>
|
||||
@ -9062,7 +9062,7 @@ Drop=No</a:Settings>
|
||||
<a:Code>FlowInstance</a:Code>
|
||||
<a:CreationDate>1504793917</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1521190197</a:ModificationDate>
|
||||
<a:ModificationDate>1521692209</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Comment>工作流流程实例表</a:Comment>
|
||||
<a:CheckConstraintName>CKT_FLOWINSTANCE</a:CheckConstraintName>
|
||||
@ -9184,8 +9184,9 @@ Drop=No</a:Settings>
|
||||
<a:Code>PreviousId</a:Code>
|
||||
<a:CreationDate>1504801296</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1511955755</a:ModificationDate>
|
||||
<a:ModificationDate>1521691829</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Comment>前一个ID</a:Comment>
|
||||
<a:DefaultValue>newid()</a:DefaultValue>
|
||||
<a:DataType>varchar(50)</a:DataType>
|
||||
<a:Length>50</a:Length>
|
||||
@ -9236,43 +9237,56 @@ Drop=No</a:Settings>
|
||||
<a:CheckConstraintName>CKC_DBNAME_FLOWINST</a:CheckConstraintName>
|
||||
</o:Column>
|
||||
<o:Column Id="o193">
|
||||
<a:ObjectID>CB7CCE39-F5D9-440D-A988-245254F9C650</a:ObjectID>
|
||||
<a:Name>表单数据</a:Name>
|
||||
<a:Code>FrmData</a:Code>
|
||||
<a:CreationDate>1521690644</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1521691818</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Comment>表单数据</a:Comment>
|
||||
<a:DataType>text</a:DataType>
|
||||
<a:CheckConstraintName>CKC_FRMDATA_FLOWINST</a:CheckConstraintName>
|
||||
</o:Column>
|
||||
<o:Column Id="o194">
|
||||
<a:ObjectID>48BD95E4-3C6D-41FE-AF8F-5B95D2502165</a:ObjectID>
|
||||
<a:Name>表单类型</a:Name>
|
||||
<a:Code>FrmType</a:Code>
|
||||
<a:CreationDate>1504801424</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1520667609</a:ModificationDate>
|
||||
<a:ModificationDate>1521691829</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Comment>表单类型</a:Comment>
|
||||
<a:DefaultValue>0</a:DefaultValue>
|
||||
<a:DataType>int</a:DataType>
|
||||
<a:Column.Mandatory>1</a:Column.Mandatory>
|
||||
<a:CheckConstraintName>CKC_FRMTYPE_FLOWINST</a:CheckConstraintName>
|
||||
</o:Column>
|
||||
<o:Column Id="o194">
|
||||
<o:Column Id="o195">
|
||||
<a:ObjectID>382AE554-3ECB-431E-8ED9-28C9A9D5F874</a:ObjectID>
|
||||
<a:Name>表单中的字段数据</a:Name>
|
||||
<a:Name>表单中的控件属性描述</a:Name>
|
||||
<a:Code>FrmContentData</a:Code>
|
||||
<a:CreationDate>1521189949</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1521189968</a:ModificationDate>
|
||||
<a:ModificationDate>1521691818</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Comment>表单中的字段数据</a:Comment>
|
||||
<a:Comment>表单中的控件属性描述</a:Comment>
|
||||
<a:DataType>text</a:DataType>
|
||||
<a:CheckConstraintName>CKC_FRMCONTENTDATA_FLOWINST</a:CheckConstraintName>
|
||||
</o:Column>
|
||||
<o:Column Id="o195">
|
||||
<o:Column Id="o196">
|
||||
<a:ObjectID>88F0BD4F-1142-4ECF-B9CB-049BA1ACB4F1</a:ObjectID>
|
||||
<a:Name>表单内容</a:Name>
|
||||
<a:Name>表单控件位置模板</a:Name>
|
||||
<a:Code>FrmContentParse</a:Code>
|
||||
<a:CreationDate>1521189833</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1521189921</a:ModificationDate>
|
||||
<a:ModificationDate>1521691904</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Comment>表单内容</a:Comment>
|
||||
<a:Comment>表单控件位置模板</a:Comment>
|
||||
<a:DataType>text</a:DataType>
|
||||
<a:CheckConstraintName>CKC_FRMCONTENTPARSE_FLOWINST</a:CheckConstraintName>
|
||||
</o:Column>
|
||||
<o:Column Id="o196">
|
||||
<o:Column Id="o197">
|
||||
<a:ObjectID>3D624FF2-259D-48CA-BF04-F8DD5F05C091</a:ObjectID>
|
||||
<a:Name>表单ID</a:Name>
|
||||
<a:Code>FrmId</a:Code>
|
||||
@ -9288,7 +9302,7 @@ Drop=No</a:Settings>
|
||||
<o:PhysicalDomain Ref="o52"/>
|
||||
</c:Domain>
|
||||
</o:Column>
|
||||
<o:Column Id="o197">
|
||||
<o:Column Id="o198">
|
||||
<a:ObjectID>F969B35E-77F6-4658-834C-AB61B18A1B0B</a:ObjectID>
|
||||
<a:Name>流程类型</a:Name>
|
||||
<a:Code>SchemeType</a:Code>
|
||||
@ -9301,7 +9315,7 @@ Drop=No</a:Settings>
|
||||
<a:Length>50</a:Length>
|
||||
<a:CheckConstraintName>CKC_SCHEMETYPE_FLOWINST</a:CheckConstraintName>
|
||||
</o:Column>
|
||||
<o:Column Id="o198">
|
||||
<o:Column Id="o199">
|
||||
<a:ObjectID>06748220-8AED-4D9D-B1BB-11CC17633057</a:ObjectID>
|
||||
<a:Name>有效标志(0暂停,1正常运行,3草稿)</a:Name>
|
||||
<a:Code>Disabled</a:Code>
|
||||
@ -9315,7 +9329,7 @@ Drop=No</a:Settings>
|
||||
<a:Column.Mandatory>1</a:Column.Mandatory>
|
||||
<a:CheckConstraintName>CKC_DISABLED_FLOWINST</a:CheckConstraintName>
|
||||
</o:Column>
|
||||
<o:Column Id="o199">
|
||||
<o:Column Id="o200">
|
||||
<a:ObjectID>13E11AE5-26B8-444A-9210-AC46929DE9BA</a:ObjectID>
|
||||
<a:Name>创建时间</a:Name>
|
||||
<a:Code>CreateDate</a:Code>
|
||||
@ -9329,7 +9343,7 @@ Drop=No</a:Settings>
|
||||
<a:Column.Mandatory>1</a:Column.Mandatory>
|
||||
<a:CheckConstraintName>CKC_CREATEDATE_FLOWINST</a:CheckConstraintName>
|
||||
</o:Column>
|
||||
<o:Column Id="o200">
|
||||
<o:Column Id="o201">
|
||||
<a:ObjectID>11066BC1-6BBB-4A41-AD07-9B47EF4E2B35</a:ObjectID>
|
||||
<a:Name>创建用户主键</a:Name>
|
||||
<a:Code>CreateUserId</a:Code>
|
||||
@ -9345,7 +9359,7 @@ Drop=No</a:Settings>
|
||||
<o:PhysicalDomain Ref="o52"/>
|
||||
</c:Domain>
|
||||
</o:Column>
|
||||
<o:Column Id="o201">
|
||||
<o:Column Id="o202">
|
||||
<a:ObjectID>07BCDA70-08AF-4D4E-83A5-954DB379F72F</a:ObjectID>
|
||||
<a:Name>创建用户</a:Name>
|
||||
<a:Code>CreateUserName</a:Code>
|
||||
@ -9358,7 +9372,7 @@ Drop=No</a:Settings>
|
||||
<a:Length>50</a:Length>
|
||||
<a:CheckConstraintName>CKC_CREATEUSERNAME_FLOWINST</a:CheckConstraintName>
|
||||
</o:Column>
|
||||
<o:Column Id="o202">
|
||||
<o:Column Id="o203">
|
||||
<a:ObjectID>3B6D943B-675D-4216-AF4F-E6B92EF6D791</a:ObjectID>
|
||||
<a:Name>等级</a:Name>
|
||||
<a:Code>FlowLevel</a:Code>
|
||||
@ -9372,7 +9386,7 @@ Drop=No</a:Settings>
|
||||
<a:Column.Mandatory>1</a:Column.Mandatory>
|
||||
<a:CheckConstraintName>CKC_FLOWLEVEL_FLOWINST</a:CheckConstraintName>
|
||||
</o:Column>
|
||||
<o:Column Id="o203">
|
||||
<o:Column Id="o204">
|
||||
<a:ObjectID>F45676E2-9A52-4630-BCCF-60D48F4C2B56</a:ObjectID>
|
||||
<a:Name>实例备注</a:Name>
|
||||
<a:Code>Description</a:Code>
|
||||
@ -9385,7 +9399,7 @@ Drop=No</a:Settings>
|
||||
<a:Length>200</a:Length>
|
||||
<a:CheckConstraintName>CKC_DESCRIPTION_FLOWINST</a:CheckConstraintName>
|
||||
</o:Column>
|
||||
<o:Column Id="o204">
|
||||
<o:Column Id="o205">
|
||||
<a:ObjectID>BCAC5426-B9D9-410F-8F34-38405BF65C51</a:ObjectID>
|
||||
<a:Name>是否完成(0运行中,1运行结束,2被召回,3不同意,4表示被驳回)</a:Name>
|
||||
<a:Code>IsFinish</a:Code>
|
||||
@ -9399,7 +9413,7 @@ Drop=No</a:Settings>
|
||||
<a:Column.Mandatory>1</a:Column.Mandatory>
|
||||
<a:CheckConstraintName>CKC_ISFINISH_FLOWINST</a:CheckConstraintName>
|
||||
</o:Column>
|
||||
<o:Column Id="o205">
|
||||
<o:Column Id="o206">
|
||||
<a:ObjectID>93828232-E3F3-4E75-9088-9554278FEF35</a:ObjectID>
|
||||
<a:Name>执行人</a:Name>
|
||||
<a:Code>MakerList</a:Code>
|
||||
@ -9414,7 +9428,7 @@ Drop=No</a:Settings>
|
||||
</o:Column>
|
||||
</c:Columns>
|
||||
<c:Keys>
|
||||
<o:Key Id="o206">
|
||||
<o:Key Id="o207">
|
||||
<a:ObjectID>D707945D-7815-4853-86EA-F9F300E6218E</a:ObjectID>
|
||||
<a:Name>Id</a:Name>
|
||||
<a:Code>Id</a:Code>
|
||||
@ -9429,7 +9443,7 @@ Drop=No</a:Settings>
|
||||
</o:Key>
|
||||
</c:Keys>
|
||||
<c:Indexes>
|
||||
<o:Index Id="o207">
|
||||
<o:Index Id="o208">
|
||||
<a:ObjectID>1925AD3C-50D1-4A4E-8EBE-201B4DAADA05</a:ObjectID>
|
||||
<a:Name>FlowInstance_PK</a:Name>
|
||||
<a:Code>FlowInstance_PK</a:Code>
|
||||
@ -9439,10 +9453,10 @@ Drop=No</a:Settings>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Unique>1</a:Unique>
|
||||
<c:LinkedObject>
|
||||
<o:Key Ref="o206"/>
|
||||
<o:Key Ref="o207"/>
|
||||
</c:LinkedObject>
|
||||
<c:IndexColumns>
|
||||
<o:IndexColumn Id="o208">
|
||||
<o:IndexColumn Id="o209">
|
||||
<a:ObjectID>9497F7B2-7AFA-4843-89F1-85ECA652423B</a:ObjectID>
|
||||
<a:CreationDate>1504793917</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
@ -9454,18 +9468,9 @@ Drop=No</a:Settings>
|
||||
</o:IndexColumn>
|
||||
</c:IndexColumns>
|
||||
</o:Index>
|
||||
<o:Index Id="o209">
|
||||
<a:ObjectID>B71E44A0-EC46-4EB3-A0BD-6D0BA250B2C4</a:ObjectID>
|
||||
<a:Name>Relationship_25_FK</a:Name>
|
||||
<a:Code>Relationship_25_FK</a:Code>
|
||||
<a:CreationDate>1504793917</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1521189828</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
</o:Index>
|
||||
</c:Indexes>
|
||||
<c:PrimaryKey>
|
||||
<o:Key Ref="o206"/>
|
||||
<o:Key Ref="o207"/>
|
||||
</c:PrimaryKey>
|
||||
</o:Table>
|
||||
<o:Table Id="o45">
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?PowerDesigner AppLocale="UTF16" ID="{54F96D9D-A534-4ADF-ADAD-ACFE3C42BC44}" Label="" LastModificationDate="1521190197" Name="OpenAuthDB" Objects="352" Symbols="35" Target="Microsoft SQL Server 2008" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.6.1.5066"?>
|
||||
<?PowerDesigner AppLocale="UTF16" ID="{54F96D9D-A534-4ADF-ADAD-ACFE3C42BC44}" Label="" LastModificationDate="1521692209" Name="OpenAuthDB" Objects="336" Symbols="21" Target="Microsoft SQL Server 2008" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.6.1.5066"?>
|
||||
<!-- do not edit this file -->
|
||||
|
||||
<Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">
|
||||
@ -8404,24 +8404,24 @@ Drop=No</a:Settings>
|
||||
</o:Column>
|
||||
<o:Column Id="o142">
|
||||
<a:ObjectID>D9DFF694-358A-4F21-8C43-CF189A3DB03B</a:ObjectID>
|
||||
<a:Name>表单中的字段数据</a:Name>
|
||||
<a:Name>表单中的控件属性描述</a:Name>
|
||||
<a:Code>ContentData</a:Code>
|
||||
<a:CreationDate>1504793917</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1519704375</a:ModificationDate>
|
||||
<a:ModificationDate>1521691854</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Comment>表单中的字段数据</a:Comment>
|
||||
<a:Comment>表单中的控件属性描述</a:Comment>
|
||||
<a:DataType>text</a:DataType>
|
||||
</o:Column>
|
||||
<o:Column Id="o143">
|
||||
<a:ObjectID>3DEAE97A-7275-4C7F-8525-FE97FDC4A89B</a:ObjectID>
|
||||
<a:Name>表单替换的模板 经过处理</a:Name>
|
||||
<a:Name>表单控件位置模板</a:Name>
|
||||
<a:Code>ContentParse</a:Code>
|
||||
<a:CreationDate>1519704128</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1519704375</a:ModificationDate>
|
||||
<a:ModificationDate>1521691888</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Comment>表单替换的模板 经过处理</a:Comment>
|
||||
<a:Comment>表单控件位置模板</a:Comment>
|
||||
<a:DataType>text</a:DataType>
|
||||
</o:Column>
|
||||
<o:Column Id="o144">
|
||||
@ -8938,7 +8938,7 @@ Drop=No</a:Settings>
|
||||
<a:Code>FlowInstance</a:Code>
|
||||
<a:CreationDate>1504793917</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1521190197</a:ModificationDate>
|
||||
<a:ModificationDate>1521692209</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Comment>工作流流程实例表</a:Comment>
|
||||
<a:TotalSavingCurrency/>
|
||||
@ -9052,8 +9052,9 @@ Drop=No</a:Settings>
|
||||
<a:Code>PreviousId</a:Code>
|
||||
<a:CreationDate>1504801296</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1511955755</a:ModificationDate>
|
||||
<a:ModificationDate>1521691829</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Comment>前一个ID</a:Comment>
|
||||
<a:DefaultValue>newid()</a:DefaultValue>
|
||||
<a:DataType>varchar(50)</a:DataType>
|
||||
<a:Length>50</a:Length>
|
||||
@ -9100,40 +9101,52 @@ Drop=No</a:Settings>
|
||||
<a:Length>50</a:Length>
|
||||
</o:Column>
|
||||
<o:Column Id="o193">
|
||||
<a:ObjectID>CB7CCE39-F5D9-440D-A988-245254F9C650</a:ObjectID>
|
||||
<a:Name>表单数据</a:Name>
|
||||
<a:Code>FrmData</a:Code>
|
||||
<a:CreationDate>1521690644</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1521691818</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Comment>表单数据</a:Comment>
|
||||
<a:DataType>text</a:DataType>
|
||||
</o:Column>
|
||||
<o:Column Id="o194">
|
||||
<a:ObjectID>48BD95E4-3C6D-41FE-AF8F-5B95D2502165</a:ObjectID>
|
||||
<a:Name>表单类型</a:Name>
|
||||
<a:Code>FrmType</a:Code>
|
||||
<a:CreationDate>1504801424</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1520667609</a:ModificationDate>
|
||||
<a:ModificationDate>1521691829</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Comment>表单类型</a:Comment>
|
||||
<a:DefaultValue>0</a:DefaultValue>
|
||||
<a:DataType>int</a:DataType>
|
||||
<a:Column.Mandatory>1</a:Column.Mandatory>
|
||||
</o:Column>
|
||||
<o:Column Id="o194">
|
||||
<o:Column Id="o195">
|
||||
<a:ObjectID>382AE554-3ECB-431E-8ED9-28C9A9D5F874</a:ObjectID>
|
||||
<a:Name>表单中的字段数据</a:Name>
|
||||
<a:Name>表单中的控件属性描述</a:Name>
|
||||
<a:Code>FrmContentData</a:Code>
|
||||
<a:CreationDate>1521189949</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1521189968</a:ModificationDate>
|
||||
<a:ModificationDate>1521691818</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Comment>表单中的字段数据</a:Comment>
|
||||
<a:DataType>text</a:DataType>
|
||||
</o:Column>
|
||||
<o:Column Id="o195">
|
||||
<a:ObjectID>88F0BD4F-1142-4ECF-B9CB-049BA1ACB4F1</a:ObjectID>
|
||||
<a:Name>表单内容</a:Name>
|
||||
<a:Code>FrmContentParse</a:Code>
|
||||
<a:CreationDate>1521189833</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1521189921</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Comment>表单内容</a:Comment>
|
||||
<a:Comment>表单中的控件属性描述</a:Comment>
|
||||
<a:DataType>text</a:DataType>
|
||||
</o:Column>
|
||||
<o:Column Id="o196">
|
||||
<a:ObjectID>88F0BD4F-1142-4ECF-B9CB-049BA1ACB4F1</a:ObjectID>
|
||||
<a:Name>表单控件位置模板</a:Name>
|
||||
<a:Code>FrmContentParse</a:Code>
|
||||
<a:CreationDate>1521189833</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1521691904</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Comment>表单控件位置模板</a:Comment>
|
||||
<a:DataType>text</a:DataType>
|
||||
</o:Column>
|
||||
<o:Column Id="o197">
|
||||
<a:ObjectID>3D624FF2-259D-48CA-BF04-F8DD5F05C091</a:ObjectID>
|
||||
<a:Name>表单ID</a:Name>
|
||||
<a:Code>FrmId</a:Code>
|
||||
@ -9148,7 +9161,7 @@ Drop=No</a:Settings>
|
||||
<o:PhysicalDomain Ref="o52"/>
|
||||
</c:Domain>
|
||||
</o:Column>
|
||||
<o:Column Id="o197">
|
||||
<o:Column Id="o198">
|
||||
<a:ObjectID>F969B35E-77F6-4658-834C-AB61B18A1B0B</a:ObjectID>
|
||||
<a:Name>流程类型</a:Name>
|
||||
<a:Code>SchemeType</a:Code>
|
||||
@ -9160,7 +9173,7 @@ Drop=No</a:Settings>
|
||||
<a:DataType>varchar(50)</a:DataType>
|
||||
<a:Length>50</a:Length>
|
||||
</o:Column>
|
||||
<o:Column Id="o198">
|
||||
<o:Column Id="o199">
|
||||
<a:ObjectID>06748220-8AED-4D9D-B1BB-11CC17633057</a:ObjectID>
|
||||
<a:Name>有效标志(0暂停,1正常运行,3草稿)</a:Name>
|
||||
<a:Code>Disabled</a:Code>
|
||||
@ -9173,7 +9186,7 @@ Drop=No</a:Settings>
|
||||
<a:DataType>int</a:DataType>
|
||||
<a:Column.Mandatory>1</a:Column.Mandatory>
|
||||
</o:Column>
|
||||
<o:Column Id="o199">
|
||||
<o:Column Id="o200">
|
||||
<a:ObjectID>13E11AE5-26B8-444A-9210-AC46929DE9BA</a:ObjectID>
|
||||
<a:Name>创建时间</a:Name>
|
||||
<a:Code>CreateDate</a:Code>
|
||||
@ -9186,7 +9199,7 @@ Drop=No</a:Settings>
|
||||
<a:DataType>datetime</a:DataType>
|
||||
<a:Column.Mandatory>1</a:Column.Mandatory>
|
||||
</o:Column>
|
||||
<o:Column Id="o200">
|
||||
<o:Column Id="o201">
|
||||
<a:ObjectID>11066BC1-6BBB-4A41-AD07-9B47EF4E2B35</a:ObjectID>
|
||||
<a:Name>创建用户主键</a:Name>
|
||||
<a:Code>CreateUserId</a:Code>
|
||||
@ -9201,7 +9214,7 @@ Drop=No</a:Settings>
|
||||
<o:PhysicalDomain Ref="o52"/>
|
||||
</c:Domain>
|
||||
</o:Column>
|
||||
<o:Column Id="o201">
|
||||
<o:Column Id="o202">
|
||||
<a:ObjectID>07BCDA70-08AF-4D4E-83A5-954DB379F72F</a:ObjectID>
|
||||
<a:Name>创建用户</a:Name>
|
||||
<a:Code>CreateUserName</a:Code>
|
||||
@ -9213,7 +9226,7 @@ Drop=No</a:Settings>
|
||||
<a:DataType>varchar(50)</a:DataType>
|
||||
<a:Length>50</a:Length>
|
||||
</o:Column>
|
||||
<o:Column Id="o202">
|
||||
<o:Column Id="o203">
|
||||
<a:ObjectID>3B6D943B-675D-4216-AF4F-E6B92EF6D791</a:ObjectID>
|
||||
<a:Name>等级</a:Name>
|
||||
<a:Code>FlowLevel</a:Code>
|
||||
@ -9226,7 +9239,7 @@ Drop=No</a:Settings>
|
||||
<a:DataType>int</a:DataType>
|
||||
<a:Column.Mandatory>1</a:Column.Mandatory>
|
||||
</o:Column>
|
||||
<o:Column Id="o203">
|
||||
<o:Column Id="o204">
|
||||
<a:ObjectID>F45676E2-9A52-4630-BCCF-60D48F4C2B56</a:ObjectID>
|
||||
<a:Name>实例备注</a:Name>
|
||||
<a:Code>Description</a:Code>
|
||||
@ -9238,7 +9251,7 @@ Drop=No</a:Settings>
|
||||
<a:DataType>varchar(200)</a:DataType>
|
||||
<a:Length>200</a:Length>
|
||||
</o:Column>
|
||||
<o:Column Id="o204">
|
||||
<o:Column Id="o205">
|
||||
<a:ObjectID>BCAC5426-B9D9-410F-8F34-38405BF65C51</a:ObjectID>
|
||||
<a:Name>是否完成(0运行中,1运行结束,2被召回,3不同意,4表示被驳回)</a:Name>
|
||||
<a:Code>IsFinish</a:Code>
|
||||
@ -9251,7 +9264,7 @@ Drop=No</a:Settings>
|
||||
<a:DataType>int</a:DataType>
|
||||
<a:Column.Mandatory>1</a:Column.Mandatory>
|
||||
</o:Column>
|
||||
<o:Column Id="o205">
|
||||
<o:Column Id="o206">
|
||||
<a:ObjectID>93828232-E3F3-4E75-9088-9554278FEF35</a:ObjectID>
|
||||
<a:Name>执行人</a:Name>
|
||||
<a:Code>MakerList</a:Code>
|
||||
@ -9265,7 +9278,7 @@ Drop=No</a:Settings>
|
||||
</o:Column>
|
||||
</c:Columns>
|
||||
<c:Keys>
|
||||
<o:Key Id="o206">
|
||||
<o:Key Id="o207">
|
||||
<a:ObjectID>D707945D-7815-4853-86EA-F9F300E6218E</a:ObjectID>
|
||||
<a:Name>Id</a:Name>
|
||||
<a:Code>Id</a:Code>
|
||||
@ -9279,7 +9292,7 @@ Drop=No</a:Settings>
|
||||
</o:Key>
|
||||
</c:Keys>
|
||||
<c:Indexes>
|
||||
<o:Index Id="o207">
|
||||
<o:Index Id="o208">
|
||||
<a:ObjectID>1925AD3C-50D1-4A4E-8EBE-201B4DAADA05</a:ObjectID>
|
||||
<a:Name>FlowInstance_PK</a:Name>
|
||||
<a:Code>FlowInstance_PK</a:Code>
|
||||
@ -9289,10 +9302,10 @@ Drop=No</a:Settings>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
<a:Unique>1</a:Unique>
|
||||
<c:LinkedObject>
|
||||
<o:Key Ref="o206"/>
|
||||
<o:Key Ref="o207"/>
|
||||
</c:LinkedObject>
|
||||
<c:IndexColumns>
|
||||
<o:IndexColumn Id="o208">
|
||||
<o:IndexColumn Id="o209">
|
||||
<a:ObjectID>9497F7B2-7AFA-4843-89F1-85ECA652423B</a:ObjectID>
|
||||
<a:CreationDate>1504793917</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
@ -9304,18 +9317,9 @@ Drop=No</a:Settings>
|
||||
</o:IndexColumn>
|
||||
</c:IndexColumns>
|
||||
</o:Index>
|
||||
<o:Index Id="o209">
|
||||
<a:ObjectID>B71E44A0-EC46-4EB3-A0BD-6D0BA250B2C4</a:ObjectID>
|
||||
<a:Name>Relationship_25_FK</a:Name>
|
||||
<a:Code>Relationship_25_FK</a:Code>
|
||||
<a:CreationDate>1504793917</a:CreationDate>
|
||||
<a:Creator>Administrator</a:Creator>
|
||||
<a:ModificationDate>1521189828</a:ModificationDate>
|
||||
<a:Modifier>Administrator</a:Modifier>
|
||||
</o:Index>
|
||||
</c:Indexes>
|
||||
<c:PrimaryKey>
|
||||
<o:Key Ref="o206"/>
|
||||
<o:Key Ref="o207"/>
|
||||
</c:PrimaryKey>
|
||||
</o:Table>
|
||||
<o:Table Id="o45">
|
||||
|
Loading…
Reference in New Issue
Block a user