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

表格组件修改

上级 4e831e2e
...@@ -20,7 +20,7 @@ layui.config({ ...@@ -20,7 +20,7 @@ layui.config({
version: skyeyeVersion version: skyeyeVersion
}).extend({ }).extend({
window: 'js/winui.window' window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'dragula', 'tagEditor'].concat(dsFormUtil.mastHaveImport), function (exports) { }).define(['window', 'jquery', 'winui', 'dragula', 'tagEditor', 'table'].concat(dsFormUtil.mastHaveImport), function (exports) {
winui.renderColor(); winui.renderColor();
var index = parent.layer.getFrameIndex(window.name); var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$; var $ = layui.$;
......
...@@ -202,7 +202,7 @@ layui.config({ ...@@ -202,7 +202,7 @@ layui.config({
</div>`, </div>`,
}; };
// 详情类布局才展示的组件属性 // 详情类布局才展示的组件属性
var detailsPageAttr = ['attrKeyBox', 'titleBox', 'widthBox']; var detailsPageAttr = ['attrKeyBox', 'titleBox', 'widthBox', 'tableAttrBox'];
// 加载组件关联的属性 // 加载组件关联的属性
$.each(html, function (key, value) { $.each(html, function (key, value) {
...@@ -303,7 +303,7 @@ layui.config({ ...@@ -303,7 +303,7 @@ layui.config({
$("body").on("click", "#attrTransformTableListConfig", function() { $("body").on("click", "#attrTransformTableListConfig", function() {
parent.temData = $("#attrTransformTableListConfig").parent().attr('data'); parent.temData = $("#attrTransformTableListConfig").parent().attr('data');
parent._openNewWindows({ parent._openNewWindows({
url: "../../tpl/dsFormPage/editPageContentIsTable.html?attrKey=" + $("#attrKey").val() + '&className=' + parent.className, url: "../../tpl/dsFormPage/editPageContentIsTable.html?attrKey=" + $("#attrKey").val() + '&className=' + parent.className + '&pageType=' + pageType,
title: '表格属性配置', title: '表格属性配置',
pageId: "editPageContentIsTable", pageId: "editPageContentIsTable",
area: ['90vw', '90vh'], area: ['90vw', '90vh'],
......
...@@ -23,6 +23,7 @@ layui.config({ ...@@ -23,6 +23,7 @@ layui.config({
var parentAttrKey = GetUrlParam("attrKey"); var parentAttrKey = GetUrlParam("attrKey");
var parentClassName = GetUrlParam("className"); var parentClassName = GetUrlParam("className");
var pageType = GetUrlParam("pageType");
var params = { var params = {
className: parentClassName, className: parentClassName,
attrKey: parentAttrKey attrKey: parentAttrKey
...@@ -46,81 +47,141 @@ layui.config({ ...@@ -46,81 +47,141 @@ layui.config({
{id: "detail", name: "文本"} {id: "detail", name: "文本"}
]; ];
var cols = [[ var cols;
{ type: 'checkbox', align: 'center' }, if (pageType == 'details') {
{ field: 'test', title: '', align: 'left', width: 40, templet: function (d) {return '<i class="fa fa-arrows drag-row" />';}}, cols = [[
{ field: 'attrKey', title: '属性<i class="red">*</i>', align: 'left', width: 150, templet: function (d) { { type: 'checkbox', align: 'center' },
var _html = `<select lay-filter="tableSelect" lay-search="" id="attrKey${d.id}" cus-id="${d.id}" win-verify="required"><option value="">全部</option>`; { field: 'test', title: '', align: 'left', width: 40, templet: function (d) {return '<i class="fa fa-arrows drag-row" />';}},
$.each(childAttr, function (i, item) { { field: 'attrKey', title: '属性<i class="red">*</i>', align: 'left', width: 150, templet: function (d) {
if (item.attrKey == d.attrKey) { 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}" selected="selected">${item.name}</option>`; $.each(childAttr, function (i, item) {
} else { if (item.attrKey == d.attrKey) {
_html += `<option value="${item.attrKey}">${item.name}</option>`; _html += `<option value="${item.attrKey}" selected="selected">${item.name}</option>`;
} } else {
}); _html += `<option value="${item.attrKey}">${item.name}</option>`;
_html += `</select>`; }
return _html; });
}}, _html += `</select>`;
{ field: 'name', title: '显示名称<i class="red">*</i>', align: 'left', width: 120, templet: function (d) { return _html;
return `<input type="text" id="name${d.id}" placeholder="请填写显示名称" cus-id="${d.id}" win-verify="required" class="layui-input tableInput" ` + }},
`value="` + (isNull(d.name) ? "" : d.name) + `"/>`; { field: 'name', title: '显示名称<i class="red">*</i>', 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" ` +
{ field: 'align', title: '对齐方式<i class="red">*</i>', align: 'left', width: 120, templet: function (d) { `value="` + (isNull(d.name) ? "" : d.name) + `"/>`;
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) { { field: 'align', title: '对齐方式<i class="red">*</i>', align: 'left', width: 120, templet: function (d) {
if (item.id == d.align) { 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}" selected="selected">${item.name}</option>`; $.each(alignmentData.rows, function (i, item) {
} else { if (item.id == d.align) {
_html += `<option value="${item.id}">${item.name}</option>`; _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: '宽度<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" ` +
`value="` + (isNull(d.width) ? "" : d.width) + `"/>`;
}},
{ 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>`;
$.each(showType, function (i, item) {
if (item.id == d.showType) {
_html += `<option value="${item.id}" selected="selected">${item.name}</option>`;
} else {
_html += `<option value="${item.id}">${item.name}</option>`;
}
});
_html += `</select>`;
return _html;
}},
{ field: 'dataFrom', title: '数据源', align: 'left', width: 200, templet: function (d) {
var disabledClass = d.showType == showType[2].id ? '' : 'layui-btn-disabled';
var btnName = '选择数据源';
if (!isNull(d.dataType)) {
btnName = '更换数据源';
} }
}); return `<button id="dataFrom${d.id}" type="button" cus-id="${d.id}" class="chooseDataFrom ${disabledClass}">${btnName}</button>`;
_html += `</select>`; }}
return _html; ]];
}}, } else {
{ field: 'layFilter', title: '表单监听Filter', align: 'left', width: 120, templet: function (d) { cols = [[
return `<input type="text" id="layFilter${d.id}" placeholder="表单监听Filter" cus-id="${d.id}" class="layui-input tableInput" ` + { type: 'checkbox', align: 'center' },
`value="` + (isNull(d.layFilter) ? "" : d.layFilter) + `"/>`; { 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) {
{ field: 'width', title: '宽度<i class="red">*</i>', align: 'left', width: 120, 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>`;
return `<input type="text" id="width${d.id}" placeholder="请填写宽度" cus-id="${d.id}" class="layui-input tableInput" win-verify="required|number" ` + $.each(childAttr, function (i, item) {
`value="` + (isNull(d.width) ? "" : d.width) + `"/>`; if (item.attrKey == d.attrKey) {
}}, _html += `<option value="${item.attrKey}" selected="selected">${item.name}</option>`;
{ field: 'showType', title: '显示方式<i class="red">*</i>', align: 'left', width: 120, templet: function (d) { } else {
var _html = `<select lay-filter="tableSelect" lay-search="" id="showType${d.id}" cus-id="${d.id}" win-verify="required"><option value="">全部</option>`; _html += `<option value="${item.attrKey}">${item.name}</option>`;
$.each(showType, function (i, item) { }
if (item.id == d.showType) { });
_html += `<option value="${item.id}" selected="selected">${item.name}</option>`; _html += `</select>`;
} else { return _html;
_html += `<option value="${item.id}">${item.name}</option>`; }},
{ field: 'name', title: '显示名称<i class="red">*</i>', 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" ` +
`value="` + (isNull(d.name) ? "" : d.name) + `"/>`;
}},
{ field: 'align', 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>`;
$.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: 'layFilter', title: '表单监听Filter', align: 'left', width: 120, templet: function (d) {
return `<input type="text" id="layFilter${d.id}" placeholder="表单监听Filter" cus-id="${d.id}" class="layui-input tableInput" ` +
`value="` + (isNull(d.layFilter) ? "" : d.layFilter) + `"/>`;
}},
{ 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" ` +
`value="` + (isNull(d.width) ? "" : d.width) + `"/>`;
}},
{ 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>`;
$.each(showType, function (i, item) {
if (item.id == d.showType) {
_html += `<option value="${item.id}" selected="selected">${item.name}</option>`;
} else {
_html += `<option value="${item.id}">${item.name}</option>`;
}
});
_html += `</select>`;
return _html;
}},
{ field: 'require', title: '限制条件', align: 'left', width: 200, templet: function (d) {
return `<div id="require${d.id}" cus-id="${d.id}"></div>`;
}},
{ field: 'dataFrom', title: '数据源', align: 'left', width: 200, templet: function (d) {
var disabledClass = d.showType == showType[2].id ? '' : 'layui-btn-disabled';
var btnName = '选择数据源';
if (!isNull(d.dataType)) {
btnName = '更换数据源';
} }
}); return `<button id="dataFrom${d.id}" type="button" cus-id="${d.id}" class="chooseDataFrom ${disabledClass}">${btnName}</button>`;
_html += `</select>`; }},
return _html; { field: 'value', title: '默认值', align: 'left', width: 120, templet: function (d) {
}}, return `<input type="text" id="value${d.id}" placeholder="默认值" cus-id="${d.id}" class="layui-input tableInput" ` +
{ field: 'require', title: '限制条件', align: 'left', width: 200, templet: function (d) { `value="` + (isNull(d.value) ? "" : d.value) + `"/>`;
return `<div id="require${d.id}" cus-id="${d.id}"></div>`; }},
}}, { field: 'className', title: 'class属性', align: 'left', width: 120, templet: function (d) {
{ field: 'dataFrom', title: '数据源', align: 'left', width: 200, templet: function (d) { return `<input type="text" id="className${d.id}" placeholder="class属性" cus-id="${d.id}" class="layui-input tableInput" ` +
var disabledClass = d.showType == showType[2].id ? '' : 'layui-btn-disabled'; `value="` + (isNull(d.className) ? "" : d.className) + `"/>`;
var btnName = '选择数据源'; }},
if (!isNull(d.dataType)) { { field: 'iconClassName', title: 'ICON的class属性', align: 'left', width: 150, templet: function (d) {
btnName = '更换数据源'; return `<input type="text" id="iconClassName${d.id}" placeholder="ICON的class属性" cus-id="${d.id}" class="layui-input tableInput" ` +
} `value="` + (isNull(d.iconClassName) ? "" : d.iconClassName) + `"/>`;
return `<button id="dataFrom${d.id}" type="button" cus-id="${d.id}" class="chooseDataFrom ${disabledClass}">${btnName}</button>`; }},
}}, ]];
{ field: 'value', title: '默认值', align: 'left', width: 120, templet: function (d) { }
return `<input type="text" id="value${d.id}" placeholder="默认值" cus-id="${d.id}" class="layui-input tableInput" ` +
`value="` + (isNull(d.value) ? "" : d.value) + `"/>`;
}},
{ field: 'className', title: 'class属性', align: 'left', width: 120, templet: function (d) {
return `<input type="text" id="className${d.id}" placeholder="class属性" cus-id="${d.id}" class="layui-input tableInput" ` +
`value="` + (isNull(d.className) ? "" : d.className) + `"/>`;
}},
{ field: 'iconClassName', title: 'ICON的class属性', align: 'left', width: 150, templet: function (d) {
return `<input type="text" id="iconClassName${d.id}" placeholder="ICON的class属性" cus-id="${d.id}" class="layui-input tableInput" ` +
`value="` + (isNull(d.iconClassName) ? "" : d.iconClassName) + `"/>`;
}},
]]
table.render({ table.render({
id: 'messageTable', id: 'messageTable',
......
...@@ -7,7 +7,7 @@ layui.config({ ...@@ -7,7 +7,7 @@ layui.config({
version: skyeyeVersion version: skyeyeVersion
}).extend({ }).extend({
window: 'js/winui.window' window: 'js/winui.window'
}).define(['window', 'jquery'], function (exports) { }).define(['window', 'jquery', 'table'], function (exports) {
winui.renderColor(); winui.renderColor();
var $ = layui.$; var $ = layui.$;
var pageId = GetUrlParam("pageId"); var pageId = GetUrlParam("pageId");
......
...@@ -113,7 +113,7 @@ ...@@ -113,7 +113,7 @@
background-color: #eaeaf6 !important; background-color: #eaeaf6 !important;
} }
.center-box-form .layui-form { .center-box-form>.layui-form {
float: left; float: left;
margin-top: 10px; margin-top: 10px;
position: absolute; position: absolute;
......
...@@ -66,7 +66,7 @@ layui.config({ ...@@ -66,7 +66,7 @@ layui.config({
} else if (layEvent === 'edit') { //编辑 } else if (layEvent === 'edit') { //编辑
edit(data); edit(data);
} else if (layEvent === 'subApproval') { //提交审核 } else if (layEvent === 'subApproval') { //提交审核
erpOrderUtil.submitOrderMation(data.id, serviceClassName, data.submitType, serviceClassName, function() { erpOrderUtil.submitOrderMation(data.id, serviceClassName, function() {
loadTable(); loadTable();
}); });
} else if (layEvent === 'turnPurchase') { //转采购入库单 } else if (layEvent === 'turnPurchase') { //转采购入库单
...@@ -111,7 +111,7 @@ layui.config({ ...@@ -111,7 +111,7 @@ layui.config({
function details(data) { function details(data) {
rowId = data.id; rowId = data.id;
_openNewWindows({ _openNewWindows({
url: "../../tpl/purchaseOrder/purchaseOrderDetails.html", url: systemCommonUtil.getUrl('FP2023042000003&id=' + data.id, null),
title: systemLanguage["com.skyeye.detailsPageTitle"][languageType], title: systemLanguage["com.skyeye.detailsPageTitle"][languageType],
pageId: "purchaseOrderDetails", pageId: "purchaseOrderDetails",
area: ['90vw', '90vh'], area: ['90vw', '90vh'],
......
...@@ -118,33 +118,25 @@ var erpOrderUtil = { ...@@ -118,33 +118,25 @@ var erpOrderUtil = {
* @param submitType 单据提交类型 1.走工作流提交 2.直接提交 * @param submitType 单据提交类型 1.走工作流提交 2.直接提交
* @param actKey 该地址为 sysServiceMation.json的key * @param actKey 该地址为 sysServiceMation.json的key
*/ */
submitOrderMation: function (id, serviceClassName, submitType, actKey, callback) { submitOrderMation: function (id, serviceClassName, callback) {
layer.confirm('确认要提交吗?', { icon: 3, title: '提交操作' }, function (index) { layer.confirm('确认要提交吗?', { icon: 3, title: '提交操作' }, function (index) {
layer.close(index); layer.close(index);
if (submitType == 1) { activitiUtil.startProcess(serviceClassName, null, function (approvalId) {
activitiUtil.startProcess(actKey, null, function (approvalId) { var params = {
erpOrderUtil.submitOrderMationToData(id, serviceClassName, approvalId, callback); rowId: id,
}); serviceClassName: serviceClassName,
} else { approvalId: approvalId
erpOrderUtil.submitOrderMationToData(id, serviceClassName, "", callback); };
} AjaxPostUtil.request({url: sysMainMation.erpBasePath + "erpcommon006", params: params, method: "PUT", type: 'json', callback: function(json) {
winui.window.msg("提交成功。", {icon: 1, time: 2000});
if (typeof (callback) == "function") {
callback();
}
}});
});
}); });
}, },
submitOrderMationToData: function (id, serviceClassName, approvalId, callback) {
var params = {
rowId: id,
serviceClassName: serviceClassName,
approvalId: approvalId
};
AjaxPostUtil.request({url: sysMainMation.erpBasePath + "erpcommon006", params: params, method: "PUT", type: 'json', callback: function(json) {
winui.window.msg("提交成功。", {icon: 1, time: 2000});
if (typeof (callback) == "function") {
callback();
}
}});
},
/** /**
* 撤销订单信息 * 撤销订单信息
* *
......
...@@ -387,7 +387,9 @@ var dsFormUtil = { ...@@ -387,7 +387,9 @@ var dsFormUtil = {
$("#" + boxId).append(str); $("#" + boxId).append(str);
if (showType == 5) { // 表格展示 if (showType == 5) { // 表格展示
dsFormTableUtil.intStaticTable("messageTable" + content.orderBy, value, content.attrTransformTableList); var result = dsFormUtil.resetTableValue(value, content.attrTransformTableList);
console.log(result)
dsFormTableUtil.intStaticTable("messageTable" + content.orderBy, result, content.attrTransformTableList);
} else if (showType == 6) { // 凭证展示 } else if (showType == 6) { // 凭证展示
var boxId = "showVoucher" + content.orderBy; var boxId = "showVoucher" + content.orderBy;
// 初始化凭证 // 初始化凭证
...@@ -398,6 +400,29 @@ var dsFormUtil = { ...@@ -398,6 +400,29 @@ var dsFormUtil = {
return content; return content;
}, },
resetTableValue: function (data, attrTransformTableList) {
if (isNull(data)) {
return [];
}
var result = [];
$.each(data, function (i, itemVal) {
var map = {};
$.each(itemVal, function (key, val) {
var attrTransformTable = getInPoingArr(attrTransformTableList, 'attrKey', key);
if (!isNull(attrTransformTable) &&
(attrTransformTable.showType == 'chooseInput' || attrTransformTable.showType == 'select')) {
var transKey = dsFormUtil.getKeyIdToMation(key);
var itemData = itemVal[transKey];
map[key] = itemData.name;
} else {
map[key] = val;
}
});
result.push(map);
});
return result;
},
checkLoadHandlebar: false, checkLoadHandlebar: false,
loadHandlebar: function () { loadHandlebar: function () {
dsFormUtil.checkLoadHandlebar = true; dsFormUtil.checkLoadHandlebar = true;
...@@ -663,10 +688,14 @@ var dsFormTableUtil = { ...@@ -663,10 +688,14 @@ var dsFormTableUtil = {
var table = layui.table; var table = layui.table;
table.render({ table.render({
id: id, id: id,
elem: id, elem: `#${id}`,
data: data, data: data,
even: false,
page: false, page: false,
cols: dsFormUtil.getTableHead({}, tableColumnList) limit: 1000,
cols: dsFormTableUtil.getTableHead({
serialNumColumn: true
}, tableColumnList)
}); });
}, },
...@@ -762,10 +791,13 @@ var dsFormTableUtil = { ...@@ -762,10 +791,13 @@ var dsFormTableUtil = {
fixed: 'left' fixed: 'left'
}); });
} }
if (isNull(tableColumnList)) {
return [header];
}
$.each(tableColumnList, function (i, item) { $.each(tableColumnList, function (i, item) {
var field = { var field = {
field: item.attrKey, field: item.attrKey,
title: item.label, title: item.label || item.name,
align: item.align, align: item.align,
width: item.width, width: item.width,
fixed: isNull(item.fixed) ? '' : item.fixed, fixed: isNull(item.fixed) ? '' : item.fixed,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册