315 lines
14 KiB
Plaintext
315 lines
14 KiB
Plaintext
@{
|
||
ViewBag.Title = "Form";
|
||
Layout = "~/Views/Shared/_Form.cshtml";
|
||
}
|
||
<div class="layuimini-container ">
|
||
<div class="layuimini-main">
|
||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||
<div class="layui-tab layui-tab-brief" lay-filter="tab" style="margin: 0px">
|
||
<ul class="layui-tab-title">
|
||
<li class="layui-this">基本信息</li>
|
||
<li>执行人</li>
|
||
</ul>
|
||
<div class="layui-tab-content">
|
||
<div class="layui-tab-item layui-show">
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">节点标识</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="NodeCode" id="NodeCode" readonly lay-verify="required"
|
||
placeholder="流程编号" autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">节点名称</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="NodeName" id="NodeName" required lay-verify="required"
|
||
placeholder="节点名称" autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">驳回类型</label>
|
||
<div class="layui-input-block">
|
||
<select id="NodeRejectType" lay-filter="NodeRejectType" name="NodeRejectType" required lay-verify="required">
|
||
<option value="0">上一步</option>
|
||
<option value="1">第一步</option>
|
||
@*<option value="2">指定步骤</option>
|
||
<option value="3">不处理</option>*@
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">会签方式</label>
|
||
<div class="layui-input-block">
|
||
<select id="NodeConfluenceType" lay-filter="NodeConfluenceType" name="NodeConfluenceType">
|
||
<option value="all">全部分支都同意</option>
|
||
<option value="one">至少一个分支同意</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">三方系统回调URL</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="ThirdPartyUrl" id="ThirdPartyUrl"
|
||
placeholder="http://www.xxxxxx.com/api/workflow/execute_callback" autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">允许修改表单字段</label>
|
||
<div class="layui-input-block">
|
||
<div id="CanWriteFormItemIds" name="CanWriteFormItemIds">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-tab-item">
|
||
<div class="layui-form-item">
|
||
<div class="layui-input-block" style="margin-left: 0px;">
|
||
<select id="NodeDesignate" lay-filter="NodeDesignate" name="NodeDesignate">
|
||
<option value="ALL_USER">所有用户</option>
|
||
<option value="SPECIAL_USER">指定用户</option>
|
||
<option value="SPECIAL_ROLE">指定角色</option>
|
||
<option value="RUNTIME_SPECIAL_ROLE">运行时指定角色</option>
|
||
<option value="RUNTIME_SPECIAL_USER">运行时指定用户</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<div class="layui-hide" id="specialrole">
|
||
<input id="currentDepart" name="currentDepart" type="checkbox" value="true" title="当前部门">
|
||
<div class="layui-input-block" style="margin-left: 0px;">
|
||
<table class="layui-hide" id="RoleId" lay-filter="RoleTableFilter"></table>
|
||
</div>
|
||
</div>
|
||
<div class="layui-hide" id="specialuser">
|
||
<div class="layui-input-block" style="margin-left: 0px;">
|
||
<table class="layui-hide" id="UserId" lay-filter="UserTableFilter"></table>
|
||
</div>
|
||
</div>
|
||
<div class="layui-hide" id="alluser">
|
||
<div class="layui-input-block" style="margin-left: 0px;">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<script>
|
||
var FlowDesignObject, valueList;
|
||
function initForm(data) {
|
||
FlowDesignObject = data.FlowDesignObject;
|
||
valueList = data.valueList;
|
||
}
|
||
layui.use(['form', 'commonTable', 'element', 'table', 'jquery', 'common', 'optimizeSelectOption', 'xmSelect'], function () {
|
||
var commonTable = layui.commonTable,
|
||
$ = layui.jquery,
|
||
table = layui.table,
|
||
common = layui.common,
|
||
element = layui.element,
|
||
xmSelect = layui.xmSelect,
|
||
form = layui.form;
|
||
var Method = $.request("Method");
|
||
//从flowschemes.js进入的节点信息
|
||
var node = FlowDesignObject;
|
||
var tmp = {
|
||
NodeName: node.name,
|
||
NodeCode: node.id,//默认的code
|
||
NodeRejectType: "1",
|
||
NodeDesignate: "ALL_USER",
|
||
NodeConfluenceType: "all",
|
||
ThirdPartyUrl: "",
|
||
CanWriteFormItemIds:[]
|
||
};
|
||
$('#specialrole').addClass("layui-hide");
|
||
$('#specialuser').addClass("layui-hide");
|
||
$('#alluser').removeClass("layui-hide");
|
||
var userids = '';
|
||
var roleids = '';
|
||
//初始化节点设置信息
|
||
if (node.setInfo != null) {
|
||
tmp = Object.assign({}, tmp, node.setInfo);
|
||
if (tmp.NodeDesignate === "SPECIAL_USER" && tmp.NodeDesignateData.users.length > 0) {
|
||
form.val("adminform", {
|
||
"NodeDesignate": 'SPECIAL_USER' //对应radio的value
|
||
});
|
||
userids = tmp.NodeDesignateData.users;
|
||
$('#specialrole').addClass("layui-hide");
|
||
$('#specialuser').removeClass("layui-hide");
|
||
$('#alluser').addClass("layui-hide");
|
||
|
||
|
||
} else if (tmp.NodeDesignate === "SPECIAL_ROLE" && tmp.NodeDesignateData.roles.length > 0) {
|
||
form.val("adminform", {
|
||
"NodeDesignate": 'SPECIAL_ROLE' //对应radio的value
|
||
});
|
||
roleids = tmp.NodeDesignateData.roles;
|
||
$('#specialrole').removeClass("layui-hide");
|
||
$('#specialuser').addClass("layui-hide");
|
||
$('#alluser').addClass("layui-hide");
|
||
form.val("adminform", {
|
||
"currentDepart": tmp.NodeDesignateData.currentDepart
|
||
});
|
||
}
|
||
|
||
}
|
||
var xmData=[];
|
||
for (var i = 0; i < valueList.length; i++)
|
||
{
|
||
xmData.push({
|
||
value:i,
|
||
name: valueList[i]
|
||
});
|
||
}
|
||
var demo1 = xmSelect.render({
|
||
el: '#CanWriteFormItemIds',
|
||
data: xmData,
|
||
model: {
|
||
type: 'relative', //默认 absolute
|
||
},
|
||
filterable: true,
|
||
toolbar: { show: true }
|
||
});
|
||
if (!!tmp.CanWriteFormItemIds) {
|
||
demo1.setValue(tmp.CanWriteFormItemIds);
|
||
}
|
||
commonTable.rendertable({
|
||
elem: '#UserId',
|
||
id: 'UserId',
|
||
url: '/SystemOrganize/User/GetListJson?ids=' + (!!userids ? userids : ""),
|
||
page: false,
|
||
height: 'full-120',
|
||
toolbar: false,//工具栏
|
||
|
||
cols: [[
|
||
{ type: 'checkbox' },
|
||
|
||
{ field: 'F_Account', title: '账户', width: 120, sort: true },
|
||
{ field: 'F_RealName', title: '姓名', width: 120, sort: true },
|
||
{
|
||
field: 'F_CompanyName', title: '公司名称', width: 120, sort: true
|
||
},
|
||
{
|
||
field: 'F_OrganizeName', title: '部门名称', width: 120, sort: true
|
||
},
|
||
{
|
||
field: 'F_EnabledMark', title: '状态', width: 100, sort: true,
|
||
templet: function (d) {
|
||
if (d.F_EnabledMark == true) {
|
||
return "<span class=\"layui-bg-green\">正常</span>";
|
||
} else {
|
||
return "<span class=\"layui-bg-red\">禁用</span>";
|
||
}
|
||
}
|
||
}
|
||
]]
|
||
});
|
||
commonTable.rendertable({
|
||
elem: '#RoleId',
|
||
id: 'RoleId',
|
||
url: '/SystemOrganize/Role/GetSelectJson?ids=' + (!!roleids ? roleids : ""),
|
||
page: false,
|
||
height: 'full-160',
|
||
toolbar: false,//工具栏
|
||
|
||
cols: [[
|
||
{ type: 'checkbox' },
|
||
|
||
{ field: 'F_FullName', title: '角色名称', width: 120, sort: true },
|
||
{
|
||
field: 'F_Type', title: '角色类型', width: 120, sort: true,
|
||
templet: function (d) {
|
||
return top.clients.dataItems["RoleType"][d.F_Type] == undefined ? "" : top.clients.dataItems["RoleType"][d.F_Type];
|
||
}
|
||
},
|
||
{
|
||
field: 'F_CompanyName', title: '归属公司', width: 120, sort: true
|
||
},
|
||
{
|
||
field: 'F_EnabledMark', title: '状态', width: 100, sort: true,
|
||
templet: function (d) {
|
||
if (d.F_EnabledMark == true) {
|
||
return "<span class=\"layui-bg-green\">正常</span>";
|
||
} else {
|
||
return "<span class=\"layui-bg-red\">禁用</span>";
|
||
}
|
||
}
|
||
}
|
||
]]
|
||
});
|
||
common.val('adminform', tmp);
|
||
if (Method == "Details") {
|
||
common.setReadOnly('adminform');
|
||
}
|
||
form.render(); //重新渲染,防止radio/select等失效
|
||
wcLoading.close();
|
||
form.on('select(NodeRejectType)',
|
||
function (data) {
|
||
tmp.NodeRejectType = data.value;
|
||
});
|
||
|
||
form.on('select(NodeConfluenceType)',
|
||
function (data) {
|
||
tmp.NodeConfluenceType = data.value;
|
||
});
|
||
|
||
form.on('select(NodeDesignate)',
|
||
function (data) {
|
||
tmp.NodeDesignate = data.value;
|
||
if (data.value === "SPECIAL_USER") {
|
||
$('#specialrole').addClass("layui-hide");
|
||
$('#specialuser').removeClass("layui-hide");
|
||
$('#alluser').addClass("layui-hide");
|
||
} else if (data.value === "SPECIAL_ROLE") {
|
||
$('#specialrole').removeClass("layui-hide");
|
||
$('#specialuser').addClass("layui-hide");
|
||
$('#alluser').addClass("layui-hide");
|
||
}
|
||
else {
|
||
$('#specialrole').addClass("layui-hide");
|
||
$('#specialuser').addClass("layui-hide");
|
||
$('#alluser').removeClass("layui-hide");
|
||
}
|
||
|
||
});
|
||
|
||
//提供给上父页面调用
|
||
getVal = function () {
|
||
var users = [];
|
||
var roles = [];
|
||
if (tmp.NodeDesignate === "SPECIAL_USER") {
|
||
var checkStatus = table.checkStatus("UserId").data;
|
||
for (var i = 0; i < checkStatus.length; i++) {
|
||
users.push(checkStatus[i].F_Id);
|
||
}
|
||
} else if (tmp.NodeDesignate === "SPECIAL_ROLE") {
|
||
var checkStatus = table.checkStatus("RoleId").data;
|
||
for (var i = 0; i < checkStatus.length; i++) {
|
||
roles.push(checkStatus[i].F_Id);
|
||
}
|
||
}
|
||
tmp.NodeRejectType = $('#NodeRejectType').val();
|
||
tmp.NodeConfluenceType = $('#NodeConfluenceType').val();
|
||
tmp.ThirdPartyUrl = $('#ThirdPartyUrl').val();
|
||
tmp.NodeName = $('#NodeName').val();
|
||
var vals = demo1.getValue("value");
|
||
tmp.CanWriteFormItemIds = vals;
|
||
var result = {
|
||
NodeDesignateData: { //节点指定操作人
|
||
users: users,
|
||
roles: roles,
|
||
orgs: [],
|
||
currentDepart: $('#currentDepart').is(':checked') ? true : false,
|
||
}
|
||
};
|
||
// $.extend(result, vm.tmp);
|
||
result = $.extend(tmp, result);
|
||
return result;
|
||
}
|
||
})
|
||
</script>
|