Files
HTCloud/HT.Cloud.Web/Areas/SystemManage/Views/Flowscheme/NodeInfo.cshtml
2023-03-03 16:07:50 +08:00

315 lines
14 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.

@{
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>