提交 b7ca17db 编写于 作者: Skyeye云's avatar Skyeye云

表单设计器修改

上级 76f1b399
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form;
var selOption = getFileContent('tpl/template/select-option.tpl');
// 不同的数据来源对应不同的html
var dataTypeObject = {
"1": `<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">默认数据<i class="red">*</i></label>
<div class="layui-input-block">
<textarea id="defaultData" name="defaultData" win-verify="required" class="layui-textarea"></textarea>
<div class="layui-form-mid layui-word-aux">数据样式为:[{"id":"1","name":"男",...},{"id":"2","name":"女",...}]</div>
</div>
</div>`,
"2": `<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">枚举数据<i class="red">*</i></label>
<div class="layui-input-block">
<select id="objectId" name="objectId" lay-search="" win-verify="required" lay-filter="objectId"></select>
</div>
</div>`,
"3": `<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">数据字典<i class="red">*</i></label>
<div class="layui-input-block">
<select id="objectId" name="objectId" lay-search="" win-verify="required" lay-filter="objectId"></select>
</div>
</div>`
};
var id = GetUrlParam('id');
var dataFrom = parent.$(`#${id}`).attr('data');
dataFrom = isNull(dataFrom) ? {} : JSON.parse(dataFrom);
var value;
if (dataFrom.dataType == 4) {
value = dataFrom.businessApi;
} else {
value = dataFrom.dataType == 1 ? dataFrom.defaultData : dataFrom.objectId;
}
loadLinkData(dataFrom.componentId, dataFrom.dataType, value);
matchingLanguage();
form.render();
form.on('submit(formEditBean)', function (data) {
if (winui.verifyForm(data.elem)) {
var params = {
dataType: $("#dataType").val()
};
if (params.dataType == 1) {
// 自定义json
var defaultDataStr = $("#defaultData").val();
if (isNull(defaultDataStr)) {
winui.window.msg("请填写Json串!", {icon: 2, time: 2000});
return false;
} else {
if (isJSON(defaultDataStr)) {
var defaultKey = getOutKey(defaultDataStr);//取出json串的键
// 获取数据展示模板
var tplContentVal = strMatchAllByTwo(dsFormComponent.htmlDataFrom, '{{', '}}');//取出数据模板中用{{}}包裹的词
removeByValue(tplContentVal, "#each this");
removeByValue(tplContentVal, "/each");
if (subset(tplContentVal, defaultKey)) {
params.defaultData = defaultDataStr;
} else {
winui.window.msg('json串内容有误,请重新填写!', {icon: 2, time: 2000});
return false;
}
} else {
winui.window.msg('json串格式不正确,请重新填写!', {icon: 2, time: 2000});
return false;
}
}
} else if (params.dataType == 4) {
// 自定义接口
var dataList = initTableChooseUtil.getDataList('apiParams').dataList;
var apiParams = {};
$.each(dataList, function (i, item) {
apiParams[item.key] = item.value;
});
var businessApi = {
serviceStr: $("#serviceStr").val(),
api: $("#api").val(),
method: $("#method").val(),
params: apiParams
};
params.businessApi = JSON.stringify(businessApi);
} else {
params.objectId = $("#objectId").val();
}
parent.$(`#${id}`).attr('data', JSON.stringify(params));
parent.$(`#${id}`).html('更换数据源');
parent.layer.close(index);
parent.refreshCode = '0';
}
return false;
});
function loadLinkData(componentId, dataType, value) {
// 数据来源类型
skyeyeClassEnumUtil.showEnumDataListByClassName("attrKeyDataType", 'select', "dataType", dataType, form);
form.on('select(dataType)', function(data) {
loadDataMation($('#dataType').val(), '');
});
loadDataMation(dataType, value);
}
function loadDataMation(dataType, value) {
$("#dataTypeObjectBox").html(dataTypeObject[dataType]);
if (dataType == 1) {
// 自定义
$("#defaultData").val(value);
} else if (dataType == 2) {
// 枚举
initEnumData();
$("#objectId").val(value);
} else if (dataType == 3) {
// 数据字典
initDictData();
$("#objectId").val(value);
} else if (dataType == 4) {
// 自定义接口
$("#dataTypeObjectBox").html(commonHtml['businessApi']);
$("#serviceStr").html(getDataUseHandlebars(selOption, {rows: serviceMap}));
loadParamsTable('apiParams');
if (!isNull(value)) {
$("#serviceStr").val(value.serviceStr);
$("#api").val(value.api);
skyeyeClassEnumUtil.showEnumDataListByClassName("httpMethodEnum", 'select', "method", value.method, form);
initTableChooseUtil.deleteAllRow('apiParams');
$.each(value.params, function(key, value) {
var params = {
"key": key,
"value": value
};
initTableChooseUtil.resetData('apiParams', params);
});
} else {
skyeyeClassEnumUtil.showEnumDataListByClassName("httpMethodEnum", 'select', "method", '', form);
}
} else {
$("#dataTypeObjectBox").html('');
}
form.render('select');
}
function loadParamsTable(id) {
initTableChooseUtil.initTable({
id: id,
cols: [
{id: 'key', title: '入参Key', formType: 'input', width: '150', verify: 'required'},
{id: 'value', title: '值(目前仅支持objectId和objectKey的传值)', formType: 'input', width: '150', verify: 'required'}
],
deleteRowCallback: function (trcusid) {
},
addRowCallback: function (trcusid) {
},
form: form
});
}
/**
* 加载枚举类可选列表
*/
function initEnumData() {
var arr = [];
$.each(skyeyeClassEnum, function (key, value) {
arr.push({
id: key,
name: value.name
})
});
$("#objectId").html(getDataUseHandlebars(selOption, {rows: arr}));
form.render('select');
}
/**
* 加载数据字典可选列表
*/
function initDictData() {
AjaxPostUtil.request({url: reqBasePath + "queryDictTypeListByEnabled", params: {enabled: 1}, type: 'json', method: 'GET', callback: function (json) {
$("#objectId").html(getDataUseHandlebars(`<option value="">请选择</option>{{#each rows}}<option value="{{dictCode}}">{{name}}</option>{{/each}}`, json));
}, async: false});
}
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
});
\ No newline at end of file
...@@ -137,7 +137,7 @@ layui.config({ ...@@ -137,7 +137,7 @@ layui.config({
'tableAttrBox': `<div class="layui-form-item layui-col-xs12"> 'tableAttrBox': `<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">表格属性<i class="red">*</i></label> <label class="layui-form-label">表格属性<i class="red">*</i></label>
<div class="layui-input-block" id="attrTransformTableList" data-json="[]"> <div class="layui-input-block" id="attrTransformTableList" data-json="[]">
<button id="attrTransformTableListConfig" type="button" class="winui-toolbtn search-table-btn-right">属性配置</button> <button id="attrTransformTableListConfig" type="button" class="winui-toolbtn">属性配置</button>
</div> </div>
</div>`, </div>`,
}; };
...@@ -222,13 +222,19 @@ layui.config({ ...@@ -222,13 +222,19 @@ layui.config({
// 日期类型 // 日期类型
skyeyeClassEnumUtil.showEnumDataListByClassName("dateTimeType", 'select', "dateTimeType", data.dateTimeType, form); skyeyeClassEnumUtil.showEnumDataListByClassName("dateTimeType", 'select', "dateTimeType", data.dateTimeType, form);
// 表格属性的属性配置
var attrTransformTableList = isNull(data.attrTransformTableList) ? '[]' : JSON.stringify(data.attrTransformTableList);
$("#attrTransformTableListConfig").attr('data', attrTransformTableList);
$("body").on("click", "#attrTransformTableListConfig", function() { $("body").on("click", "#attrTransformTableListConfig", function() {
parent.temData = $("#attrTransformTableListConfig").attr('data');
parent._openNewWindows({ parent._openNewWindows({
url: "../../tpl/dsFormPage/editPageContentIsTable.html?attrKey=" + $("#attrKey").val() + '&className=' + parent.className + '&pageType=' + pageType, url: "../../tpl/dsFormPage/editPageContentIsTable.html?attrKey=" + $("#attrKey").val() + '&className=' + parent.className,
title: '表格属性配置', title: '表格属性配置',
pageId: "editPageContentIsTable", pageId: "editPageContentIsTable",
area: ['90vw', '90vh'], area: ['90vw', '90vh'],
callBack: function (refreshCode) { callBack: function (refreshCode) {
$("#attrTransformTableListConfig").attr('data', parent.temData);
}}); }});
}); });
...@@ -268,6 +274,8 @@ layui.config({ ...@@ -268,6 +274,8 @@ layui.config({
newParams.chooseOrNotEmail = $("#chooseOrNotEmail").val(); newParams.chooseOrNotEmail = $("#chooseOrNotEmail").val();
newParams.checkType = $("#checkType").val(); newParams.checkType = $("#checkType").val();
newParams.attrTransformTableList = isNull($("#attrTransformTableListConfig").attr('data')) ? [] : JSON.parse($("#attrTransformTableListConfig").attr('data'));
if (!isNull($("#attrKey").val())) { if (!isNull($("#attrKey").val())) {
newParams.attrDefinition = getInPoingArr(parent.attrList, 'attrKey', $("#attrKey").val()); newParams.attrDefinition = getInPoingArr(parent.attrList, 'attrKey', $("#attrKey").val());
} }
......
...@@ -11,11 +11,11 @@ layui.config({ ...@@ -11,11 +11,11 @@ layui.config({
form = layui.form, form = layui.form,
table = layui.table, table = layui.table,
soulTable = layui.soulTable; soulTable = layui.soulTable;
var tableDataList = new Array(); var tableDataList = parent.temData;
tableDataList = isNull(tableDataList) ? [] : JSON.parse(tableDataList);
// 对齐方式 // 对齐方式
var alignmentData = skyeyeClassEnumUtil.getEnumDataListByClassName("alignment"); var alignmentData = skyeyeClassEnumUtil.getEnumDataListByClassName("alignment");
var rowNum = 1; var rowNum = 1;
var pageType = GetUrlParam("pageType");
var parentAttrKey = GetUrlParam("attrKey"); var parentAttrKey = GetUrlParam("attrKey");
var parentClassName = GetUrlParam("className"); var parentClassName = GetUrlParam("className");
...@@ -25,83 +25,91 @@ layui.config({ ...@@ -25,83 +25,91 @@ layui.config({
}; };
var childAttr = []; var childAttr = [];
AjaxPostUtil.request({url: reqBasePath + "queryChildAttrDefinitionList", params: params, type: 'json', method: "POST", callback: function (json) { AjaxPostUtil.request({url: reqBasePath + "queryChildAttrDefinitionList", params: params, type: 'json', method: "POST", callback: function (json) {
childAttr = [].concat(json.rows); $.each(json.rows, function (i, item) {
if (item.whetherInputParams) {
childAttr.push(item);
}
});
if (childAttr.length > 0) { if (childAttr.length > 0) {
childServiceClassName = childAttr[0].className; childServiceClassName = childAttr[0].className;
} }
}, async: false}); }, async: false});
var cols = []; var showType = [
if (pageType == 'processAttr') { {id: "input", name: "输入框"},
// 流程属性布局 {id: "chooseInput", name: "选择输入框"},
cols = [[ {id: "select", name: "下拉框"},
{ type: 'checkbox', align: 'center' }, {id: "detail", name: "文本"}
{ field: 'test', title: '', align: 'left', width: 40, templet: function (d) {return '<i class="fa fa-arrows drag-row" />';}}, ];
{ field: 'attrKey', title: '属性<i class="red">*</i>', 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>`; var cols = [[
$.each(childAttr, function (i, item) { { type: 'checkbox', align: 'center' },
if (item.attrKey == d.attrKey) { { field: 'test', title: '', align: 'left', width: 40, templet: function (d) {return '<i class="fa fa-arrows drag-row" />';}},
_html += `<option value="${item.attrKey}" selected="selected">${item.name}</option>`; { field: 'attrKey', title: '属性<i class="red">*</i>', align: 'left', width: 150, templet: function (d) {
} else { var _html = `<select lay-filter="tableSelect" lay-search="" id="attrKey${d.id}" cus-id="${d.id}" win-verify="required"><option value="">全部</option>`;
_html += `<option value="${item.attrKey}">${item.name}</option>`; $.each(childAttr, function (i, item) {
} if (item.attrKey == d.attrKey) {
}); _html += `<option value="${item.attrKey}" selected="selected">${item.name}</option>`;
_html += `</select>`; } else {
return _html; _html += `<option value="${item.attrKey}">${item.name}</option>`;
}}, }
{ field: 'name', title: '名称', align: 'left', width: 120, templet: function (d) { });
return `<input type="text" id="name${d.id}" placeholder="请填写名称" cus-id="${d.id}" win-verify="required" class="layui-input tableInput" ` + _html += `</select>`;
`value="` + (isNull(d.name) ? "" : d.name) + `"/>`; return _html;
}}, }},
{ field: 'align', title: '对齐方式<i class="red">*</i>', align: 'left', width: 120, templet: function (d) { { field: 'name', title: '显示名称<i class="red">*</i>', 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>`; return `<input type="text" id="name${d.id}" placeholder="请填写显示名称" cus-id="${d.id}" win-verify="required" class="layui-input tableInput" ` +
$.each(alignmentData.rows, function (i, item) { `value="` + (isNull(d.name) ? "" : d.name) + `"/>`;
if (item.id == d.align) { }},
_html += `<option value="${item.id}" selected="selected">${item.name}</option>`; { field: 'align', title: '对齐方式<i class="red">*</i>', align: 'left', width: 120, templet: function (d) {
} else { var _html = `<select lay-filter="tableSelect" lay-search="" id="align${d.id}" cus-id="${d.id}" win-verify="required"><option value="">全部</option>`;
_html += `<option value="${item.id}">${item.name}</option>`; $.each(alignmentData.rows, function (i, item) {
} if (item.id == d.align) {
}); _html += `<option value="${item.id}" selected="selected">${item.name}</option>`;
_html += `</select>`; } else {
return _html; _html += `<option value="${item.id}">${item.name}</option>`;
}}, }
{ field: 'width', title: '宽度<i class="red">*</i>', 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" ` + _html += `</select>`;
`value="` + (isNull(d.width) ? "" : d.width) + `"/>`; return _html;
}}, }},
{ field: 'templetBox', title: '脚本', align: 'left', width: 700, templet: function (d) { { field: 'width', title: '宽度<i class="red">*</i>', align: 'left', width: 120, templet: function (d) {
return `<textarea id="templet${d.id}" placeholder="请填写脚本" cus-id="${d.id}" class="tableInput templateClass"></textarea>`; 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) + `"/>`;
]]; }},
} else { { field: 'showType', title: '显示方式<i class="red">*</i>', align: 'left', width: 120, templet: function (d) {
// 新增/编辑布局 var _html = `<select lay-filter="tableSelect" lay-search="" id="showType${d.id}" cus-id="${d.id}" win-verify="required"><option value="">全部</option>`;
cols = [[ $.each(showType, function (i, item) {
{ type: 'checkbox', align: 'center' }, if (item.id == d.showType) {
{ field: 'test', title: '', align: 'left', width: 40, templet: function (d) {return '<i class="fa fa-arrows drag-row" />';}}, _html += `<option value="${item.id}" selected="selected">${item.name}</option>`;
{ field: 'attrKey', title: '属性<i class="red">*</i>', align: 'left', width: 150, templet: function (d) { } else {
var _html = `<select lay-filter="tableSelect" lay-search="" id="attrKey${d.id}" cus-id="${d.id}" win-verify="required"><option value="">全部</option>`; _html += `<option value="${item.id}">${item.name}</option>`;
$.each(childAttr, function (i, item) { }
if (item.attrKey == d.attrKey) { });
_html += `<option value="${item.attrKey}" selected="selected">${item.name}</option>`; _html += `</select>`;
} else { return _html;
_html += `<option value="${item.attrKey}">${item.name}</option>`; }},
} { field: 'require', title: '限制条件', align: 'left', width: 200, templet: function (d) {
}); return `<div id="require${d.id}" cus-id="${d.id}"></div>`;
_html += `</select>`; }},
return _html; { field: 'dataFrom', title: '数据源', align: 'left', width: 200, templet: function (d) {
}}, var disabledClass = d.showType == showType[2].id ? '' : 'layui-btn-disabled';
{ field: 'name', title: '名称', align: 'left', width: 120, templet: function (d) { var params = {};
return `<input type="text" id="name${d.id}" placeholder="请填写名称" cus-id="${d.id}" win-verify="required" class="layui-input tableInput" ` + var btnName = '选择数据源';
`value="` + (isNull(d.name) ? "" : d.name) + `"/>`; if (!isNull(d.dataType)) {
}}, params = {
{ field: 'width', title: '宽度<i class="red">*</i>', align: 'left', width: 120, templet: function (d) { dataType: d.dataType,
return `<input type="text" id="width${d.id}" placeholder="请填写宽度" cus-id="${d.id}" class="layui-input tableInput" win-verify="required|number" ` + defaultData: d.defaultData,
`value="` + (isNull(d.width) ? "" : d.width) + `"/>`; objectId: d.objectId,
}}, businessApi: d.businessApi,
]] };
} btnName = '更换数据源';
}
var data = JSON.stringify(params);
return `<button id="dataFrom${d.id}" type="button" cus-id="${d.id}" class="chooseDataFrom ${disabledClass}" data="${data}">${btnName}</button>`;
}},
]]
var jsEditorMap = {};
table.render({ table.render({
id: 'messageTable', id: 'messageTable',
elem: '#messageTable', elem: '#messageTable',
...@@ -119,18 +127,13 @@ layui.config({ ...@@ -119,18 +127,13 @@ layui.config({
if ($(`div[lay-id='messageTable']`).find('.place-holder').length == 0) { if ($(`div[lay-id='messageTable']`).find('.place-holder').length == 0) {
$(`div[lay-id='messageTable']`).find('.layui-table-body').append('<div class="place-holder"></div>'); $(`div[lay-id='messageTable']`).find('.layui-table-body').append('<div class="place-holder"></div>');
} }
soulTable.render(this);
jsEditorMap = {}; $.each(tableDataList, function (i, item) {
$.each($(".templateClass"), function (i, item) { var require = isNull(item.require) ? '' : item.require.toString();
var id = $(item).attr('cus-id'); skyeyeClassEnumUtil.showEnumDataListByClassName("verificationParams", 'verificationSelect', "require" + item.id, require, form, null, 'formerRequirement');
var tableData = getInPoingArr(tableDataList, 'id', id);
var jsEditor = CodeMirror.fromTextArea(document.getElementById("templet" + id), codeUtil.getConfig('text/javascript'));
if (!isNull(tableData.templet)) {
jsEditor.setValue(tableData.templet);
}
jsEditorMap[id] = jsEditor;
}); });
soulTable.render(this);
} }
}); });
...@@ -145,22 +148,60 @@ layui.config({ ...@@ -145,22 +148,60 @@ layui.config({
tableDataList = [].concat(table.cache.messageTable); tableDataList = [].concat(table.cache.messageTable);
$.each(tableDataList, function (i, item) { $.each(tableDataList, function (i, item) {
item.orderBy = i + 1; item.orderBy = i + 1;
if (pageType == 'processAttr') { if (item.showType == showType[2].id) {
item.templet = jsEditorMap[item.id].getValue(); // 下拉框时,选择的数据源信息
var dataFrom = JSON.parse($(`#dataFrom${item.id}`).attr('data'));
if (!isNull(dataFrom.dataType)) {
item.dataType = dataFrom.dataType;
item.defaultData = dataFrom.defaultData;
item.objectId = dataFrom.objectId;
item.businessApi = dataFrom.businessApi;
}
} }
item.id = null; item.require = dataShowType.getData(`require${item.id}`);
delete item["LAY_TABLE_INDEX"];
delete item["id"];
}); });
console.log(tableDataList); parent.temData = JSON.stringify(tableDataList);
// parent.layer.close(index); parent.layer.close(index);
// parent.refreshCode = '0'; parent.refreshCode = '0';
} }
return false; return false;
}); });
// 选择数据来源
$("body").on("click", ".chooseDataFrom", function() {
if ($(this).hasClass('layui-btn-disabled')) {
return false;
}
var id = $(this).attr('id');
_openNewWindows({
url: "../../tpl/dsFormPage/dataFrom.html?id=" + id,
title: '数据来源',
pageId: "dataFrom",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
}});
});
form.on('select(tableSelect)', function(data) { form.on('select(tableSelect)', function(data) {
var id = data.elem.id; var id = data.elem.id;
buildData($(`#${id}`)); var _this = $(`#${id}`);
buildData(_this);
// 显示方式
if (id.startsWith('showType')) {
var showTypeVal = _this.val();
var cusId = _this.attr('cus-id');
if (showTypeVal == showType[2].id) {
// 下拉框
$(`#dataFrom${cusId}`).removeClass('layui-btn-disabled');
$(`#dataFrom${cusId}`).attr('data', '{}');
$(`#dataFrom${cusId}`).html('选择数据源');
} else {
$(`#dataFrom${cusId}`).addClass('layui-btn-disabled');
}
}
}); });
$("body").on("input", ".tableInput", function () { $("body").on("input", ".tableInput", function () {
buildData($(this)); buildData($(this));
......
<!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" />
</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-xs12">
<label class="layui-form-label">数据来源<i class="red">*</i></label>
<div class="layui-input-block">
<select id="dataType" name="dataType" lay-search="" lay-filter="dataType">
</select>
</div>
</div>
<div id="dataTypeObjectBox">
</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="formEditBean"><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/dsFormPage/'}).use('dataFrom');
</script>
</body>
</html>
\ No newline at end of file
...@@ -27,37 +27,31 @@ ...@@ -27,37 +27,31 @@
<body> <body>
<div style="margin: 0 auto; padding: 20px;"> <div style="margin: 0 auto; padding: 20px;">
<form class="layui-form" action="" id="showForm" autocomplete="off"> <form class="layui-form" action="" id="showForm" autocomplete="off">
<div class="layui-form-item layui-col-xs12" id="tableBox">
</form> <label class="layui-form-label">表格属性<i class="red">*</i></label>
</div> <div class="layui-input-block">
<div class="winui-tip alert-info">
<script type="text/x-handlebars-template" id="beanTemplate"> 拖拽表格行可修改顺序。
{{#bean}} </div>
<div class="layui-form-item layui-col-xs12" id="tableBox"> <div class="winui-tool" style="text-align: left;">
<label class="layui-form-label">表格属性<i class="red">*</i></label> <button id="addRow" class="winui-toolbtn" type="button"><i class="fa fa-plus" aria-hidden="true"></i>新增行</button>
<div class="layui-input-block"> <button id="deleteRow" class="winui-toolbtn" type="button"><i class="fa fa-trash-o" aria-hidden="true"></i>删除行</button>
<div class="winui-tip alert-info"> </div>
拖拽表格行可修改顺序 <table class="layui-table" id="messageTable">
</div>
<div class="winui-tool" style="text-align: left;"> </table>
<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> </div>
<table class="layui-table" id="messageTable">
</table>
</div> </div>
</div>
<div class="layui-form-item layui-col-xs12"> <div class="layui-form-item layui-col-xs12">
<div class="layui-input-block"> <div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button> <button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn" lay-submit lay-filter="formEditBean"><language showName="com.skyeye.save"></language></button> <button class="winui-btn" lay-submit lay-filter="formEditBean"><language showName="com.skyeye.save"></language></button>
</div>
</div> </div>
</div> </form>
{{/bean}} </div>
</script>
<script src="../../assets/lib/layui/layui.js"></script> <script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script> <script src="../../assets/lib/layui/custom.js"></script>
......
...@@ -13,7 +13,6 @@ layui.config({ ...@@ -13,7 +13,6 @@ layui.config({
tableCheckBoxUtil = layui.tableCheckBoxUtil; tableCheckBoxUtil = layui.tableCheckBoxUtil;
var checkType = '1';//工序选择类型:1.单选;2.多选 var checkType = '1';//工序选择类型:1.单选;2.多选
if (!isNull(parent.procedureCheckType)){ if (!isNull(parent.procedureCheckType)){
checkType = parent.procedureCheckType; checkType = parent.procedureCheckType;
} }
...@@ -24,7 +23,7 @@ layui.config({ ...@@ -24,7 +23,7 @@ layui.config({
s += '1.单选,双击指定行数据即可选中;'; s += '1.单选,双击指定行数据即可选中;';
} else { } else {
s += '1.多选;'; s += '1.多选;';
//显示保存按钮 // 显示保存按钮
$("#saveCheckBox").show(); $("#saveCheckBox").show();
} }
s += '如没有查到要选择的工序,请检查工序信息是否满足当前规则。'; s += '如没有查到要选择的工序,请检查工序信息是否满足当前规则。';
...@@ -33,45 +32,45 @@ layui.config({ ...@@ -33,45 +32,45 @@ layui.config({
initTable(); initTable();
function initTable(){ function initTable(){
if(checkType == '2'){ if(checkType == '2'){
//初始化值
var ids = []; var ids = [];
$.each(parent.procedureMationList, function(i, item) { $.each(parent.procedureMationList, function(i, item) {
ids.push(item.procedureId); ids.push(item.id);
});
tableCheckBoxUtil.setIds({
gridId: 'messageTable',
fieldName: 'procedureId',
ids: ids
}); });
tableCheckBoxUtil.init({ tableCheckBoxUtil.init({
gridId: 'messageTable', gridId: 'messageTable',
filterId: 'messageTable', filterId: 'messageTable',
fieldName: 'procedureId' fieldName: 'id',
ids: ids
}); });
} }
table.render({ table.render({
id: 'messageTable', id: 'messageTable',
elem: '#messageTable', elem: '#messageTable',
method: 'post', method: 'post',
url: flowableBasePath + 'erpworkprocedure001', url: sysMainMation.erpBasePath + 'erpworkprocedure001',
where: getTableParams(), where: getTableParams(),
even: true, even: true,
page: true, page: true,
limits: [8, 16, 24, 32, 40, 48, 56], limits: getLimits(),
limit: 8, limit: getLimit(),
cols: [[ cols: [[
{ type: checkType == '1' ? 'radio' : 'checkbox'}, { type: checkType == '1' ? 'radio' : 'checkbox'},
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' }, { title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' },
{ field: 'procedureName', title: '工序名称', align: 'left',width: 120}, { field: 'name', title: '工序名称', align: 'left',width: 120 },
{ field: 'number', title: '工序编号', align: 'left',width: 120}, { field: 'number', title: '工序编号', align: 'left',width: 120 },
{ field: 'unitPrice', title: '参考单价', align: 'left',width: 100}, { field: 'unitPrice', title: '参考单价', align: 'left',width: 100 },
{ field: 'departmentName', title: '部门', align: 'right',width: 80}, { field: 'departmentMation', title: '执行部门', align: 'left',width: 100, templet: function (d) {
{ field: 'content', title: '工序内容', align: 'left',width: 200} return d.departmentMation.name;
}},
{ field: 'content', title: '工序内容', align: 'left',width: 200 }
]], ]],
done: function(res, curr, count){ done: function(res, curr, count){
matchingLanguage(); matchingLanguage();
initTableSearchUtil.initAdvancedSearch(this, res.searchFilter, form, "请输入名称", function () {
table.reloadData("messageTable", {page: {curr: 1}, where: getTableParams()});
});
if(checkType == '1'){ if(checkType == '1'){
$('#messageTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('dblclick',function(){ $('#messageTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('dblclick',function(){
var dubClick = $('#messageTable').next().find('.layui-table-body').find("table").find("tbody").find(".layui-table-hover"); var dubClick = $('#messageTable').next().find('.layui-table-body').find("table").find("tbody").find(".layui-table-hover");
...@@ -94,7 +93,7 @@ layui.config({ ...@@ -94,7 +93,7 @@ layui.config({
// 多选 // 多选
tableCheckBoxUtil.checkedDefault({ tableCheckBoxUtil.checkedDefault({
gridId: 'messageTable', gridId: 'messageTable',
fieldName: 'procedureId' fieldName: 'id'
}); });
} }
} }
...@@ -103,45 +102,31 @@ layui.config({ ...@@ -103,45 +102,31 @@ layui.config({
form.render(); form.render();
} }
//保存按钮-多选才有 // 保存按钮-多选才有
$("body").on("click", "#saveCheckBox", function() { $("body").on("click", "#saveCheckBox", function() {
var selectedData = tableCheckBoxUtil.getValue({ var selectedData = tableCheckBoxUtil.getValueList({
gridId: 'messageTable' gridId: 'messageTable'
}); });
AjaxPostUtil.request({url: flowableBasePath + "erpworkprocedure007", params: {ids: selectedData.toString()}, type: 'json', callback: function (json) { if (selectedData.length == 0) {
parent.procedureMationList = [].concat(json.rows); winui.window.msg("请选择工序", {icon: 2, time: 2000});
parent.layer.close(index); return false;
parent.refreshCode = '0'; }
}}); parent.procedureMationList = [].concat(selectedData);
parent.layer.close(index);
parent.refreshCode = '0';
}); });
form.render(); form.render();
form.on('submit(formSearch)', function (data) {
if (winui.verifyForm(data.elem)) {
refreshTable();
}
return false;
});
$("body").on("click", "#reloadTable", function() { $("body").on("click", "#reloadTable", function() {
loadTable(); loadTable();
}); });
function loadTable() { function loadTable() {
table.reloadData("messageTable", {where: getTableParams()}); table.reloadData("messageTable", {where: getTableParams()});
} }
function refreshTable(){
table.reloadData("messageTable", {page: {curr: 1}, where: getTableParams()});
}
function getTableParams() { function getTableParams() {
return { return $.extend(true, {}, initTableSearchUtil.getSearchValue("messageTable"));
name: $("#name").val(),
number: $("#number").val()
};
} }
exports('erpWorkProcedureChoose', {}); exports('erpWorkProcedureChoose', {});
......
...@@ -5,43 +5,19 @@ ...@@ -5,43 +5,19 @@
<title></title> <title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" /> <link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" /> <link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
<link href="../../assets/lib/layui/lay/modules/ztree/css/zTreeStyle/zTreeStyle.css" rel="stylesheet" />
<link href="../../assets/lib/layui/lay/modules/contextMenu/jquery.contextMenu.min.css" rel="stylesheet" />
</head> </head>
<body> <body>
<div class="txtcenter" style="margin:0 auto;padding-top:10px;"> <div class="winui-tip alert-info" id="showInfo">
<div class="winui-tip alert-info" id="showInfo">
</div>
<form class="layui-form layui-form-pane" action="" autocomplete="off">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">工序名称</label>
<div class="layui-input-inline">
<input type="text" id="name" name="name" placeholder="请输入工序名称" class="layui-input" />
</div>
<label class="layui-form-label">工序编号</label>
<div class="layui-input-inline">
<input type="text" id="number" name="number" placeholder="请输入工序编号" class="layui-input" />
</div>
<button type="reset" class="layui-btn layui-btn-primary list-form-search"><language showName="com.skyeye.reset"></language></button>
<button class="layui-btn list-form-search" lay-submit lay-filter="formSearch"><language showName="com.skyeye.search2"></language></button>
</div>
</div>
</form>
</div> </div>
<div class="winui-toolbar"> <div class="winui-toolbar">
<div class="winui-tool"> <div class="winui-tool">
<button id="reloadTable" class="winui-toolbtn"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button> <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 class="layui-btn layui-btn-sm layui-btn-normal" type="button" id="saveCheckBox" style="float: right; display: none;"> <button id="saveCheckBox" class="winui-toolbtn search-table-btn-right" type="button" style="display: none;"><i class="fa fa-save" aria-hidden="true"></i><language showName="com.skyeye.save"></language></button>
<i class="fa fa-save" aria-hidden="true" style="margin-right: 5px"></i>保存
</button>
</div> </div>
</div> </div>
<div style="margin:auto 10px;"> <div style="margin: auto 10px;">
<div style="margin:auto 10px;"> <table id="messageTable" lay-filter="messageTable"></table>
<table id="messageTable" lay-filter="messageTable"></table>
</div>
</div> </div>
<script src="../../assets/lib/layui/layui.js"></script> <script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script> <script src="../../assets/lib/layui/custom.js"></script>
......
...@@ -39,8 +39,8 @@ layui.config({ ...@@ -39,8 +39,8 @@ layui.config({
where: getTableParams(), where: getTableParams(),
even: true, even: true,
page: true, page: true,
limits: [8, 16, 24, 32, 40, 48, 56], limits: getLimits(),
limit: 8, limit: getLimit(),
cols: [[ cols: [[
{ type: 'checkbox'}, { type: 'checkbox'},
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' }, { title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' },
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<div class="winui-toolbar"> <div class="winui-toolbar">
<div class="winui-tool"> <div class="winui-tool">
<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="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 class="layui-btn layui-btn-sm layui-btn-normal search-table-btn-right" type="button" id="saveCheckBox"><i class="fa fa-save" aria-hidden="true" style="margin-right: 5px"></i><language showName="com.skyeye.save"></language></button> <button id="saveCheckBox" class="layui-btn layui-btn-sm layui-btn-normal search-table-btn-right" type="button"><i class="fa fa-save" aria-hidden="true" style="margin-right: 5px"></i><language showName="com.skyeye.save"></language></button>
</div> </div>
</div> </div>
<div style="margin:auto 10px;"> <div style="margin:auto 10px;">
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册