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

属性支持自定义API接口

上级 b07457ad
...@@ -44,6 +44,12 @@ layui.config({ ...@@ -44,6 +44,12 @@ layui.config({
}}, }},
{ field: 'attrKey', title: '属性', align: 'left', width: 150 }, { field: 'attrKey', title: '属性', align: 'left', width: 150 },
{ field: 'attrType', title: '类型', align: 'left', width: 120 }, { field: 'attrType', title: '类型', align: 'left', width: 120 },
{ field: 'whetherInputParams', title: '是否入参', align: 'center', width: 100, templet: function (d) {
if (d.whetherInputParams) {
return '';
}
return '';
}},
{ field: 'componentName', title: '关联组件', align: 'left', width: 140, templet: function (d) { { field: 'componentName', title: '关联组件', align: 'left', width: 140, templet: function (d) {
if (!isNull(d.attrDefinitionCustom) && !isNull(d.attrDefinitionCustom.dsFormComponent)) { if (!isNull(d.attrDefinitionCustom) && !isNull(d.attrDefinitionCustom.dsFormComponent)) {
return d.attrDefinitionCustom.dsFormComponent.name; return d.attrDefinitionCustom.dsFormComponent.name;
...@@ -61,12 +67,6 @@ layui.config({ ...@@ -61,12 +67,6 @@ layui.config({
} }
return ''; return '';
}}, }},
{ field: 'whetherInputParams', title: '是否作为入参', align: 'center', width: 100, templet: function (d) {
if (d.whetherInputParams) {
return '';
}
return '';
}},
{ field: 'remark', title: '备注', align: 'left', width: 150 }, { field: 'remark', title: '备注', align: 'left', width: 150 },
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 120, toolbar: '#tableBar' } { title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 120, toolbar: '#tableBar' }
]], ]],
......
...@@ -57,7 +57,12 @@ layui.config({ ...@@ -57,7 +57,12 @@ layui.config({
componentList = componentList.concat(item.children); componentList = componentList.concat(item.children);
} }
}); });
var value = dataType == 1 ? json.bean.defaultData : json.bean.objectId; var value;
if (dataType == 4) {
value = json.bean.businessApi;
} else {
value = dataType == 1 ? json.bean.defaultData : json.bean.objectId;
}
loadLinkData(json.bean.componentId, json.bean.dataType, value); loadLinkData(json.bean.componentId, json.bean.dataType, value);
}, },
clickCallback: function (chooseId) { clickCallback: function (chooseId) {
...@@ -87,6 +92,7 @@ layui.config({ ...@@ -87,6 +92,7 @@ layui.config({
maxLength: $("#maxLength").val(), maxLength: $("#maxLength").val(),
remark: $("#remark").val(), remark: $("#remark").val(),
showType: isNull($("#showType").val()) ? "" : $("#showType").val(), showType: isNull($("#showType").val()) ? "" : $("#showType").val(),
dataType: '',
id: id id: id
}; };
...@@ -94,7 +100,7 @@ layui.config({ ...@@ -94,7 +100,7 @@ layui.config({
if (!isNull(dsFormComponent) && dsFormComponent.linkedData == 1) { if (!isNull(dsFormComponent) && dsFormComponent.linkedData == 1) {
params.dataType = $("#dataType").val(); params.dataType = $("#dataType").val();
if (params.dataType == 1) { if (params.dataType == 1) {
// 自定义 // 自定义json
var defaultDataStr = $("#defaultData").val(); var defaultDataStr = $("#defaultData").val();
if (isNull(defaultDataStr)) { if (isNull(defaultDataStr)) {
winui.window.msg("请填写Json串!", {icon: 2, time: 2000}); winui.window.msg("请填写Json串!", {icon: 2, time: 2000});
...@@ -117,6 +123,20 @@ layui.config({ ...@@ -117,6 +123,20 @@ layui.config({
return false; 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 { } else {
params.objectId = $("#objectId").val(); params.objectId = $("#objectId").val();
} }
...@@ -159,6 +179,27 @@ layui.config({ ...@@ -159,6 +179,27 @@ layui.config({
// 数据字典 // 数据字典
initDictData(); initDictData();
$("#objectId").val(value); $("#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", businessApi.method, form);
initTableChooseUtil.deleteAllRow('apiParams');
$.each(operateOpenPage.params, function(key, value) {
var params = {
"key": key,
"value": value
};
initTableChooseUtil.resetData('apiParams', params);
});
} else {
skyeyeClassEnumUtil.showEnumDataListByClassName("httpMethodEnum", 'select', "method", '', form);
}
} else { } else {
$("#dataTypeObjectBox").html(dataTypeObject["2"]); $("#dataTypeObjectBox").html(dataTypeObject["2"]);
$("#objectId").html("<option value=''>请选择</option>"); $("#objectId").html("<option value=''>请选择</option>");
...@@ -166,6 +207,21 @@ layui.config({ ...@@ -166,6 +207,21 @@ layui.config({
form.render('select'); form.render('select');
} }
function loadParamsTable(id) {
initTableChooseUtil.initTable({
id: id,
cols: [
{id: 'key', title: '入参Key', formType: 'input', width: '150', verify: 'required'},
{id: 'value', title: '', formType: 'input', width: '150', verify: 'required'}
],
deleteRowCallback: function (trcusid) {
},
addRowCallback: function (trcusid) {
},
form: form
});
}
/** /**
* 加载枚举类可选列表 * 加载枚举类可选列表
*/ */
......
...@@ -18,33 +18,6 @@ layui.config({ ...@@ -18,33 +18,6 @@ layui.config({
<select id="color" name="color" lay-filter="color" win-verify="required"></select> <select id="color" name="color" lay-filter="color" win-verify="required"></select>
</div> </div>
</div>`, </div>`,
'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>
</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="api" name="api" placeholder="请输入接口地址" win-verify="required" class="layui-input" maxlength="200"/>
</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 id="method" name="method" lay-filter="method" win-verify="required"></select>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">接口入参</label>
<div class="layui-input-block" id="apiParams">
</div>
</div>`,
'operateOpenPage': `<div class="layui-form-item layui-col-xs12"> 'operateOpenPage': `<div class="layui-form-item layui-col-xs12">
<span class="hr-title">新开页面</span><hr> <span class="hr-title">新开页面</span><hr>
</div> </div>
...@@ -90,7 +63,7 @@ layui.config({ ...@@ -90,7 +63,7 @@ layui.config({
if (json.bean.eventType == 'ajax') { if (json.bean.eventType == 'ajax') {
var businessApi = json.bean.businessApi; var businessApi = json.bean.businessApi;
$('#eventTypeChangeBox').html(_html['businessApi']); $('#eventTypeChangeBox').html(commonHtml['businessApi']);
$("#serviceStr").html(getDataUseHandlebars(selOption, {rows: serviceMap})); $("#serviceStr").html(getDataUseHandlebars(selOption, {rows: serviceMap}));
$("#serviceStr").val(businessApi.serviceStr); $("#serviceStr").val(businessApi.serviceStr);
$("#api").val(businessApi.api); $("#api").val(businessApi.api);
...@@ -162,7 +135,7 @@ layui.config({ ...@@ -162,7 +135,7 @@ layui.config({
} }
if (data.value == 'ajax') { if (data.value == 'ajax') {
// 请求事件 // 请求事件
$('#eventTypeChangeBox').html(_html['businessApi']); $('#eventTypeChangeBox').html(commonHtml['businessApi']);
$("#serviceStr").html(getDataUseHandlebars(selOption, {rows: serviceMap})); $("#serviceStr").html(getDataUseHandlebars(selOption, {rows: serviceMap}));
skyeyeClassEnumUtil.showEnumDataListByClassName("httpMethodEnum", 'select', "method", '', form); skyeyeClassEnumUtil.showEnumDataListByClassName("httpMethodEnum", 'select', "method", '', form);
loadParamsTable('apiParams'); loadParamsTable('apiParams');
......
...@@ -1343,5 +1343,32 @@ var commonHtml = { ...@@ -1343,5 +1343,32 @@ var commonHtml = {
<i class="fa fa-plus-circle input-icon chooseBtn" style="top: 12px;"></i> <i class="fa fa-plus-circle input-icon chooseBtn" style="top: 12px;"></i>
</div> </div>
</div>`, </div>`,
'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>
</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="api" name="api" placeholder="请输入接口地址" win-verify="required" class="layui-input" maxlength="200"/>
</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 id="method" name="method" lay-filter="method" win-verify="required"></select>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">接口入参</label>
<div class="layui-input-block" id="apiParams">
</div>
</div>`
}; };
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册