提交 08850f31 编写于 作者: doc_wei's avatar doc_wei

流程属性录入功能完成

上级 6ac83484
......@@ -55,5 +55,5 @@ layui.config({
form.render();
exports('classServerAttrList', {});
exports('attrList', {});
});
\ No newline at end of file
......@@ -38,7 +38,7 @@ layui.config({
pageUrl: '../../tpl/classServer/classServerDetails.html'
}, {
title: '属性信息',
pageUrl: '../../tpl/classServer/classServerAttrList.html'
pageUrl: '../../tpl/attr/attrList.html'
}];
if (chooseTreeNode.classMation.flowable) {
......@@ -48,7 +48,7 @@ layui.config({
});
defaultList.push({
title: '流程属性信息',
pageUrl: '../../tpl/classServer/classServerProcessAttrList.html'
pageUrl: '../../tpl/processAttr/processAttrList.html'
});
}
......
var objectId = "";
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var $ = layui.$,
form = layui.form,
table = layui.table;
objectId = GetUrlParam("objectId");
if (isNull(objectId)) {
winui.window.msg("请传入适用对象信息", {icon: 2, time: 2000});
return false;
}
table.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: reqBasePath + '',
where: {className: objectId},
even: true,
page: false,
limits: getLimits(),
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' },
{ field: 'attrKey', title: '属性', align: 'left', width: 150 },
{ field: 'name', title: '名称', align: 'left', width: 120 },
{ field: 'attrType', title: '类型', align: 'left', width: 120 },
{ field: 'remark', title: '备注', align: 'left', width: 150 },
{ field: 'required', title: '限制条件', align: 'left', width: 140 },
{ field: 'modelAttribute', title: '是否模型属性', align: 'center', width: 100, templet: function (d) {
if (d.modelAttribute) {
return '';
}
return '';
}},
{ field: 'whetherInputParams', title: '是否作为入参', align: 'center', width: 100, templet: function (d) {
if (d.whetherInputParams) {
return '';
}
return '';
}}
]],
done: function(json) {
matchingLanguage();
}
});
form.render();
exports('classServerProcessAttrList', {});
});
\ No newline at end of file
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'form', 'soulTable', 'table'], function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form,
table = layui.table,
soulTable = layui.soulTable;
var tableDataList = new Array();
var rowNum = 1;
$("#tableBox").hide();
AjaxPostUtil.request({url: reqBasePath + "queryAttrDefinitionList", params: {className: parent.objectId}, type: 'json', method: "POST", callback: function (json) {
$("#attrKey").html(getDataUseHandlebars(`<option value="">全部</option>{{#each rows}}<option value="{{attrKey}}">{{name}}</option>{{/each}}`, json));
}, async: false});
skyeyeClassEnumUtil.showEnumDataListByClassName("dsFormShowType", 'select', "showType", '', form);
skyeyeClassEnumUtil.showEnumDataListByClassName("widthScale", 'select', "proportion", '', form);
var alignmentData = skyeyeClassEnumUtil.getEnumDataListByClassName("alignment");
form.on('select(attrKey)', function(data) {
buildTable();
});
form.on('select(showType)', function(data) {
var value = data.value;
if (value == 5) {
$("#tableBox").show();
} else {
$("#tableBox").hide();
}
buildTable();
});
function buildTable() {
if ($("#showType").val() == 5 && !isNull($("#attrKey").val())) {
tableDataList = new Array();
var params = {
className: parent.objectId,
attrKey: $("#attrKey").val()
};
var childAttr = [];
AjaxPostUtil.request({url: reqBasePath + "queryChildAttrDefinitionList", params: params, type: 'json', method: "POST", callback: function (json) {
childAttr = [].concat(json.rows);
}, async: false});
table.render({
id: 'messageTable',
elem: '#messageTable',
method: 'get',
data: tableDataList,
even: true,
page: false,
rowDrag: {
trigger: 'row',
done: function(obj) {}
},
cols: [[
{ type: 'checkbox', align: 'center' },
{ field: 'attrKey', title: '属性', align: 'left', width: 150, templet: function (d) {
var _html = `<select lay-filter="tableSelect" lay-search="" id="attrKey${d.id}" cus-id="${d.id}" win-verify="required"><option value="">全部</option>`;
$.each(childAttr, function (i, item) {
if (item.attrKey == d.attrKey) {
_html += `<option value="${item.attrKey}" selected="selected">${item.name}</option>`;
} else {
_html += `<option value="${item.attrKey}">${item.name}</option>`;
}
});
_html += `</select>`;
return _html;
}},
{ field: 'align', title: '对齐方式', align: 'left', width: 120, templet: function (d) {
var _html = `<select lay-filter="tableSelect" lay-search="" id="align${d.id}" cus-id="${d.id}" win-verify="required"><option value="">全部</option>`;
$.each(alignmentData.rows, function (i, item) {
if (item.id == d.align) {
_html += `<option value="${item.id}" selected="selected">${item.name}</option>`;
} else {
_html += `<option value="${item.id}">${item.name}</option>`;
}
});
_html += `</select>`;
return _html;
}},
{ field: 'width', title: '宽度', align: 'left', width: 120, templet: function (d) {
return `<input type="text" id="width${d.id}" placeholder="请填写宽度" cus-id="${d.id}" class="layui-input tableInput" win-verify="required|number" ` +
`value="` + (isNull(d.width) ? "" : d.width) + `"/>`;
}},
{ field: 'templet', title: '脚本', align: 'left', width: 240, templet: function (d) {
return `<input type="text" id="templet${d.id}" placeholder="请填写脚本" cus-id="${d.id}" class="layui-input tableInput" ` +
`value="` + (isNull(d.templet) ? "" : d.templet) + `"/>`;
}},
]],
done: function(json) {
matchingLanguage();
if ($(`div[lay-id='messageTable']`).find('.place-holder').length == 0) {
$(`div[lay-id='messageTable']`).find('.layui-table-body').append('<div class="place-holder"></div>');
}
soulTable.render(this);
}
});
} else {
tableDataList = new Array();
table.reloadData("messageTable", {data: tableDataList});
}
}
form.on('select(tableSelect)', function(data) {
var id = data.elem.id;
buildData($(`#${id}`))
});
$("body").on("input", ".tableInput", function () {
buildData($(this))
});
$("body").on("change", ".tableInput", function () {
buildData($(this))
});
function buildData(_this) {
var id = _this.attr('cus-id');
var key = _this.attr('id').replace(id, '');
$.each(tableDataList, function (j, item) {
if (item.id == id) {
item[key] = _this.val();
}
});
}
matchingLanguage();
form.render();
form.on('submit(formAddBean)', function (data) {
if (winui.verifyForm(data.elem)) {
if ($("#showType").val() == 5) {
if (tableDataList.length == 0) {
winui.window.msg('请选择表格属性.', {icon: 2, time: 2000});
return false;
}
$.each(tableDataList, function (i, item) {
item.id = null;
item.className = parent.objectId;
item.parentAttrKey = $("#attrKey").val();
item.orderBy = i + 1;
item.actFlowId = parent.$("#actFlowId").val();
});
} else {
tableDataList = new Array();
}
var params = {
className: parent.objectId,
attrKey: $("#attrKey").val(),
orderBy: $("#orderBy").val(),
showType: $("#showType").val(),
attrTransformTableList: JSON.stringify(tableDataList),
proportion: $("#proportion").val(),
actFlowId: parent.$("#actFlowId").val(),
};
AjaxPostUtil.request({url: reqBasePath + "writeAttrTransform", params: params, type: 'json', method: "POST", callback: function (json) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
}
return false;
});
$("body").on("click", "#addRow", function() {
addRow();
});
$("body").on("click", "#deleteRow", function() {
deleteRow();
});
// 新增行
function addRow() {
tableDataList = [].concat(table.cache.messageTable);
tableDataList.push({id: rowNum});
table.reloadData("messageTable", {data: tableDataList});
rowNum++;
}
// 删除行
function deleteRow() {
tableDataList = [].concat(table.cache.messageTable);
var check_box = table.checkStatus('messageTable').data;
for (var i = 0; i < check_box.length; i++){
var list = [];
$.each(tableDataList, function(j, item) {
if(item.id != check_box[i].id){
list.push(item);
}
});
tableDataList = [].concat(list);
}
table.reloadData("messageTable", {data: tableDataList});
}
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
});
\ No newline at end of file
var objectId = "";
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var $ = layui.$,
form = layui.form,
table = layui.table;
objectId = GetUrlParam("objectId");
if (isNull(objectId)) {
winui.window.msg("请传入适用对象信息", {icon: 2, time: 2000});
return false;
}
AjaxPostUtil.request({url: flowableBasePath + 'queryActFlowListByClassName', params: {className: objectId}, type: 'json', method: "POST", callback: function (json) {
$("#actFlowId").html(getDataUseHandlebars(`{{#each rows}}<option value="{{id}}">{{flowName}}</option>{{/each}}`, json));
}, async: false});
form.on('select(actFlowId)', function(data) {
loadTable();
});
table.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: reqBasePath + 'queryAttrTransformList',
where: getTableParams(),
even: true,
page: false,
limits: getLimits(),
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' },
{ field: 'attrKey', title: '属性', align: 'left', width: 150 },
{ field: 'proportion', title: '宽度比例', align: 'left', width: 120, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("widthScale", 'id', d.proportion, 'name');
}},
{ field: 'showType', title: '显示类型', align: 'left', width: 120, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("dsFormShowType", 'id', d.showType, 'name');
}},
{ field: 'orderBy', title: '排序', align: 'left', width: 100 },
{ field: 'createName', title: systemLanguage["com.skyeye.createName"][languageType], width: 120 },
{ field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], align: 'center', width: 150 },
{ field: 'lastUpdateName', title: systemLanguage["com.skyeye.lastUpdateName"][languageType], align: 'left', width: 120 },
{ field: 'lastUpdateTime', title: systemLanguage["com.skyeye.lastUpdateTime"][languageType], align: 'center', width: 150 },
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 180, toolbar: '#tableBar' }
]],
done: function(json) {
matchingLanguage();
}
});
table.on('tool(messageTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'del') { // 删除
del(data, obj);
} else if (layEvent === 'edit') { // 编辑
edit(data);
}
});
// 删除
function del(data, obj) {
layer.confirm(systemLanguage["com.skyeye.deleteOperationMsg"][languageType], {icon: 3, title: systemLanguage["com.skyeye.deleteOperation"][languageType]}, function (index) {
layer.close(index);
AjaxPostUtil.request({url: reqBasePath + "deleteTeamTemplateById", params: {id: data.id}, type: 'json', method: "DELETE", callback: function (json) {
winui.window.msg(systemLanguage["com.skyeye.deleteOperationSuccessMsg"][languageType], {icon: 1, time: 2000});
loadTable();
}});
});
}
// 编辑
function edit(data) {
rowId = data.id;
if (isNull($("#actFlowId"))) {
winui.window.msg('请先绑定流程.', {icon: 2, time: 2000});
return false;
}
_openNewWindows({
url: "../../tpl/processAttr/teamTemplateEdit.html",
title: systemLanguage["com.skyeye.editPageTitle"][languageType],
pageId: "teamTemplateEdit",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
}
// 新增
$("body").on("click", "#addBean", function() {
if (isNull($("#actFlowId"))) {
winui.window.msg('请先绑定流程.', {icon: 2, time: 2000});
return false;
}
_openNewWindows({
url: "../../tpl/processAttr/processAttrAdd.html",
title: systemLanguage["com.skyeye.addPageTitle"][languageType],
pageId: "processAttrAdd",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
});
form.render();
$("body").on("click", "#reloadTable", function() {
loadTable();
});
function loadTable() {
table.reloadData("messageTable", {where: getTableParams()});
}
function getTableParams() {
return {
className: objectId,
actFlowId: $('#actFlowId').val()
};
}
exports('processAttrList', {});
});
\ No newline at end of file
......@@ -13,7 +13,7 @@
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/classServer/'}).use('classServerAttrList');
layui.config({base: '../../js/attr/'}).use('attrList');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
<style>
.layui-table-cell {
height: auto;
text-overflow: inherit;
overflow: visible;
white-space: normal;
word-wrap: break-word;
}
.layui-table-cell .layui-anim {
height: 180px;
}
.place-holder {
height: 200px;
}
</style>
</head>
<body>
<div style="margin: 0 auto; padding: 20px;">
<form class="layui-form" action="" id="showForm" autocomplete="off">
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">基本信息</span><hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">属性<i class="red">*</i></label>
<div class="layui-input-block">
<select lay-filter="attrKey" lay-search="" id="attrKey" win-verify="required">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">宽度比例<i class="red">*</i></label>
<div class="layui-input-block">
<select lay-filter="proportion" lay-search="" id="proportion" win-verify="required">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">序号<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="orderBy" name="orderBy" win-verify="required|number" placeholder="请输入序号" class="layui-input"/>
<div class="layui-form-mid layui-word-aux">序号越大越往后。</div>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">显示类型<i class="red">*</i></label>
<div class="layui-input-block">
<select lay-filter="showType" lay-search="" id="showType" win-verify="required">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs12" id="tableBox">
<label class="layui-form-label">表格属性<i class="red">*</i></label>
<div class="layui-input-block">
<div class="winui-tip alert-info">
拖拽表格行可修改顺序。
</div>
<div class="winui-tool" style="text-align: left;">
<button id="addRow" class="winui-toolbtn" type="button"><i class="fa fa-plus" aria-hidden="true"></i>新增行</button>
<button id="deleteRow" class="winui-toolbtn" type="button"><i class="fa fa-trash-o" aria-hidden="true"></i>删除行</button>
</div>
<table class="layui-table" id="messageTable">
</table>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn" lay-submit lay-filter="formAddBean"><language showName="com.skyeye.save"></language></button>
</div>
</div>
</form>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/processAttr/'}).use('processAttrAdd');
</script>
</body>
</html>
\ No newline at end of file
......@@ -7,13 +7,28 @@
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div class="winui-toolbar">
<div class="winui-tool">
<form class="layui-form layui-form-pane" action="" autocomplete="off" style="width: 200px; float: left;">
<select lay-filter="actFlowId" lay-search="" id="actFlowId">
</select>
</form>
<button id="reloadTable" class="winui-toolbtn search-table-btn-right"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button>
<button id="addBean" class="winui-toolbtn search-table-btn-right"><i class="fa fa-plus" aria-hidden="true"></i><language showName="com.skyeye.addBtn"></language></button>
</div>
</div>
<div style="margin:auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table>
<script type="text/html" id="tableBar">
<a class="layui-btn layui-btn-xs" lay-event="edit"><language showName="com.skyeye.editBtn"></language></a>
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="del"><language showName="com.skyeye.deleteBtn"></language></a>
</script>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/classServer/'}).use('classServerProcessAttrList');
layui.config({base: '../../js/processAttr/'}).use('processAttrList');
</script>
</body>
</html>
\ No newline at end of file
......@@ -763,23 +763,10 @@ var tabPageUtil = {
</div>
{{/rows}}`,
config: {
id: '', // 展示位置
prefixData: [], // 集合前面追加的其他需要加载的数据 例如:{title: '详情', pageUrl: '../../tpl/customerManage/customerDetails.html'}
suffixData: [{
title: '团队',
pageUrl: '../../tpl/teamBusiness/teamBusinessDetails.html'
}], // 集合后面追加的其他需要加载的数据 例如:{title: '详情', pageUrl: '../../tpl/customerManage/customerDetails.html'}
element: null, // element对象
objectType: '', // 适用对象 例如:客户,项目等
pageList: [], // 页面信息
object: {
objectId: '', // 业务对象id
objectKey: '', // 业务对象key
}
},
config: null,
init: function (_config) {
tabPageUtil.initialization();
tabPageUtil.config = $.extend(true, tabPageUtil.config, _config);
if (_config.suffixData == null) {
tabPageUtil.config.suffixData = [];
......@@ -803,6 +790,24 @@ var tabPageUtil = {
tabPageUtil.initEvent();
},
initialization: function () {
tabPageUtil.config = {
id: '', // 展示位置
prefixData: [], // 集合前面追加的其他需要加载的数据 例如:{title: '详情', pageUrl: '../../tpl/customerManage/customerDetails.html'}
suffixData: [{
title: '团队',
pageUrl: '../../tpl/teamBusiness/teamBusinessDetails.html'
}], // 集合后面追加的其他需要加载的数据 例如:{title: '详情', pageUrl: '../../tpl/customerManage/customerDetails.html'}
element: null, // element对象
objectType: '', // 适用对象 例如:客户,项目等
pageList: [], // 页面信息
object: {
objectId: '', // 业务对象id
objectKey: '', // 业务对象key
}
};
},
initEvent: function () {
tabPageUtil.config.element.on('tab(manageTab)', function (obj) {
var mation = tabPageUtil.config.pageList[obj.index];
......
......@@ -22,6 +22,9 @@
"materialType": {"name": "商品类型枚举类", "className": "skyeye-flowable#com.skyeye.material.enumclass.MaterialType"},
"skyeyeView": {"name": "视图枚举", "className": "skyeye-pro#com.skyeye.common.SkyeyeViewEnum"},
"widthScale": {"name": "宽度比例枚举", "className": "skyeye-pro#com.skyeye.attr.classenum.WidthScale"},
"dsFormShowType": {"name": "组件展示类型枚举", "className": "skyeye-pro#com.skyeye.attr.classenum.DsFormShowType"},
"alignment": {"name": "对齐方式枚举", "className": "skyeye-pro#com.skyeye.attr.classenum.Alignment"},
"tenantEnum": {"name": "租户枚举", "className": "skyeye-pro#com.skyeye.common.enumeration.TenantEnum"},
......@@ -29,6 +32,6 @@
"contactsAuthEnum": {"name": "联系人权限", "className": "skyeye-pro#com.skyeye.contacts.classenum.ContactsAuthEnum", "pageUrl": "../../tpl/contacts/contactsList.html"},
"catalogAuthEnum": {"name": "目录权限", "className": "skyeye-pro#com.skyeye.catalog.classenum.CatalogAuthEnum"},
"documentAuthEnum": {"name": "文档权限", "className": "skyeye-pro#com.skyeye.document.classenum.DocumentAuthEnum"},
"documentAuthEnum": {"name": "讨论帖权限", "className": "skyeye-pro#com.skyeye.discussion.classenum.DisCussionAuthEnum"}
"disCussionAuthEnum": {"name": "讨论帖权限", "className": "skyeye-pro#com.skyeye.discussion.classenum.DisCussionAuthEnum"}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册