完善动态表单联表功能
This commit is contained in:
parent
39ba55149e
commit
f4cb139f8d
@ -33,6 +33,12 @@ public class DynamicFormFormShowFieldDTO {
|
|||||||
private String verifyType;
|
private String verifyType;
|
||||||
@ApiModelProperty(name = "verifyRegular", value = "校验正则")
|
@ApiModelProperty(name = "verifyRegular", value = "校验正则")
|
||||||
private String verifyRegular;
|
private String verifyRegular;
|
||||||
|
@ApiModelProperty(name = "joinTable", value = "联表表名")
|
||||||
|
private String joinTable;
|
||||||
|
@ApiModelProperty(name = "joinTableField", value = "联表字段")
|
||||||
|
private String joinTableField;
|
||||||
|
@ApiModelProperty(name = "joinTableFormShow", value = "联表显示字段")
|
||||||
|
private String joinTableFormShow;
|
||||||
|
|
||||||
public String getFieldName() {
|
public String getFieldName() {
|
||||||
return fieldName == null ? "" : fieldName.trim();
|
return fieldName == null ? "" : fieldName.trim();
|
||||||
@ -90,6 +96,30 @@ public class DynamicFormFormShowFieldDTO {
|
|||||||
this.verifyRegular = verifyRegular;
|
this.verifyRegular = verifyRegular;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getJoinTable() {
|
||||||
|
return joinTable == null ? "" : joinTable.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setJoinTable(String joinTable) {
|
||||||
|
this.joinTable = joinTable;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getJoinTableField() {
|
||||||
|
return joinTableField == null ? "" : joinTableField.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setJoinTableField(String joinTableField) {
|
||||||
|
this.joinTableField = joinTableField;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getJoinTableFormShow() {
|
||||||
|
return joinTableFormShow == null ? "" : joinTableFormShow.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setJoinTableFormShow(String joinTableFormShow) {
|
||||||
|
this.joinTableFormShow = joinTableFormShow;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
final StringBuilder sb = new StringBuilder("{");
|
final StringBuilder sb = new StringBuilder("{");
|
||||||
@ -107,6 +137,12 @@ public class DynamicFormFormShowFieldDTO {
|
|||||||
.append("\"").append(verifyType).append("\"");
|
.append("\"").append(verifyType).append("\"");
|
||||||
sb.append(",\"verifyRegular\":")
|
sb.append(",\"verifyRegular\":")
|
||||||
.append("\"").append(verifyRegular).append("\"");
|
.append("\"").append(verifyRegular).append("\"");
|
||||||
|
sb.append(",\"joinTable\":")
|
||||||
|
.append("\"").append(joinTable).append("\"");
|
||||||
|
sb.append(",\"joinTableField\":")
|
||||||
|
.append("\"").append(joinTableField).append("\"");
|
||||||
|
sb.append(",\"joinTableFormShow\":")
|
||||||
|
.append("\"").append(joinTableFormShow).append("\"");
|
||||||
sb.append('}');
|
sb.append('}');
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
@ -113,16 +113,11 @@ public class DynamicFormServiceImpl extends AbstractService implements IDynamicF
|
|||||||
public List<DynamicFormFormShowFieldDTO> listFormShowFieldOfPage(String tableName) throws SearchException {
|
public List<DynamicFormFormShowFieldDTO> listFormShowFieldOfPage(String tableName) throws SearchException {
|
||||||
List<DynamicFormDTO> dynamicFormDTOs = listDynamicForm(tableName);
|
List<DynamicFormDTO> dynamicFormDTOs = listDynamicForm(tableName);
|
||||||
List<DynamicFormFormShowFieldDTO> dynamicFormFormShowFieldDTOList = new ArrayList<>();
|
List<DynamicFormFormShowFieldDTO> dynamicFormFormShowFieldDTOList = new ArrayList<>();
|
||||||
int joinIndex = 0;
|
|
||||||
for (DynamicFormDTO dynamicFormDTO : dynamicFormDTOs) {
|
for (DynamicFormDTO dynamicFormDTO : dynamicFormDTOs) {
|
||||||
// 显示字段
|
// 显示字段
|
||||||
if (dynamicFormDTO.getFormShow() == 1) {
|
if (dynamicFormDTO.getFormShow() == 1) {
|
||||||
dynamicFormFormShowFieldDTOList.add(getDynamicFormFormShowFieldDTOByDynamicFormDTO(dynamicFormDTO));
|
dynamicFormFormShowFieldDTOList.add(getDynamicFormFormShowFieldDTOByDynamicFormDTO(dynamicFormDTO));
|
||||||
}
|
}
|
||||||
// 联表字段
|
|
||||||
if (isJoinDynamicField(dynamicFormDTO)) {
|
|
||||||
dynamicFormFormShowFieldDTOList.addAll(listJoinDynamicFormFormShowField(dynamicFormDTO, ++joinIndex));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return dynamicFormFormShowFieldDTOList;
|
return dynamicFormFormShowFieldDTOList;
|
||||||
}
|
}
|
||||||
@ -137,38 +132,18 @@ public class DynamicFormServiceImpl extends AbstractService implements IDynamicF
|
|||||||
private List<DynamicFormListShowFieldDTO> listJoinDynamicFormListShowField(DynamicFormDTO dynamicFormDTO, int index) {
|
private List<DynamicFormListShowFieldDTO> listJoinDynamicFormListShowField(DynamicFormDTO dynamicFormDTO, int index) {
|
||||||
List<DynamicFormListShowFieldDTO> dynamicFormListShowFieldDTOList = new ArrayList<>();
|
List<DynamicFormListShowFieldDTO> dynamicFormListShowFieldDTOList = new ArrayList<>();
|
||||||
Map<String, Object> params = getHashMap(2);
|
Map<String, Object> params = getHashMap(2);
|
||||||
params.put("tableName", WStringUtil.firstToLower(dynamicFormDTO.getJoinTable().replaceFirst("dynamic", "")));
|
params.put("tableName", dynamicFormDTO.getJoinTable());
|
||||||
params.put("fieldNameList", Arrays.asList(dynamicFormDTO.getJoinTableListShow().split(",")));
|
params.put("fieldNameList", Arrays.asList(dynamicFormDTO.getJoinTableListShow().split(",")));
|
||||||
List<DynamicFormDTO> joinDynamicFormDTOs = dynamicFormDao.listDynamicForm(params);
|
List<DynamicFormDTO> joinDynamicFormDTOs = dynamicFormDao.listDynamicForm(params);
|
||||||
for (DynamicFormDTO joinDynamicFormDTO : joinDynamicFormDTOs) {
|
for (DynamicFormDTO joinDynamicFormDTO : joinDynamicFormDTOs) {
|
||||||
DynamicFormListShowFieldDTO dynamicFormListShowFieldDTO = getDynamicFormListShowFieldDTOByDynamicFormDTO(joinDynamicFormDTO);
|
DynamicFormListShowFieldDTO dynamicFormListShowFieldDTO = getDynamicFormListShowFieldDTOByDynamicFormDTO(joinDynamicFormDTO);
|
||||||
dynamicFormListShowFieldDTO.setFieldName(String.format("%sJt%d", dynamicFormListShowFieldDTO.getFieldName(), index));
|
dynamicFormListShowFieldDTO.setFieldName(String.format("%sJt%d", dynamicFormListShowFieldDTO.getFieldName(), index));
|
||||||
|
dynamicFormListShowFieldDTO.setFieldExplain(String.format("%s%d", dynamicFormListShowFieldDTO.getFieldExplain(), index));
|
||||||
dynamicFormListShowFieldDTOList.add(dynamicFormListShowFieldDTO);
|
dynamicFormListShowFieldDTOList.add(dynamicFormListShowFieldDTO);
|
||||||
}
|
}
|
||||||
return dynamicFormListShowFieldDTOList;
|
return dynamicFormListShowFieldDTOList;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 设置动态表单列表 联表 表单显示字段
|
|
||||||
*
|
|
||||||
* @param dynamicFormDTO
|
|
||||||
* @param index 下标
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
private List<DynamicFormFormShowFieldDTO> listJoinDynamicFormFormShowField(DynamicFormDTO dynamicFormDTO, int index) {
|
|
||||||
List<DynamicFormFormShowFieldDTO> dynamicFormFormShowFieldDTOList = new ArrayList<>();
|
|
||||||
Map<String, Object> params = getHashMap(2);
|
|
||||||
params.put("tableName", WStringUtil.firstToLower(dynamicFormDTO.getJoinTable().replaceFirst("dynamic", "")));
|
|
||||||
params.put("fieldNameList", Arrays.asList(dynamicFormDTO.getJoinTableListShow().split(",")));
|
|
||||||
List<DynamicFormDTO> joinDynamicFormDTOs = dynamicFormDao.listDynamicForm(params);
|
|
||||||
for (DynamicFormDTO joinDynamicFormDTO : joinDynamicFormDTOs) {
|
|
||||||
DynamicFormFormShowFieldDTO dynamicFormFormShowFieldDTO = getDynamicFormFormShowFieldDTOByDynamicFormDTO(joinDynamicFormDTO);
|
|
||||||
dynamicFormFormShowFieldDTO.setFieldName(String.format("%sJt%d", dynamicFormFormShowFieldDTO.getFieldName(), index));
|
|
||||||
dynamicFormFormShowFieldDTOList.add(dynamicFormFormShowFieldDTO);
|
|
||||||
}
|
|
||||||
return dynamicFormFormShowFieldDTOList;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置动态表单的列表字段
|
* 设置动态表单的列表字段
|
||||||
*
|
*
|
||||||
@ -198,6 +173,9 @@ public class DynamicFormServiceImpl extends AbstractService implements IDynamicF
|
|||||||
dynamicFormFormShowFieldDTO.setFieldType(dynamicFormDTO.getFieldType());
|
dynamicFormFormShowFieldDTO.setFieldType(dynamicFormDTO.getFieldType());
|
||||||
dynamicFormFormShowFieldDTO.setVerifyType(dynamicFormDTO.getVerifyType());
|
dynamicFormFormShowFieldDTO.setVerifyType(dynamicFormDTO.getVerifyType());
|
||||||
dynamicFormFormShowFieldDTO.setVerifyRegular(dynamicFormDTO.getVerifyRegular());
|
dynamicFormFormShowFieldDTO.setVerifyRegular(dynamicFormDTO.getVerifyRegular());
|
||||||
|
dynamicFormFormShowFieldDTO.setJoinTable(dynamicFormDTO.getJoinTable());
|
||||||
|
dynamicFormFormShowFieldDTO.setJoinTableField(dynamicFormDTO.getJoinTableField());
|
||||||
|
dynamicFormFormShowFieldDTO.setJoinTableFormShow(dynamicFormDTO.getJoinTableFormShow());
|
||||||
return dynamicFormFormShowFieldDTO;
|
return dynamicFormFormShowFieldDTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -210,7 +188,7 @@ public class DynamicFormServiceImpl extends AbstractService implements IDynamicF
|
|||||||
Map<String, Object> listShow = new HashMap<>(2);
|
Map<String, Object> listShow = new HashMap<>(2);
|
||||||
listShow.put("fieldType", dynamicFormDTO.getFieldType());
|
listShow.put("fieldType", dynamicFormDTO.getFieldType());
|
||||||
listShow.put("fieldName", WStringUtil.lowerUpper2UnderLine(dynamicFormDTO.getFieldName()));
|
listShow.put("fieldName", WStringUtil.lowerUpper2UnderLine(dynamicFormDTO.getFieldName()));
|
||||||
listShow.put("joinTable", WStringUtil.lowerUpper2UnderLine(dynamicFormDTO.getJoinTable()));
|
listShow.put("joinTable", String.format("%s%s", IDynamicTableService.DYNAMIC_TABLE_PREFIX, WStringUtil.lowerUpper2UnderLine(dynamicFormDTO.getJoinTable())));
|
||||||
listShow.put("joinTableField", WStringUtil.lowerUpper2UnderLine(dynamicFormDTO.getJoinTableField()));
|
listShow.put("joinTableField", WStringUtil.lowerUpper2UnderLine(dynamicFormDTO.getJoinTableField()));
|
||||||
listShow.put("joinTableSort", dynamicFormDTO.getJoinTableSort());
|
listShow.put("joinTableSort", dynamicFormDTO.getJoinTableSort());
|
||||||
// 构建连表显示字段
|
// 构建连表显示字段
|
||||||
|
@ -77,26 +77,27 @@
|
|||||||
<!-- 动态数据列表 -->
|
<!-- 动态数据列表 -->
|
||||||
<select id="listDynamicData" parameterType="map" resultType="map">
|
<select id="listDynamicData" parameterType="map" resultType="map">
|
||||||
SELECT
|
SELECT
|
||||||
<foreach collection="listShowFieldList" item="item" open="" separator="," close="">
|
<foreach collection="listShowFieldList" index="index" item="item" open="" separator="" close="">
|
||||||
t1.${item.fieldName}
|
t1.${item.fieldName},
|
||||||
</foreach>
|
|
||||||
<foreach collection="listShowFieldList" index="index" item="item" open="," separator="" close="">
|
|
||||||
<if test="item.fieldType == 'radio' or item.fieldType == 'checkbox' or item.fieldType == 'select'">
|
<if test="item.fieldType == 'radio' or item.fieldType == 'checkbox' or item.fieldType == 'select'">
|
||||||
GROUP_CONCAT(dt${index + 1}.dictionary_name) ${item.fieldName}_dictionary_name,
|
GROUP_CONCAT(dt${index + 1}.dictionary_name) ${item.fieldName}_dictionary_name,
|
||||||
</if>
|
</if>
|
||||||
</foreach>
|
</foreach>
|
||||||
|
<!-- 主表字典表字段 start -->
|
||||||
<if test="listJoinTableField != null and listJoinTableField.size > 0">
|
<if test="listJoinTableField != null and listJoinTableField.size > 0">
|
||||||
<foreach collection="listJoinTableField" index="index" item="item" open="" separator="" close="">
|
<foreach collection="listJoinTableField" index="index" item="item" open="" separator="" close="">
|
||||||
<if test="item.joinTableListShow != null and item.joinTableListShow.size > 0" >
|
<if test="item.joinTableListShow != null and item.joinTableListShow.size > 0" >
|
||||||
<foreach collection="item.joinTableListShow" index="joinIndex" item="item" open="" separator="" close="">
|
<foreach collection="item.joinTableListShow" index="joinIndex" item="joinItem" open="" separator="" close="">
|
||||||
jt${index + 1}.${item} ${item}_jt${index + 1},
|
jt${index + 1}.${joinItem} ${joinItem}_jt${index + 1},
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
|
<!-- 主表字典表字段 end -->
|
||||||
t1.${uuidField}
|
t1.${uuidField}
|
||||||
FROM
|
FROM
|
||||||
${tableName} t1
|
${tableName} t1
|
||||||
|
<!-- 主表字典表 start -->
|
||||||
<foreach collection="listShowFieldList" index="index" item="item" open="" separator="" close="">
|
<foreach collection="listShowFieldList" index="index" item="item" open="" separator="" close="">
|
||||||
<if test="item.fieldType == 'radio' or item.fieldType == 'checkbox' or item.fieldType == 'select'">
|
<if test="item.fieldType == 'radio' or item.fieldType == 'checkbox' or item.fieldType == 'select'">
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
@ -107,6 +108,8 @@
|
|||||||
dt${index + 1}.is_delete = 0
|
dt${index + 1}.is_delete = 0
|
||||||
</if>
|
</if>
|
||||||
</foreach>
|
</foreach>
|
||||||
|
<!-- 主表字典表 end -->
|
||||||
|
<!-- 联表字段 start -->
|
||||||
<if test="listJoinTableField != null and listJoinTableField.size > 0">
|
<if test="listJoinTableField != null and listJoinTableField.size > 0">
|
||||||
<foreach collection="listJoinTableField" index="index" item="item" open="" separator="" close="">
|
<foreach collection="listJoinTableField" index="index" item="item" open="" separator="" close="">
|
||||||
<if test="item.fieldType == 'leftJoin'">
|
<if test="item.fieldType == 'leftJoin'">
|
||||||
@ -125,6 +128,7 @@
|
|||||||
jt${index + 1}.is_delete = 0
|
jt${index + 1}.is_delete = 0
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
|
<!-- 联表字段 end -->
|
||||||
WHERE
|
WHERE
|
||||||
t1.is_delete = 0
|
t1.is_delete = 0
|
||||||
GROUP BY
|
GROUP BY
|
||||||
|
@ -77,31 +77,33 @@
|
|||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">关联表</label>
|
<label class="layui-form-label">关联表</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="text" name="joinTable" placeholder="请选择关联表" class="layui-input">
|
<input type="text" id="joinTable" name="joinTable" placeholder="请选择关联表" class="layui-input" readonly style="cursor: pointer;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="joinFieldDetailBox" style="display: none;">
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">关联字段</label>
|
<label class="layui-form-label">关联字段</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="text" name="joinTableField" placeholder="请输入关联字段" class="layui-input">
|
<input type="text" id="joinTableField" name="joinTableField" placeholder="请输入关联字段" class="layui-input" readonly style="cursor: pointer;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">关联顺序</label>
|
<label class="layui-form-label">关联顺序</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="number" name="joinTableSort" placeholder="请输入关联顺序" class="layui-input">
|
<input type="number" name="joinTableSort" placeholder="请输入关联顺序" class="layui-input" value="1">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">连表列表</label>
|
<label class="layui-form-label">列表显示</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="text" name="joinTableListShow" placeholder="请输入连表列表显示" class="layui-input">
|
<input type="text" id="joinTableListShow" name="joinTableListShow" placeholder="请选择关联表需要在列表中显示的字段,不包括被关联表中的关联字段" class="layui-input" readonly style="cursor: pointer;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">连表表单</label>
|
<label class="layui-form-label">表单显示</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="text" name="joinTableFormShow" placeholder="请输入连表表单显示" class="layui-input">
|
<input type="text" id="joinTableFormShow" name="joinTableFormShow" placeholder="请选择关联表需要在表单中回显的字段,不包括被关联表中的关联字段" class="layui-input" readonly style="cursor: pointer;">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -141,6 +143,7 @@
|
|||||||
<input type="text" name="verifyRegular" placeholder="请输入校验正则" class="layui-input">
|
<input type="text" name="verifyRegular" placeholder="请输入校验正则" class="layui-input">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="layui-form-item" pane>
|
<div class="layui-form-item" pane>
|
||||||
<label class="layui-form-label">列表显示 *</label>
|
<label class="layui-form-label">列表显示 *</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
@ -155,7 +158,6 @@
|
|||||||
<input type="radio" name="formShow" value="1" title="开启" checked>
|
<input type="radio" name="formShow" value="1" title="开启" checked>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">排序 *</label>
|
<label class="layui-form-label">排序 *</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
@ -187,7 +189,9 @@
|
|||||||
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
||||||
}
|
}
|
||||||
// 初始化
|
// 初始化
|
||||||
function initData() {}
|
function initData() {
|
||||||
|
|
||||||
|
}
|
||||||
initData();
|
initData();
|
||||||
|
|
||||||
// 提交表单
|
// 提交表单
|
||||||
@ -269,6 +273,125 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
// 选择联表
|
||||||
|
$(document.body).on('click', '#joinTable', function() {
|
||||||
|
var joinTable = $('#joinTable').val();
|
||||||
|
top.dialog.tree({
|
||||||
|
title: '选择关联表',
|
||||||
|
apiUri: top.restAjax.path('api/dynamicconfigtable/listtable', []),
|
||||||
|
width: '250px',
|
||||||
|
height: '400px',
|
||||||
|
dataFilter: function(treeId, parentNode, childNodes) {
|
||||||
|
for(var i = 0, item = childNodes[i]; item = childNodes[i++];) {
|
||||||
|
item.name = item.tableName;
|
||||||
|
item.id = item.tableName;
|
||||||
|
item.title = item.tableName;
|
||||||
|
}
|
||||||
|
return childNodes;
|
||||||
|
},
|
||||||
|
selectedNodes: [{
|
||||||
|
id: joinTable,
|
||||||
|
name: joinTable,
|
||||||
|
title: joinTable
|
||||||
|
}],
|
||||||
|
onClose: function() {
|
||||||
|
var selectNodes = top.dialog.dialogTreeData.selectedNodes;
|
||||||
|
if(typeof(selectNodes) != 'undefined' && selectNodes != null) {
|
||||||
|
if(selectNodes.length > 0) {
|
||||||
|
$('#joinTable').val(selectNodes[0].id);
|
||||||
|
$('#joinTableField').val(selectNodes[0].id +'Id');
|
||||||
|
$('#joinFieldDetailBox').show();
|
||||||
|
} else {
|
||||||
|
$('#joinTable').val('');
|
||||||
|
$('#joinTableField').val('');
|
||||||
|
$('#joinFieldDetailBox').hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
/**
|
||||||
|
* 选择字段
|
||||||
|
* @param isList 是否列表
|
||||||
|
*/
|
||||||
|
function selectJoinField(isList) {
|
||||||
|
var check = null;
|
||||||
|
var selectedNodes = [];
|
||||||
|
if(isList) {
|
||||||
|
check = {
|
||||||
|
enable: true,
|
||||||
|
selectType: 'checkbox',
|
||||||
|
checkboxType: {Y: 'ps', N: 'ps'},
|
||||||
|
radioType: 'level',
|
||||||
|
}
|
||||||
|
var joinTableListShow = $('#joinTableListShow').val();
|
||||||
|
if(joinTableListShow) {
|
||||||
|
var joinTableListShowArray = joinTableListShow.split(',');
|
||||||
|
for(var i = 0, item; item = joinTableListShowArray[i++];) {
|
||||||
|
selectedNodes.push({
|
||||||
|
id: item,
|
||||||
|
name: item,
|
||||||
|
title: item
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
var joinTableFormShow = $('#joinTableFormShow').val();
|
||||||
|
selectedNodes.push({
|
||||||
|
id: joinTableFormShow,
|
||||||
|
name: joinTableFormShow,
|
||||||
|
title: joinTableFormShow
|
||||||
|
});
|
||||||
|
}
|
||||||
|
top.dialog.tree({
|
||||||
|
title: '选择联表显示字段',
|
||||||
|
apiUri: top.restAjax.path('api/dynamicconfigtable/dynamicconfigform/listform/{tableName}', [$('#joinTable').val()]),
|
||||||
|
width: '250px',
|
||||||
|
height: '400px',
|
||||||
|
dataFilter: function(treeId, parentNode, childNodes) {
|
||||||
|
for(var i = 0, item = childNodes[i]; item = childNodes[i++];) {
|
||||||
|
item.name = item.fieldName;
|
||||||
|
item.id = item.fieldName;
|
||||||
|
item.title = item.fieldName;
|
||||||
|
}
|
||||||
|
return childNodes;
|
||||||
|
},
|
||||||
|
check: check,
|
||||||
|
selectedNodes: selectedNodes,
|
||||||
|
onClose: function() {
|
||||||
|
var selectNodes = top.dialog.dialogTreeData.selectedNodes;
|
||||||
|
if(typeof(selectNodes) != 'undefined' && selectNodes != null) {
|
||||||
|
if(selectNodes.length > 0) {
|
||||||
|
var selectNodeValue = '';
|
||||||
|
for(var j = 0, selectNode = selectNodes[j]; selectNode = selectNodes[j++];) {
|
||||||
|
if(selectNodeValue.length > 0) {
|
||||||
|
selectNodeValue += ',';
|
||||||
|
}
|
||||||
|
selectNodeValue += selectNode.id;
|
||||||
|
}
|
||||||
|
if(isList) {
|
||||||
|
$('#joinTableListShow').val(selectNodeValue);
|
||||||
|
} else {
|
||||||
|
$('#joinTableFormShow').val(selectNodeValue);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(isList) {
|
||||||
|
$('#joinTableListShow').val('');
|
||||||
|
} else {
|
||||||
|
$('#joinTableFormShow').val('');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
$(document.body).on('click', '#joinTableListShow', function() {
|
||||||
|
selectJoinField(true);
|
||||||
|
});
|
||||||
|
$(document.body).on('click', '#joinTableFormShow', function() {
|
||||||
|
selectJoinField(false);
|
||||||
|
});
|
||||||
$('.close').on('click', function() {
|
$('.close').on('click', function() {
|
||||||
closeBox();
|
closeBox();
|
||||||
});
|
});
|
||||||
|
@ -77,31 +77,33 @@
|
|||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">关联表</label>
|
<label class="layui-form-label">关联表</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="text" name="joinTable" placeholder="请选择关联表" class="layui-input">
|
<input type="text" id="joinTable" name="joinTable" placeholder="请选择关联表" class="layui-input" readonly style="cursor: pointer;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="joinFieldDetailBox" style="display: none;">
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">关联字段</label>
|
<label class="layui-form-label">关联字段</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="text" name="joinTableField" placeholder="请输入关联字段" class="layui-input">
|
<input type="text" id="joinTableField" name="joinTableField" placeholder="请输入关联字段" class="layui-input" readonly style="cursor: pointer;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">关联顺序</label>
|
<label class="layui-form-label">关联顺序</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="number" name="joinTableSort" placeholder="请输入关联顺序" class="layui-input">
|
<input type="number" name="joinTableSort" placeholder="请输入关联顺序" class="layui-input" value="1">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">连表列表</label>
|
<label class="layui-form-label">列表显示</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="text" name="joinTableListShow" placeholder="请输入连表列表显示" class="layui-input">
|
<input type="text" id="joinTableListShow" name="joinTableListShow" placeholder="请选择关联表需要在列表中显示的字段,不包括被关联表中的关联字段" class="layui-input" readonly style="cursor: pointer;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">连表表单</label>
|
<label class="layui-form-label">表单显示</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="text" name="joinTableFormShow" placeholder="请输入连表表单显示" class="layui-input">
|
<input type="text" id="joinTableFormShow" name="joinTableFormShow" placeholder="请选择关联表需要在表单中回显的字段,不包括被关联表中的关联字段" class="layui-input" readonly style="cursor: pointer;">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -141,6 +143,7 @@
|
|||||||
<input type="text" name="verifyRegular" placeholder="请输入校验正则" class="layui-input">
|
<input type="text" name="verifyRegular" placeholder="请输入校验正则" class="layui-input">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="layui-form-item" pane>
|
<div class="layui-form-item" pane>
|
||||||
<label class="layui-form-label">列表显示 *</label>
|
<label class="layui-form-label">列表显示 *</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
@ -155,7 +158,6 @@
|
|||||||
<input type="radio" name="formShow" value="1" title="开启" checked>
|
<input type="radio" name="formShow" value="1" title="开启" checked>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">排序 *</label>
|
<label class="layui-form-label">排序 *</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
@ -203,8 +205,8 @@
|
|||||||
verifyType: data.verifyType,
|
verifyType: data.verifyType,
|
||||||
verifyRegular: data.verifyRegular,
|
verifyRegular: data.verifyRegular,
|
||||||
fieldSort: data.fieldSort,
|
fieldSort: data.fieldSort,
|
||||||
listShow: data.listShow,
|
listShow: data.listShow.toString(),
|
||||||
formShow: data.formShow,
|
formShow: data.formShow.toString(),
|
||||||
joinTable: data.joinTable,
|
joinTable: data.joinTable,
|
||||||
joinTableField: data.joinTableField,
|
joinTableField: data.joinTableField,
|
||||||
joinTableSort: data.joinTableSort,
|
joinTableSort: data.joinTableSort,
|
||||||
@ -215,6 +217,9 @@
|
|||||||
if(data.fieldType === 'leftJoin' || data.fieldType === 'innerJoin' || data.fieldType === 'rightJoin') {
|
if(data.fieldType === 'leftJoin' || data.fieldType === 'innerJoin' || data.fieldType === 'rightJoin') {
|
||||||
$('#normalFieldBox').hide();
|
$('#normalFieldBox').hide();
|
||||||
$('#joinFieldBox').show();
|
$('#joinFieldBox').show();
|
||||||
|
if($('#joinTable').val()) {
|
||||||
|
$('#joinFieldDetailBox').show();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$('#joinFieldBox').hide();
|
$('#joinFieldBox').hide();
|
||||||
$('#normalFieldBox').show();
|
$('#normalFieldBox').show();
|
||||||
@ -308,6 +313,125 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
// 选择联表
|
||||||
|
$(document.body).on('click', '#joinTable', function() {
|
||||||
|
var joinTable = $('#joinTable').val();
|
||||||
|
top.dialog.tree({
|
||||||
|
title: '选择关联表',
|
||||||
|
apiUri: top.restAjax.path('api/dynamicconfigtable/listtable', []),
|
||||||
|
width: '250px',
|
||||||
|
height: '400px',
|
||||||
|
dataFilter: function(treeId, parentNode, childNodes) {
|
||||||
|
for(var i = 0, item = childNodes[i]; item = childNodes[i++];) {
|
||||||
|
item.name = item.tableName;
|
||||||
|
item.id = item.tableName;
|
||||||
|
item.title = item.tableName;
|
||||||
|
}
|
||||||
|
return childNodes;
|
||||||
|
},
|
||||||
|
selectedNodes: [{
|
||||||
|
id: joinTable,
|
||||||
|
name: joinTable,
|
||||||
|
title: joinTable
|
||||||
|
}],
|
||||||
|
onClose: function() {
|
||||||
|
var selectNodes = top.dialog.dialogTreeData.selectedNodes;
|
||||||
|
if(typeof(selectNodes) != 'undefined' && selectNodes != null) {
|
||||||
|
if(selectNodes.length > 0) {
|
||||||
|
$('#joinTable').val(selectNodes[0].id);
|
||||||
|
$('#joinTableField').val(selectNodes[0].id +'Id');
|
||||||
|
$('#joinFieldDetailBox').show();
|
||||||
|
} else {
|
||||||
|
$('#joinTable').val('');
|
||||||
|
$('#joinTableField').val('');
|
||||||
|
$('#joinFieldDetailBox').hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
/**
|
||||||
|
* 选择字段
|
||||||
|
* @param isList 是否列表
|
||||||
|
*/
|
||||||
|
function selectJoinField(isList) {
|
||||||
|
var check = null;
|
||||||
|
var selectedNodes = [];
|
||||||
|
if(isList) {
|
||||||
|
check = {
|
||||||
|
enable: true,
|
||||||
|
selectType: 'checkbox',
|
||||||
|
checkboxType: {Y: 'ps', N: 'ps'},
|
||||||
|
radioType: 'level',
|
||||||
|
}
|
||||||
|
var joinTableListShow = $('#joinTableListShow').val();
|
||||||
|
if(joinTableListShow) {
|
||||||
|
var joinTableListShowArray = joinTableListShow.split(',');
|
||||||
|
for(var i = 0, item; item = joinTableListShowArray[i++];) {
|
||||||
|
selectedNodes.push({
|
||||||
|
id: item,
|
||||||
|
name: item,
|
||||||
|
title: item
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
var joinTableFormShow = $('#joinTableFormShow').val();
|
||||||
|
selectedNodes.push({
|
||||||
|
id: joinTableFormShow,
|
||||||
|
name: joinTableFormShow,
|
||||||
|
title: joinTableFormShow
|
||||||
|
});
|
||||||
|
}
|
||||||
|
top.dialog.tree({
|
||||||
|
title: '选择联表显示字段',
|
||||||
|
apiUri: top.restAjax.path('api/dynamicconfigtable/dynamicconfigform/listform/{tableName}', [$('#joinTable').val()]),
|
||||||
|
width: '250px',
|
||||||
|
height: '400px',
|
||||||
|
dataFilter: function(treeId, parentNode, childNodes) {
|
||||||
|
for(var i = 0, item = childNodes[i]; item = childNodes[i++];) {
|
||||||
|
item.name = item.fieldName;
|
||||||
|
item.id = item.fieldName;
|
||||||
|
item.title = item.fieldName;
|
||||||
|
}
|
||||||
|
return childNodes;
|
||||||
|
},
|
||||||
|
check: check,
|
||||||
|
selectedNodes: selectedNodes,
|
||||||
|
onClose: function() {
|
||||||
|
var selectNodes = top.dialog.dialogTreeData.selectedNodes;
|
||||||
|
if(typeof(selectNodes) != 'undefined' && selectNodes != null) {
|
||||||
|
if(selectNodes.length > 0) {
|
||||||
|
var selectNodeValue = '';
|
||||||
|
for(var j = 0, selectNode = selectNodes[j]; selectNode = selectNodes[j++];) {
|
||||||
|
if(selectNodeValue.length > 0) {
|
||||||
|
selectNodeValue += ',';
|
||||||
|
}
|
||||||
|
selectNodeValue += selectNode.id;
|
||||||
|
}
|
||||||
|
if(isList) {
|
||||||
|
$('#joinTableListShow').val(selectNodeValue);
|
||||||
|
} else {
|
||||||
|
$('#joinTableFormShow').val(selectNodeValue);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(isList) {
|
||||||
|
$('#joinTableListShow').val('');
|
||||||
|
} else {
|
||||||
|
$('#joinTableFormShow').val('');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
$(document.body).on('click', '#joinTableListShow', function() {
|
||||||
|
selectJoinField(true);
|
||||||
|
});
|
||||||
|
$(document.body).on('click', '#joinTableFormShow', function() {
|
||||||
|
selectJoinField(false);
|
||||||
|
});
|
||||||
$('.close').on('click', function() {
|
$('.close').on('click', function() {
|
||||||
closeBox();
|
closeBox();
|
||||||
});
|
});
|
||||||
|
@ -106,6 +106,7 @@
|
|||||||
</script>
|
</script>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!--/* 选择人员 */-->
|
||||||
<div class="layui-form-item" th:if="${dynamicFormFormShowFieldDTO.fieldType eq 'selectUser'}">
|
<div class="layui-form-item" th:if="${dynamicFormFormShowFieldDTO.fieldType eq 'selectUser'}">
|
||||||
<label class="layui-form-label" th:text="${dynamicFormFormShowFieldDTO.fieldExplain}"></label>
|
<label class="layui-form-label" th:text="${dynamicFormFormShowFieldDTO.fieldExplain}"></label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
@ -113,6 +114,7 @@
|
|||||||
<input type="text" th:id="${dynamicFormFormShowFieldDTO.fieldName +'SelectUser'}" class="layui-input" th:placeholder="${'请选择'+ dynamicFormFormShowFieldDTO.fieldExplain}" th:attr="data-name=${dynamicFormFormShowFieldDTO.fieldName}" readonly style="cursor:pointer;">
|
<input type="text" th:id="${dynamicFormFormShowFieldDTO.fieldName +'SelectUser'}" class="layui-input" th:placeholder="${'请选择'+ dynamicFormFormShowFieldDTO.fieldExplain}" th:attr="data-name=${dynamicFormFormShowFieldDTO.fieldName}" readonly style="cursor:pointer;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!--/* 选择部门 */-->
|
||||||
<div class="layui-form-item" th:if="${dynamicFormFormShowFieldDTO.fieldType eq 'selectDepartment'}">
|
<div class="layui-form-item" th:if="${dynamicFormFormShowFieldDTO.fieldType eq 'selectDepartment'}">
|
||||||
<label class="layui-form-label" th:text="${dynamicFormFormShowFieldDTO.fieldExplain}"></label>
|
<label class="layui-form-label" th:text="${dynamicFormFormShowFieldDTO.fieldExplain}"></label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
@ -120,6 +122,19 @@
|
|||||||
<input type="text" th:id="${dynamicFormFormShowFieldDTO.fieldName +'SelectDepartment'}" class="layui-input" th:placeholder="${'请选择'+ dynamicFormFormShowFieldDTO.fieldExplain}" th:attr="data-name=${dynamicFormFormShowFieldDTO.fieldName}" readonly style="cursor:pointer;">
|
<input type="text" th:id="${dynamicFormFormShowFieldDTO.fieldName +'SelectDepartment'}" class="layui-input" th:placeholder="${'请选择'+ dynamicFormFormShowFieldDTO.fieldExplain}" th:attr="data-name=${dynamicFormFormShowFieldDTO.fieldName}" readonly style="cursor:pointer;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!--/* 选择联表 */-->
|
||||||
|
<div class="layui-form-item" th:if="${dynamicFormFormShowFieldDTO.fieldType eq 'leftJoin' or dynamicFormFormShowFieldDTO.fieldType eq 'innerJoin' or dynamicFormFormShowFieldDTO.fieldType eq 'rightJoin'}">
|
||||||
|
<label class="layui-form-label" th:text="${dynamicFormFormShowFieldDTO.fieldExplain}"></label>
|
||||||
|
<div class="layui-input-block layui-form" th:id="${dynamicFormFormShowFieldDTO.fieldName} +'TemplateBox'" th:attr="lay-filter=${dynamicFormFormShowFieldDTO.fieldName} +'TemplateBox'"></div>
|
||||||
|
<script th:id="${dynamicFormFormShowFieldDTO.fieldName} +'Template'" type="text/html">
|
||||||
|
<select th:name="${dynamicFormFormShowFieldDTO.fieldName}">
|
||||||
|
<option value="" th:text="'选择'+ ${dynamicFormFormShowFieldDTO.fieldExplain}"></option>
|
||||||
|
{{# for(var i = 0, item; item = d[i++];) { }}
|
||||||
|
<option th:value="'{{item.'+ ${dynamicFormFormShowFieldDTO.joinTable} +'Id}}'" th:text="'{{item.'+ ${dynamicFormFormShowFieldDTO.joinTableFormShow} +'}}'"></option>
|
||||||
|
{{# } }}
|
||||||
|
</select>
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="layui-form-item layui-layout-admin">
|
<div class="layui-form-item layui-layout-admin">
|
||||||
@ -343,6 +358,15 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
} else if(item.fieldType === 'leftJoin' || item.fieldType === 'innerJoin' || item.fieldType === 'rightJoin') {
|
||||||
|
top.restAjax.get(top.restAjax.path('api/dynamicdata/listdynamicdata/{tableName}', [item.joinTable]), {}, {fieldName: item.fieldName}, function(code, data, args) {
|
||||||
|
laytpl(document.getElementById(args.fieldName +'Template').innerHTML).render(data, function(html) {
|
||||||
|
document.getElementById(args.fieldName +'TemplateBox').innerHTML = html;
|
||||||
|
});
|
||||||
|
form.render('select', args.fieldName +'TemplateBox');
|
||||||
|
}, function(code, data) {
|
||||||
|
top.dialog.msg(data.msg);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -106,6 +106,7 @@
|
|||||||
</script>
|
</script>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!--/* 选择人员 */-->
|
||||||
<div class="layui-form-item" th:if="${dynamicFormFormShowFieldDTO.fieldType eq 'selectUser'}">
|
<div class="layui-form-item" th:if="${dynamicFormFormShowFieldDTO.fieldType eq 'selectUser'}">
|
||||||
<label class="layui-form-label" th:text="${dynamicFormFormShowFieldDTO.fieldExplain}"></label>
|
<label class="layui-form-label" th:text="${dynamicFormFormShowFieldDTO.fieldExplain}"></label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
@ -113,6 +114,7 @@
|
|||||||
<input type="text" th:id="${dynamicFormFormShowFieldDTO.fieldName +'SelectUser'}" class="layui-input" th:placeholder="${'请选择'+ dynamicFormFormShowFieldDTO.fieldExplain}" th:attr="data-name=${dynamicFormFormShowFieldDTO.fieldName}" readonly style="cursor:pointer;">
|
<input type="text" th:id="${dynamicFormFormShowFieldDTO.fieldName +'SelectUser'}" class="layui-input" th:placeholder="${'请选择'+ dynamicFormFormShowFieldDTO.fieldExplain}" th:attr="data-name=${dynamicFormFormShowFieldDTO.fieldName}" readonly style="cursor:pointer;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!--/* 选择部门 */-->
|
||||||
<div class="layui-form-item" th:if="${dynamicFormFormShowFieldDTO.fieldType eq 'selectDepartment'}">
|
<div class="layui-form-item" th:if="${dynamicFormFormShowFieldDTO.fieldType eq 'selectDepartment'}">
|
||||||
<label class="layui-form-label" th:text="${dynamicFormFormShowFieldDTO.fieldExplain}"></label>
|
<label class="layui-form-label" th:text="${dynamicFormFormShowFieldDTO.fieldExplain}"></label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
@ -120,6 +122,19 @@
|
|||||||
<input type="text" th:id="${dynamicFormFormShowFieldDTO.fieldName +'SelectDepartment'}" class="layui-input" th:placeholder="${'请选择'+ dynamicFormFormShowFieldDTO.fieldExplain}" th:attr="data-name=${dynamicFormFormShowFieldDTO.fieldName}" readonly style="cursor:pointer;">
|
<input type="text" th:id="${dynamicFormFormShowFieldDTO.fieldName +'SelectDepartment'}" class="layui-input" th:placeholder="${'请选择'+ dynamicFormFormShowFieldDTO.fieldExplain}" th:attr="data-name=${dynamicFormFormShowFieldDTO.fieldName}" readonly style="cursor:pointer;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!--/* 选择联表 */-->
|
||||||
|
<div class="layui-form-item" th:if="${dynamicFormFormShowFieldDTO.fieldType eq 'leftJoin' or dynamicFormFormShowFieldDTO.fieldType eq 'innerJoin' or dynamicFormFormShowFieldDTO.fieldType eq 'rightJoin'}">
|
||||||
|
<label class="layui-form-label" th:text="${dynamicFormFormShowFieldDTO.fieldExplain}"></label>
|
||||||
|
<div class="layui-input-block layui-form" th:id="${dynamicFormFormShowFieldDTO.fieldName} +'TemplateBox'" th:attr="lay-filter=${dynamicFormFormShowFieldDTO.fieldName} +'TemplateBox'"></div>
|
||||||
|
<script th:id="${dynamicFormFormShowFieldDTO.fieldName} +'Template'" type="text/html">
|
||||||
|
<select th:name="${dynamicFormFormShowFieldDTO.fieldName}">
|
||||||
|
<option value="" th:text="'选择'+ ${dynamicFormFormShowFieldDTO.fieldExplain}"></option>
|
||||||
|
{{# for(var i = 0, item; item = d[i++];) { }}
|
||||||
|
<option th:value="'{{item.'+ ${dynamicFormFormShowFieldDTO.joinTable} +'Id}}'" th:text="'{{item.'+ ${dynamicFormFormShowFieldDTO.joinTableFormShow} +'}}'"></option>
|
||||||
|
{{# } }}
|
||||||
|
</select>
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="layui-form-item layui-layout-admin">
|
<div class="layui-form-item layui-layout-admin">
|
||||||
@ -398,6 +413,20 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
} else if(item.fieldType === 'leftJoin' || item.fieldType === 'innerJoin' || item.fieldType === 'rightJoin') {
|
||||||
|
top.restAjax.get(top.restAjax.path('api/dynamicdata/listdynamicdata/{tableName}', [item.joinTable]), {}, {fieldName: item.fieldName}, function(code, data, args) {
|
||||||
|
laytpl(document.getElementById(args.fieldName +'Template').innerHTML).render(data, function(html) {
|
||||||
|
document.getElementById(args.fieldName +'TemplateBox').innerHTML = html;
|
||||||
|
});
|
||||||
|
// 初始化选择
|
||||||
|
var formSelectData = {};
|
||||||
|
formSelectData[args.fieldName] = dataFormData[args.fieldName];
|
||||||
|
form.val('dataForm', formSelectData);
|
||||||
|
// 刷新
|
||||||
|
form.render('select', args.fieldName +'TemplateBox');
|
||||||
|
}, function(code, data) {
|
||||||
|
top.dialog.msg(data.msg);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, function(code, data) {
|
}, function(code, data) {
|
||||||
|
@ -100,6 +100,7 @@
|
|||||||
</script>
|
</script>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!--/* 选择人员 */-->
|
||||||
<div class="layui-form-item" th:if="${dynamicFormFormShowFieldDTO.fieldType eq 'selectUser'}">
|
<div class="layui-form-item" th:if="${dynamicFormFormShowFieldDTO.fieldType eq 'selectUser'}">
|
||||||
<label class="layui-form-label" th:text="${dynamicFormFormShowFieldDTO.fieldExplain}"></label>
|
<label class="layui-form-label" th:text="${dynamicFormFormShowFieldDTO.fieldExplain}"></label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
@ -107,6 +108,7 @@
|
|||||||
<input type="text" th:id="${dynamicFormFormShowFieldDTO.fieldName +'SelectUser'}" class="layui-input" th:placeholder="${'请选择'+ dynamicFormFormShowFieldDTO.fieldExplain}" th:attr="data-name=${dynamicFormFormShowFieldDTO.fieldName}" readonly style="cursor:pointer;">
|
<input type="text" th:id="${dynamicFormFormShowFieldDTO.fieldName +'SelectUser'}" class="layui-input" th:placeholder="${'请选择'+ dynamicFormFormShowFieldDTO.fieldExplain}" th:attr="data-name=${dynamicFormFormShowFieldDTO.fieldName}" readonly style="cursor:pointer;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!--/* 选择部门 */-->
|
||||||
<div class="layui-form-item" th:if="${dynamicFormFormShowFieldDTO.fieldType eq 'selectDepartment'}">
|
<div class="layui-form-item" th:if="${dynamicFormFormShowFieldDTO.fieldType eq 'selectDepartment'}">
|
||||||
<label class="layui-form-label" th:text="${dynamicFormFormShowFieldDTO.fieldExplain}"></label>
|
<label class="layui-form-label" th:text="${dynamicFormFormShowFieldDTO.fieldExplain}"></label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
@ -114,6 +116,19 @@
|
|||||||
<input type="text" th:id="${dynamicFormFormShowFieldDTO.fieldName +'SelectDepartment'}" class="layui-input" th:placeholder="${'请选择'+ dynamicFormFormShowFieldDTO.fieldExplain}" th:attr="data-name=${dynamicFormFormShowFieldDTO.fieldName}" readonly style="cursor:pointer;">
|
<input type="text" th:id="${dynamicFormFormShowFieldDTO.fieldName +'SelectDepartment'}" class="layui-input" th:placeholder="${'请选择'+ dynamicFormFormShowFieldDTO.fieldExplain}" th:attr="data-name=${dynamicFormFormShowFieldDTO.fieldName}" readonly style="cursor:pointer;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!--/* 选择联表 */-->
|
||||||
|
<div class="layui-form-item" th:if="${dynamicFormFormShowFieldDTO.fieldType eq 'leftJoin' or dynamicFormFormShowFieldDTO.fieldType eq 'innerJoin' or dynamicFormFormShowFieldDTO.fieldType eq 'rightJoin'}">
|
||||||
|
<label class="layui-form-label" th:text="${dynamicFormFormShowFieldDTO.fieldExplain}"></label>
|
||||||
|
<div class="layui-input-block layui-form" th:id="${dynamicFormFormShowFieldDTO.fieldName} +'TemplateBox'" th:attr="lay-filter=${dynamicFormFormShowFieldDTO.fieldName} +'TemplateBox'"></div>
|
||||||
|
<script th:id="${dynamicFormFormShowFieldDTO.fieldName} +'Template'" type="text/html">
|
||||||
|
<select th:name="${dynamicFormFormShowFieldDTO.fieldName}">
|
||||||
|
<option value="" th:text="'选择'+ ${dynamicFormFormShowFieldDTO.fieldExplain}"></option>
|
||||||
|
{{# for(var i = 0, item; item = d[i++];) { }}
|
||||||
|
<option th:value="'{{item.'+ ${dynamicFormFormShowFieldDTO.joinTable} +'Id}}'" th:text="'{{item.'+ ${dynamicFormFormShowFieldDTO.joinTableFormShow} +'}}'"></option>
|
||||||
|
{{# } }}
|
||||||
|
</select>
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="layui-form-item layui-layout-admin">
|
<div class="layui-form-item layui-layout-admin">
|
||||||
@ -397,6 +412,20 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
} else if(item.fieldType === 'leftJoin' || item.fieldType === 'innerJoin' || item.fieldType === 'rightJoin') {
|
||||||
|
top.restAjax.get(top.restAjax.path('api/dynamicdata/listdynamicdata/{tableName}', [item.joinTable]), {}, {fieldName: item.fieldName}, function(code, data, args) {
|
||||||
|
laytpl(document.getElementById(args.fieldName +'Template').innerHTML).render(data, function(html) {
|
||||||
|
document.getElementById(args.fieldName +'TemplateBox').innerHTML = html;
|
||||||
|
});
|
||||||
|
// 初始化选择
|
||||||
|
var formSelectData = {};
|
||||||
|
formSelectData[args.fieldName] = dataFormData[args.fieldName];
|
||||||
|
form.val('dataForm', formSelectData);
|
||||||
|
// 刷新
|
||||||
|
form.render('select', args.fieldName +'TemplateBox');
|
||||||
|
}, function(code, data) {
|
||||||
|
top.dialog.msg(data.msg);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, function(code, data) {
|
}, function(code, data) {
|
||||||
|
Loading…
Reference in New Issue
Block a user