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

新增操作功能

上级 210311ad
......@@ -9,6 +9,7 @@ layui.config({
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form;
var selOption = getFileContent('tpl/template/select-option.tpl');
var _html = {
'color': `<div class="layui-form-item layui-col-xs6">
......@@ -17,7 +18,10 @@ layui.config({
<select id="color" name="color" lay-filter="color" win-verify="required"></select>
</div>
</div>`,
'businessApi': `<div class="layui-form-item layui-col-xs6">
'businessApi': `<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 id="serviceStr" name="serviceStr" lay-filter="serviceStr" win-verify="required"></select>
......@@ -35,13 +39,16 @@ layui.config({
<select id="method" name="method" lay-filter="method" win-verify="required"></select>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">接口入参</label>
<div class="layui-input-block" id="pageParams">
<div class="layui-input-block" id="apiParams">
</div>
</div>`,
'operateOpenPage': `<div class="layui-form-item layui-col-xs6">
'operateOpenPage': `<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">
<input type="text" id="openPageName" name="openPageName" win-verify="required" placeholder="请输入新开页面名称" class="layui-input" maxlength="200"/>
......@@ -56,44 +63,133 @@ layui.config({
</div>
<div id="typeChangeBox">
</div>
<div class="layui-form-item layui-col-xs6">
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">页面入参</label>
<div class="layui-input-block" id="pageParams">
</div>
</div>`,
'customPageUrl': `<div class="layui-form-item layui-col-xs6">
'customPageUrl': `<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">页面地址<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="pageUrl" name="pageUrl" placeholder="请输入接口地址" win-verify="required" class="layui-input" maxlength="200"/>
<input type="text" id="pageUrl" name="pageUrl" placeholder="请输入页面地址" win-verify="required" class="layui-input" maxlength="200"/>
</div>
</div>`,
'dsFormPage': `<div class="layui-form-item layui-col-xs6">
'dsFormPage': `<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">表单布局<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="pageUrl" name="pageUrl" placeholder="请选择表单布局" win-verify="required" class="layui-input"/>
<input type="text" id="pageUrl" name="pageUrl" placeholder="请选择表单布局" win-verify="required" class="layui-input" readonly="readonly"/>
<i class="fa fa-plus-circle input-icon chooseBtn" style="top: 12px;"></i>
</div>
</div>`,
};
var attrHtml = '';
AjaxPostUtil.request({url: reqBasePath + "queryAttrDefinitionList", params: {className: parent.objectId}, type: 'json', method: "POST", callback: function (json) {
attrHtml = getDataUseHandlebars(`<option value="">全部</option>{{#each rows}}<option value="{{attrKey}}">{{name}}</option>{{/each}}`, json);
}, async: false});
skyeyeClassEnumUtil.showEnumDataListByClassName("operatePosition", 'select', "position", '', form);
skyeyeClassEnumUtil.showEnumDataListByClassName("eventType", 'select', "eventType", '', form);
form.on('select(position)', function(data) {
if (data.value == 'actionBar') {
// 操作栏
$('#positionChangeBox').html(_html['color']);
skyeyeClassEnumUtil.showEnumDataListByClassName("buttonColorType", 'select', "color", '', form);
} else {
$('#positionChangeBox').html('');
}
});
form.on('select(eventType)', function(data) {
if (isNull(data.value)) {
$('#eventTypeChangeBox').html('');
return false;
}
if (data.value == 'ajax') {
// 请求事件
$('#eventTypeChangeBox').html(_html['businessApi']);
$("#serviceStr").html(getDataUseHandlebars(selOption, {rows: serviceMap}));
skyeyeClassEnumUtil.showEnumDataListByClassName("httpMethodEnum", 'select', "method", '', form);
loadParamsTable('apiParams');
} else {
// 新开页面
$('#eventTypeChangeBox').html(_html['operateOpenPage']);
$('#typeChangeBox').html(_html['customPageUrl']);
loadParamsTable('pageParams');
}
form.render();
});
form.on('radio(type)', function (data) {
if (data.value == 1) {
$('#typeChangeBox').html(_html['customPageUrl']);
} else {
$('#typeChangeBox').html(_html['dsFormPage']);
}
});
function loadParamsTable(id) {
initTableChooseUtil.initTable({
id: id,
cols: [
{id: 'key', title: '入参Key', formType: 'input', width: '150', verify: 'required'},
{id: 'attrKey', title: '属性', formType: 'select', width: '200', verify: 'required', modelHtml: attrHtml}
],
deleteRowCallback: function (trcusid) {
},
addRowCallback: function (trcusid) {
},
form: form
});
}
matchingLanguage();
form.render();
form.on('submit(formAddBean)', function (data) {
form.on('submit(formWriteBean)', function (data) {
if (winui.verifyForm(data.elem)) {
var params = {
objectId: parent.objectId,
objectKey: parent.objectKey,
className: parent.objectId,
name: $("#name").val(),
department: $("#department").val(),
job: $("#job").val(),
workPhone: $("#workPhone").val(),
mobilePhone: $("#mobilePhone").val(),
email: $("#email").val(),
qq: $("#qq").val(),
wechat: $("#wechat").val(),
isDefault: $("input[name='isDefault']:checked").val()
position: $("#position").val(),
color: $("#color").val(),
authPointNum: $("#authPointNum").val(),
eventType: $("#eventType").val(),
orderBy: $("#orderBy").val(),
};
AjaxPostUtil.request({url: reqBasePath + "writeContactsMation", params: params, type: 'json', method: 'POST', callback: function (json) {
if (params.eventType == 'ajax') {
var dataList = initTableChooseUtil.getDataList('apiParams').dataList;
var apiParams = {};
$.each(dataList, function (i, item) {
apiParams[item.key] = item.attrKey;
});
var businessApi = {
serviceStr: $("#serviceStr").val(),
api: $("#api").val(),
method: $("#method").val(),
params: apiParams
};
params.businessApi = JSON.stringify(businessApi);
params.operateOpenPage = JSON.stringify({});
} else {
var dataList = initTableChooseUtil.getDataList('apiParams').dataList;
var pageParams = {};
$.each(dataList, function (i, item) {
pageParams[item.key] = item.attrKey;
});
var type = $("input[name='type']:checked").val();
var operateOpenPage = {
name: $("#openPageName").val(),
type: type == 1 ? true : false,
pageUrl: type == 1 ? $("#pageUrl").val() : dsFormUtil.dsFormChooseMation.id,
params: pageParams
};
params.operateOpenPage = JSON.stringify(operateOpenPage);
params.businessApi = JSON.stringify({});
}
AjaxPostUtil.request({url: reqBasePath + "writeOperate", params: params, type: 'json', method: 'POST', callback: function (json) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
......@@ -101,6 +197,13 @@ layui.config({
return false;
});
$("body").on("click", ".chooseBtn", function() {
dsFormUtil.openDsFormPageChoosePage(function (dsFormChoose) {
var serviceName = dsFormChoose.serviceBeanCustom.serviceBean.name;
$("#pageUrl").val(serviceName + '' + dsFormChoose.name + '');
});
});
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
......
......@@ -12,7 +12,7 @@
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">基本信息</span><hr>
</div>
<div class="layui-form-item layui-col-xs6">
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">名称<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="name" name="name" win-verify="required" placeholder="请输入名称" class="layui-input" maxlength="200"/>
......@@ -43,19 +43,19 @@
</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>
</div>
<div id="eventTypeChangeBox">
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">排序</label>
<div class="layui-input-block">
<input type="text" id="orderBy" name="orderBy" win-verify="required|number" placeholder="请输入排序序号" class="layui-input"/>
</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>
<button class="winui-btn" lay-submit lay-filter="formWriteBean"><language showName="com.skyeye.save"></language></button>
</div>
</div>
</form>
......
// todo 待删除
layui.config({
base: basePath,
version: skyeyeVersion
......@@ -84,12 +86,13 @@ layui.config({
// 加载动添表单选择按钮的点击事件
var btnId = par.dsFormChooseList + "Btn";
$("body").on("click", "#" + btnId, function (e) {
dsFormUtil.chooseType = false; // 单选
dsFormUtil.openDsFormPageChoosePage(function () {
$("#" + par.dsFormChooseList).val(dsFormUtil.dsFormChooseMation.numCode);
$("#" + par.dsFormChooseList).attr("dataId", dsFormUtil.dsFormChooseMation.id);
$("#" + par.name).html(dsFormUtil.dsFormChooseMation.name);
});
// todo 待删除
// dsFormUtil.chooseType = false; // 单选
// dsFormUtil.openDsFormPageChoosePage(function () {
// $("#" + par.dsFormChooseList).val(dsFormUtil.dsFormChooseMation.numCode);
// $("#" + par.dsFormChooseList).attr("dataId", dsFormUtil.dsFormChooseMation.id);
// $("#" + par.name).html(dsFormUtil.dsFormChooseMation.name);
// });
});
}
......
......@@ -4,37 +4,38 @@ layui.config({
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form', 'tableCheckBoxUtil'], function (exports) {
}).define(['window', 'table', 'jquery', 'winui', 'form', 'fsTree'], function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form,
table = layui.table,
tableCheckBoxUtil = layui.tableCheckBoxUtil;
fsTree = layui.fsTree;
var objectId = 'temp';
if(parent.dsFormUtil.chooseType) {
// 多选
var ids = [];
$.each(parent.dsFormUtil.dsFormChooseList, function (i, item) {
ids.push(item.id);
});
tableCheckBoxUtil.setIds({
gridId: 'messageTable',
fieldName: 'farmId',
ids: ids
});
fsTree.render({
id: "treeDemo",
url: reqBasePath + "queryServiceClassForTree",
checkEnable: false,
loadEnable: false,
showLine: false,
showIcon: true,
addDiyDom: ztreeUtil.addDiyDom,
clickCallback: onClickTree,
onDblClick: onClickTree
}, function(id) {
fuzzySearch(id, '#name', null, true);
ztreeUtil.initEventListener(id);
});
tableCheckBoxUtil.init({
gridId: 'messageTable',
filterId: 'messageTable',
fieldName: 'id'
});
} else {
// 单选
$("#saveCheckBox").hide();
function onClickTree(event, treeId, treeNode) {
if (treeNode.level != 3) {
return false;
}
objectId = treeNode.id;
loadTable();
}
var tableList = [];
table.render({
id: 'messageTable',
elem: '#messageTable',
......@@ -46,71 +47,37 @@ layui.config({
limits: getLimits(),
limit: getLimit(),
cols: [[
{ type: parent.dsFormUtil.chooseType ? 'checkbox' : 'radio', fixed: 'left'},
{ type: 'radio', fixed: 'left' },
{ field: 'name', title: '名称', align: 'left', width: 120 },
{ field: 'remark', title: '简介', align: 'left', width: 350 },
{ field: 'numCode', title: '页面编号', align: 'center', width: 150 },
{ field: 'type', title: '类型', align: 'left', width: 120, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("dsFormPageType", 'id', d.type, 'name');
}}
]],
done: function(res, curr, count){
done: function(res, curr, count) {
matchingLanguage();
$.each(res.rows, function (i, item) {
if(isNull(getInPoingArr(tableList, "id", item.id, null))){
tableList.push(item);
}
});
if(parent.dsFormUtil.chooseType) {
// 多选
tableCheckBoxUtil.checkedDefault({
gridId: 'messageTable',
fieldName: 'id'
});
} else {
// 单选
$('#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");
dubClick.find("input[type='radio']").prop("checked", true);
form.render();
var chooseIndex = JSON.stringify(dubClick.data('index'));
var obj = res.rows[chooseIndex];
parent.dsFormUtil.dsFormChooseMation = obj;
parent.refreshCode = '0';
parent.layer.close(index);
});
// 单选
$('#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");
dubClick.find("input[type='radio']").prop("checked", true);
form.render();
var chooseIndex = JSON.stringify(dubClick.data('index'));
var obj = res.rows[chooseIndex];
parent.dsFormUtil.dsFormChooseMation = obj;
$('#messageTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('click',function(){
var click = $('#messageTable').next().find('.layui-table-body').find("table").find("tbody").find(".layui-table-hover");
click.find("input[type='radio']").prop("checked", true);
form.render();
});
}
parent.refreshCode = '0';
parent.layer.close(index);
});
initTableSearchUtil.initAdvancedSearch(this, res.searchFilter, form, "请输入名称", function () {
table.reloadData("messageTable", {page: {curr: 1}, where: getTableParams()});
$('#messageTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('click',function(){
var click = $('#messageTable').next().find('.layui-table-body').find("table").find("tbody").find(".layui-table-hover");
click.find("input[type='radio']").prop("checked", true);
form.render();
});
}
});
// 保存
$("body").on("click", "#saveCheckBox", function() {
var selectedData = tableCheckBoxUtil.getValue({
gridId: 'messageTable'
});
if(selectedData.length == 0){
winui.window.msg("请选择表单", {icon: 2, time: 2000});
return false;
}
var result = [];
$.each(selectedData, function(i, item) {
result.push(getInPoingArr(tableList, "id", item, ""));
});
parent.dsFormUtil.dsFormChooseList = [].concat(result);
parent.layer.close(index);
parent.refreshCode = '0';
});
form.render();
$("body").on("click", "#reloadTable", function() {
loadTable();
......@@ -121,7 +88,7 @@ layui.config({
}
function getTableParams() {
return $.extend(true, {}, initTableSearchUtil.getSearchValue("messageTable"));
return {className: objectId};
}
exports('dsFormPageListChoose', {});
......
......@@ -5,19 +5,34 @@
<title></title>
<link href="../../assets/lib/layui/css/layui.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/winui/css/customer/ztree/common-tree.css" rel="stylesheet" />
</head>
<body>
<div class="winui-toolbar">
<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 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>
<div class="manage-console">
<div style="width: 250px; padding: 0px 5px" class="manage-console-left">
<input type="text" id="name" name="name" placeholder="请输入要搜索的节点" class="layui-input" />
<ul id="treeDemo" class="ztree fsTree" method="get" isRoot="1"
treeIdKey="id" inputs="parentId" treePIdKey="parentId" clickCallbackInputs="parentId:$id" treeName="name"></ul>
</div>
<div style="width: calc(100% - 270px);" class="manage-console-right">
<div class="winui-toolbar">
<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>
</div>
</div>
<div style="margin: auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table>
</div>
</div>
</div>
<div style="margin: auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/jquery-min.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ztree/js/jquery.ztree.all.min.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ztree/js/jquery.ztree.exhide.min.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ztree/js/fuzzysearch.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/dsFormPage/'}).use('dsFormPageListChoose');
</script>
......
......@@ -80,6 +80,30 @@ function initBaseParams(){
reportBasePath = sysMainMation.reportBasePath;
}
var serviceMap = [
{"id": "sysMainMation.reqBasePath", "name": "基础服务"},
{"id": "sysMainMation.shopBasePath", "name": "商城服务"},
{"id": "sysMainMation.flowableBasePath", "name": "工作流相关功能的服务"},
{"id": "sysMainMation.schoolBasePath", "name": "学校服务"},
{"id": "sysMainMation.reportBasePath", "name": "报表服务"},
{"id": "sysMainMation.surveyBasePath", "name": "问卷服务"},
{"id": "sysMainMation.noteBasePath", "name": "笔记服务"},
{"id": "sysMainMation.workplanBasePath", "name": "工作计划服务"},
{"id": "sysMainMation.rmprogramBasePath", "name": "小程序设计服务"},
{"id": "sysMainMation.knowlgBasePath", "name": "知识库服务"},
{"id": "sysMainMation.mailBasePath", "name": "通讯录服务"},
{"id": "sysMainMation.diskCloudBasePath", "name": "云盘服务"},
{"id": "sysMainMation.emailBasePath", "name": "邮箱服务"},
{"id": "sysMainMation.scheduleBasePath", "name": "日程服务"},
{"id": "sysMainMation.businessFlowBasePath", "name": "业务流程规划服务"},
{"id": "sysMainMation.noticeBasePath", "name": "公告服务"},
{"id": "sysMainMation.forumBasePath", "name": "论坛服务"},
{"id": "sysMainMation.jobdiaayBasePath", "name": "日报服务"},
{"id": "sysMainMation.ehrBasePath", "name": "EHR服务"},
{"id": "sysMainMation.lightAppBasePath", "name": "轻应用服务"},
{"id": "sysMainMation.wagesBasePath", "name": "薪资服务"},
]
function getRequestHeaders() {
return {
userToken: getCookie('userToken'),
......
......@@ -2,10 +2,6 @@
// 动态表单工具函数
var dsFormUtil = {
dsFormChooseList: [], // 动态表单选择页面类型为【多选】时返回的参数
dsFormChooseMation: {}, // 动态表单选择页面类型为【单选】时返回的参数
chooseType: true, // 动态表单选择页面类型,true:多选;false:单选
dsFormDataKey: "initData",
dsFormBtnTemplate: '<button type="button" class="layui-btn layui-btn-primary layui-btn-xs" id="{{btnId}}">表单选择</button>',
customDsFormBox: '<div class="layui-form-item layui-col-xs12"><span class="hr-title">{{dsFormPage.name}}</span><hr></div><div id="{{dsFormPage.id}}" class="ds-form-page layui-col-xs12"></div>',
......@@ -28,6 +24,7 @@ var dsFormUtil = {
*
* @param callback 回调函数
*/
dsFormChooseMation: {}, // 动态表单选择页面类型为【单选】时返回的参数
openDsFormPageChoosePage: function (callback) {
_openNewWindows({
url: "../../tpl/dsFormPage/dsFormPageListChoose.html",
......@@ -36,29 +33,11 @@ var dsFormUtil = {
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
if(typeof(callback) == "function") {
callback(dsFormUtil.dsFormChooseList);
callback(dsFormUtil.dsFormChooseMation);
}
}});
},
/**
* 初始化表单选择按钮信息 todo 目前没有用到
*
* @param id dom对象的id
*/
initDsFormChooseBtn: function(id, initData) {
var btnId = id + 'Btn';
$("#" + id).attr(dsFormUtil.dsFormDataKey, JSON.stringify(initData));
dsFormUtil.initData(id, btnId);
$("body").on("click", "#" + btnId, function (e) {
dsFormUtil.dsFormChooseList = [].concat(JSON.parse($("#" + id).attr("initData")));
dsFormUtil.openDsFormPageChoosePage(function (){
$("#" + id).attr(dsFormUtil.dsFormDataKey, JSON.stringify(dsFormUtil.dsFormChooseList));
dsFormUtil.initData(id, btnId);
});
});
},
/**
* 加载数据
*
......
{
"commonEnable": {"name": "启用/禁用", "className": "skyeye-pro#com.skyeye.common.enumeration.EnableEnum"},
"commonIsDefault": {"name": "是否默认", "className": "skyeye-pro#com.skyeye.common.enumeration.IsDefaultEnum"},
"httpMethodEnum": {"name": "http请求方式", "className": "skyeye-pro#com.skyeye.common.enumeration.HttpMethodEnum"},
"verificationParams": {"name": "字段校验枚举", "className": "skyeye-pro#com.skyeye.common.enumeration.VerificationParamsEnum"},
"isUsed": {"name": "是否使用的枚举", "className": "skyeye-pro#com.skyeye.common.enumeration.IsUsedEnum"},
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册