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

247 lines
11 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="layui-input-item layui-hide" id="divInputTemplate">
<label class="layui-form-label required">条件规则</label>
<div class="layui-input-block" style="padding-right: 70px;">
<div class="layui-input-block" style="margin-left:0px">
<select id="ComparesCondition" name="ComparesCondition" lay-verify="required" lay-search>
<option value="and" selected>并且</option>
<option value="or">或者</option>
</select>
</div>
<div class="layui-input-inline" style="width:145px">
<select id="ComparesFieldName" name="ComparesFieldName" lay-verify="required" lay-search>
<option value="" selected>请选择</option>
</select>
</div>
<div class="layui-input-inline" style="width:100px">
<select id="ComparesOperation" name="ComparesOperation" lay-verify="required" lay-search>
<option value="" selected>请选择</option>
<option value=">">></option>
<option value=">=">>=</option>
<option value="<"><</option>
<option value="<="><=</option>
<option value="=">=</option>
<option value="!=">!=</option>
<option value="in">in</option>
<option value="not in">not in</option>
</select>
</div>
<div class="layui-input-inline" style="width:180px">
<input type="text" id="ComparesName" name="ComparesName" class="layui-input" lay-verify="required" value="" placeholder="请输入值">
<input type="text" id="ComparesValue" name="ComparesValue" lay-verify="required" class="layui-input layui-hide">
</div>
<button class="layui-btn layui-btn-danger" style="position: absolute;top: 0;right: 6px;cursor: pointer;" onclick="deleteRule('divInputTemplate')"><i class="layui-icon">&#xe67e;</i></button>
<button class="layui-btn layui-btn-primary" style="position: absolute;top: 0;right: 6px;cursor: pointer;margin-top:40px" onclick="search(searchCout)">...</button>
</div>
</div>
<div class="layuimini-container">
<div class="layuimini-main">
<div class="layui-form layuimini-form" lay-filter="adminform">
<div class="layui-form-item">
<label class="layui-form-label">连线标识</label>
<div class="layui-input-block">
<input type="text" name="LineCode" id="LineCode" 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="LineName" id="LineName" 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">
<input type="text" name="NodeForm" id="NodeForm" readonly lay-verify="required"
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="NodeTo" id="NodeTo" readonly lay-verify="required"
class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">连线条件</label>
<div class="layui-input-block" style="padding-right: 70px;">
<button id="NF-add" class="layui-btn"><i class="layui-icon">&#xe654;</i></button>
</div>
</div>
<div id="ruledata">
</div>
</div>
</div>
</div>
<script>
var FlowDesignObject, valueList;
function initForm(data) {
FlowDesignObject = data.FlowDesignObject;
valueList = data.valueList;
}
layui.use(['form', 'layer', 'element', 'jquery', 'common', 'optimizeSelectOption'], function () {
var layer = layui.layer,
$ = layui.jquery,
common = layui.common;
var form = layui.form;
var Method = $.request("Method");
//从flowschemes.js进入的节点信息
var line = FlowDesignObject;
var valuelist = valueList;
$('#ComparesFieldName').append($("<option></option>").val("申请人").html("申请人"));
$('#ComparesFieldName').append($("<option></option>").val("所属部门").html("所属部门"));
for (var i = 0; i < valuelist.length; i++) {
$('#ComparesFieldName').append($("<option></option>").val(valuelist[i]).html(valuelist[i]));
}
var tmp = {
LineName: line.name,
LineCode: line.id,//默认的code
NodeForm: line.from,
NodeTo: line.to,
ComparesOperation0: "",
ComparesFieldName0: "",
ComparesValue0: "",
ComparesName0: "",
ComparesCondition0: "and",
};
var cout = 0;
$(document).on('click', '#NF-add', function () {
var target = $('#ruledata');
var html = $("#divInputTemplate").prop("outerHTML");
html = html.replace(/ComparesFieldName/g, "ComparesFieldName" + cout); // 替换多个
html = html.replace(/条件规则/g, "条件规则" + (cout + 1)); // 替换多个
html = html.replace(/ComparesOperation/g, "ComparesOperation" + cout); // 替换多个
html = html.replace(/ComparesValue/g, "ComparesValue" + cout); // 替换多个
html = html.replace(/ComparesName/g, "ComparesName" + cout); // 替换多个
html = html.replace(/ComparesCondition/g, "ComparesCondition" + cout); // 替换多个
html = html.replace(/divInputTemplate/g, "divInput" + cout);
html = html.replace(/searchCout/g, cout);
var obj = $(html);
obj.removeClass("layui-hide");
obj.appendTo(target);
cout++;
form.render();
});
//初始化节点设置信息
if (!!line.Compares) {
for (var i = 0; i < line.Compares.length; i++) {
$('#NF-add').click();
tmp['ComparesOperation' + i] = line.Compares[i].Operation;
tmp['ComparesFieldName' + i] = line.Compares[i].FieldName;
tmp['ComparesValue' + i] = line.Compares[i].Value;
tmp['ComparesName' + i] = line.Compares[i].Name;
tmp['ComparesCondition' + i] = line.Compares[i].Condition;
}
}
else {
if (Method != "Details") {
$('#NF-add').click();
}
}
if (Method == "Details") {
var readForm = layui.$('[lay-filter="adminform"]');
readForm.find('button').prop('disabled', true);
common.setReadOnly('adminform');
}
common.val('adminform', tmp);
form.render(); //重新渲染防止radio/select等失效
wcLoading.close();
//select验证
form.verify({
required: function (value, item) {
var msg = "必填项不能为空";
value = $.trim(value);
var isEmpty = !value || value.length < 1;
// 当前验证元素是select且为空时,将页面定位至layui渲染的select处或自定义想定位的位置
if (item.tagName == 'SELECT' && isEmpty) {
$("html").animate({
scrollTop: $(item).siblings(".layui-form-select").offset().top - 74
}, 50);
}
if (isEmpty) {
return msg;
}
}
});
//提供给上父页面调用
getVal = function () {
tmp.LineName = $('#LineName').val();
var result = {
LineName: tmp.LineName,
LineCode: tmp.LineCode,
Compares: [],
};
for (var i = 0; i < cout; i++) {
var FieldName = $('#ComparesFieldName' + i).val();
if (!FieldName) {
continue;
}
var Operation = $('#ComparesOperation' + i).val();
var Value = $('#ComparesValue' + i).val();
var Name = $('#ComparesName' + i).val();
var Condition = $('#ComparesCondition' + i).val();
if (!Value) {
Value = Name;
}
var temp = { //节点指定操作人
FieldName: FieldName,
Operation: Operation,
Value: Value,
Name: Name,
Condition: Condition,
};
result.Compares.push(temp);
}
return result;
}
})
function deleteRule(data) {
var obj = document.getElementById(data);//建议使用ID
if (obj != null) {
obj.parentNode.removeChild(obj);
}
layui.use(['jquery', 'form'], function () {
layui.form.render();
});
}
function search(data) {
var fields = $('#ComparesFieldName' + data).val();
if (fields != '申请人' && fields != '所属部门') {
return false;
}
$('#ComparesName' + data).val(null);
$('#ComparesValue' + data).val(null);
layui.use(['jquery', 'form', 'common'], function () {
var form = layui.form,
$ = layui.$,
common = layui.common;
//不同弹窗
if (fields == '申请人') {
common.modalOpen({
title: "选择用户",
url: "/SystemOrganize/User/AddForm?name=" + "ComparesName" + data + "&value=" + "ComparesValue" + data,
width: "650px",
height: "600px",
});
}
else if (fields == '所属部门') {
common.modalOpen({
title: "选择组织",
url: "/SystemOrganize/Organize/AddForm?name=" + "ComparesName" + data + "&value=" + "ComparesValue" + data,
width: "650px",
height: "600px",
});
}
else {
return false;
}
});
}
</script>