mirror of
https://gitee.com/xiaonuobase/snowy.git
synced 2026-10-06 06:52:58 +08:00
【底座】采纳 #IJZBV8 建议,代码生成时生成增加查看“详情”功能和页面
This commit is contained in:
@@ -473,7 +473,7 @@
|
||||
formData.value.subFunctionName = formData.value.subFunctionName || subData.tableRemark
|
||||
const subTableNameHump = getTableNameToHump(subData.value)
|
||||
formData.value.subBusName = formData.value.subBusName || subTableNameHump.toLowerCase()
|
||||
formData.value.subClassName = formData.value.subClassName || getClassName(subData.value)
|
||||
formData.value.subClassName = formData.value.subClassName || ('Sub' + getClassName(subData.value))
|
||||
}
|
||||
genBasicApi.basicTableColumns({ tableName }).then((res) => {
|
||||
subTableColumnList.value = res
|
||||
|
||||
@@ -73,6 +73,9 @@
|
||||
<template v-if="column.dataIndex === 'whetherTable'">
|
||||
<a-checkbox v-model:checked="record.whetherTable" @change="whetherTableChange(record)" :disabled="isTreeParentField(record) || isLeftTreeNonNameField(record)" />
|
||||
</template>
|
||||
<template v-if="column.dataIndex === 'whetherDetail'">
|
||||
<a-checkbox v-model:checked="record.whetherDetail" :disabled="isTreeParentField(record) || isLeftTreeNonNameField(record)" />
|
||||
</template>
|
||||
<template v-if="column.dataIndex === 'whetherRetract'">
|
||||
<a-checkbox v-model:checked="record.whetherRetract" :disabled="!record.whetherTable || isTreeParentField(record) || isLeftTreeNonNameField(record)" />
|
||||
</template>
|
||||
@@ -192,6 +195,9 @@
|
||||
<template v-if="column.dataIndex === 'whetherTable'">
|
||||
<a-checkbox v-model:checked="record.whetherTable" @change="whetherTableChange(record)" :disabled="isTreeParentField(record) || isSubForeignKeyField(record)" />
|
||||
</template>
|
||||
<template v-if="column.dataIndex === 'whetherDetail'">
|
||||
<a-checkbox v-model:checked="record.whetherDetail" :disabled="isTreeParentField(record) || isSubForeignKeyField(record)" />
|
||||
</template>
|
||||
<template v-if="column.dataIndex === 'whetherRetract'">
|
||||
<a-checkbox v-model:checked="record.whetherRetract" :disabled="!record.whetherTable || isTreeParentField(record) || isSubForeignKeyField(record)" />
|
||||
</template>
|
||||
@@ -298,6 +304,9 @@
|
||||
<template v-if="column.dataIndex === 'whetherTable'">
|
||||
<a-checkbox v-model:checked="record.whetherTable" @change="whetherTableChange(record)" :disabled="isTreeParentField(record)" />
|
||||
</template>
|
||||
<template v-if="column.dataIndex === 'whetherDetail'">
|
||||
<a-checkbox v-model:checked="record.whetherDetail" :disabled="isTreeParentField(record)" />
|
||||
</template>
|
||||
<template v-if="column.dataIndex === 'whetherRetract'">
|
||||
<a-checkbox v-model:checked="record.whetherRetract" :disabled="!record.whetherTable || isTreeParentField(record)" />
|
||||
</template>
|
||||
@@ -407,6 +416,11 @@
|
||||
align: 'center',
|
||||
dataIndex: 'whetherTable'
|
||||
},
|
||||
{
|
||||
title: '详情显示',
|
||||
align: 'center',
|
||||
dataIndex: 'whetherDetail'
|
||||
},
|
||||
{
|
||||
title: '列省略',
|
||||
align: 'center',
|
||||
@@ -479,6 +493,7 @@
|
||||
item.queryWhether = false
|
||||
item.queryType = null
|
||||
item.whetherTable = false
|
||||
item.whetherDetail = false
|
||||
item.whetherRetract = false
|
||||
item.whetherUnique = false
|
||||
}
|
||||
@@ -497,6 +512,7 @@
|
||||
item.queryWhether = false
|
||||
item.queryType = null
|
||||
item.whetherTable = false
|
||||
item.whetherDetail = false
|
||||
item.whetherRetract = false
|
||||
item.whetherUnique = false
|
||||
} else if (currentGenType.value === 'MASTER_DETAIL') {
|
||||
@@ -505,6 +521,7 @@
|
||||
item.queryWhether = false
|
||||
item.queryType = null
|
||||
item.whetherTable = false
|
||||
item.whetherDetail = false
|
||||
item.whetherRetract = false
|
||||
item.whetherUnique = false
|
||||
}
|
||||
|
||||
+19
-4
@@ -99,6 +99,7 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
||||
private static final List<JSONObject> GEN_FRONT_FILE_LIST = CollectionUtil.newArrayList(
|
||||
JSONUtil.createObj().set("name", "Api.js.btl").set("path", "api"),
|
||||
JSONUtil.createObj().set("name", "form.vue.btl").set("path", "views"),
|
||||
JSONUtil.createObj().set("name", "detail.vue.btl").set("path", "views"),
|
||||
JSONUtil.createObj().set("name", "index.vue.btl").set("path", "views"),
|
||||
JSONUtil.createObj().set("name", "importModel.vue.btl").set("path", "views"));
|
||||
|
||||
@@ -154,6 +155,8 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
||||
JSONUtil.createObj().set("name", "Api.js.btl").set("path", "api"),
|
||||
JSONUtil.createObj().set("name", "form.vue.btl").set("path", "views"),
|
||||
JSONUtil.createObj().set("name", "subForm.vue.btl").set("path", "views"),
|
||||
JSONUtil.createObj().set("name", "detail.vue.btl").set("path", "views"),
|
||||
JSONUtil.createObj().set("name", "subDetail.vue.btl").set("path", "views"),
|
||||
JSONUtil.createObj().set("name", "index.vue.btl").set("path", "views"),
|
||||
JSONUtil.createObj().set("name", "importModel.vue.btl").set("path", "views"),
|
||||
JSONUtil.createObj().set("name", "subImportModel.vue.btl").set("path", "views"));
|
||||
@@ -163,6 +166,7 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
||||
JSONUtil.createObj().set("name", "Api.js.btl").set("path", "api"),
|
||||
JSONUtil.createObj().set("name", "form.vue.btl").set("path", "views"),
|
||||
JSONUtil.createObj().set("name", "treeForm.vue.btl").set("path", "views"),
|
||||
JSONUtil.createObj().set("name", "detail.vue.btl").set("path", "views"),
|
||||
JSONUtil.createObj().set("name", "index.vue.btl").set("path", "views"),
|
||||
JSONUtil.createObj().set("name", "importModel.vue.btl").set("path", "views"));
|
||||
|
||||
@@ -340,6 +344,7 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
||||
addParam.setWhetherRetract(GenYesNoEnum.N.getValue());
|
||||
addParam.setWhetherRequired(GenYesNoEnum.N.getValue());
|
||||
addParam.setWhetherUnique(GenYesNoEnum.N.getValue());
|
||||
addParam.setWhetherDetail(GenYesNoEnum.Y.getValue());
|
||||
addParam.setQueryWhether(GenYesNoEnum.N.getValue());
|
||||
addParam.setSortCode(i);
|
||||
GenConfig genConfig = BeanUtil.toBean(addParam, GenConfig.class);
|
||||
@@ -392,6 +397,7 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
||||
subAddParam.setWhetherRetract(GenYesNoEnum.N.getValue());
|
||||
subAddParam.setWhetherRequired(GenYesNoEnum.N.getValue());
|
||||
subAddParam.setWhetherUnique(GenYesNoEnum.N.getValue());
|
||||
subAddParam.setWhetherDetail(GenYesNoEnum.Y.getValue());
|
||||
subAddParam.setQueryWhether(GenYesNoEnum.N.getValue());
|
||||
subAddParam.setSortCode(j);
|
||||
GenConfig subGenConfig = BeanUtil.toBean(subAddParam, GenConfig.class);
|
||||
@@ -721,8 +727,9 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
||||
if("SubEntity.java.btl".equalsIgnoreCase(fileTemplateName)) {
|
||||
actualSuffix = ".java";
|
||||
}
|
||||
genBasicCodeBackendResult.setCodeFileName("Sub" + genBasic.getSubClassName() + actualSuffix);
|
||||
genBasicCodeBackendResult.setCodeFileWithPathName(genBackendBasicPath + fileTemplatePath + File.separator + "Sub" + genBasic.getSubClassName() + actualSuffix);
|
||||
String subClassName = genBasic.getSubClassName();
|
||||
genBasicCodeBackendResult.setCodeFileName(subClassName + actualSuffix);
|
||||
genBasicCodeBackendResult.setCodeFileWithPathName(genBackendBasicPath + fileTemplatePath + File.separator + subClassName + actualSuffix);
|
||||
genBasicCodeBackendResult.setCodeFileContent(templateBackend.render());
|
||||
genBasicCodeBackendResultList.add(genBasicCodeBackendResult);
|
||||
});
|
||||
@@ -852,12 +859,15 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
||||
bindingJsonObject.set("treeAddButtonId", IdWorker.getIdStr());
|
||||
bindingJsonObject.set("treeEditButtonId", IdWorker.getIdStr());
|
||||
bindingJsonObject.set("treeDeleteButtonId", IdWorker.getIdStr());
|
||||
bindingJsonObject.set("treeDetailButtonId", IdWorker.getIdStr());
|
||||
// 添加按钮ID
|
||||
bindingJsonObject.set("addButtonId", IdWorker.getIdStr());
|
||||
// 编辑按钮ID
|
||||
bindingJsonObject.set("editButtonId", IdWorker.getIdStr());
|
||||
// 删除按钮ID
|
||||
bindingJsonObject.set("deleteButtonId", IdWorker.getIdStr());
|
||||
// 详情按钮ID
|
||||
bindingJsonObject.set("detailButtonId", IdWorker.getIdStr());
|
||||
// 批量删除按钮ID
|
||||
bindingJsonObject.set("batchDeleteButtonId", IdWorker.getIdStr());
|
||||
// 导入按钮ID
|
||||
@@ -868,6 +878,7 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
||||
bindingJsonObject.set("subAddButtonId", IdWorker.getIdStr());
|
||||
bindingJsonObject.set("subEditButtonId", IdWorker.getIdStr());
|
||||
bindingJsonObject.set("subDeleteButtonId", IdWorker.getIdStr());
|
||||
bindingJsonObject.set("subDetailButtonId", IdWorker.getIdStr());
|
||||
// 子表导入按钮ID(主子表类型使用)
|
||||
bindingJsonObject.set("subImportButtonId", IdWorker.getIdStr());
|
||||
// 子表导出按钮ID(主子表类型使用)
|
||||
@@ -930,6 +941,8 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
||||
configItem.set("whetherRetract", genConfig.getWhetherRetract().equalsIgnoreCase(GenYesNoEnum.Y.getValue()));
|
||||
// 增改
|
||||
configItem.set("whetherAddUpdate", genConfig.getWhetherAddUpdate().equalsIgnoreCase(GenYesNoEnum.Y.getValue()));
|
||||
// 详情显示
|
||||
configItem.set("whetherDetail", genConfig.getWhetherDetail().equalsIgnoreCase(GenYesNoEnum.Y.getValue()));
|
||||
// 作用类型
|
||||
configItem.set("effectType", genConfig.getEffectType());
|
||||
// 字典值
|
||||
@@ -1021,8 +1034,9 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
||||
bindingJsonObject.set("subForeignKey", genBasic.getSubForeignKey());
|
||||
bindingJsonObject.set("subForeignKeyCamelCase", StrUtil.toCamelCase(genBasic.getSubForeignKey().toLowerCase()));
|
||||
bindingJsonObject.set("subForeignKeyFirstUpper", StrUtil.upperFirst(StrUtil.toCamelCase(genBasic.getSubForeignKey().toLowerCase())));
|
||||
bindingJsonObject.set("subClassName", genBasic.getSubClassName());
|
||||
bindingJsonObject.set("subClassNameFirstLower", StrUtil.lowerFirst(genBasic.getSubClassName()));
|
||||
String subClassName = genBasic.getSubClassName();
|
||||
bindingJsonObject.set("subClassName", subClassName);
|
||||
bindingJsonObject.set("subClassNameFirstLower", StrUtil.lowerFirst(subClassName));
|
||||
bindingJsonObject.set("subFunctionName", genBasic.getSubFunctionName());
|
||||
bindingJsonObject.set("subBusName", genBasic.getSubBusName());
|
||||
// 子表主键Java类型(默认String)
|
||||
@@ -1082,6 +1096,7 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
||||
subConfigItem.set("whetherTable", genConfig.getWhetherTable().equalsIgnoreCase(GenYesNoEnum.Y.getValue()));
|
||||
subConfigItem.set("whetherRetract", genConfig.getWhetherRetract().equalsIgnoreCase(GenYesNoEnum.Y.getValue()));
|
||||
subConfigItem.set("whetherAddUpdate", genConfig.getWhetherAddUpdate().equalsIgnoreCase(GenYesNoEnum.Y.getValue()));
|
||||
subConfigItem.set("whetherDetail", genConfig.getWhetherDetail().equalsIgnoreCase(GenYesNoEnum.Y.getValue()));
|
||||
subConfigItem.set("effectType", genConfig.getEffectType());
|
||||
subConfigItem.set("dictTypeCode", genConfig.getDictTypeCode());
|
||||
subConfigItem.set("fieldJavaType", genConfig.getFieldJavaType());
|
||||
|
||||
+4
@@ -93,6 +93,10 @@ public class GenConfig extends CommonEntity {
|
||||
@Schema(description = "查询方式")
|
||||
private String queryType;
|
||||
|
||||
/** 详情显示 */
|
||||
@Schema(description = "详情显示")
|
||||
private String whetherDetail;
|
||||
|
||||
/** 排序 */
|
||||
@Schema(description = "排序")
|
||||
private Integer sortCode;
|
||||
|
||||
+4
@@ -92,6 +92,10 @@ public class GenConfigAddParam {
|
||||
@Schema(description = "查询方式")
|
||||
private String queryType;
|
||||
|
||||
/** 详情显示 */
|
||||
@Schema(description = "详情显示")
|
||||
private String whetherDetail;
|
||||
|
||||
/** 排序 */
|
||||
@Schema(description = "排序")
|
||||
private Integer sortCode;
|
||||
|
||||
+5
@@ -105,6 +105,11 @@ public class GenConfigEditParam {
|
||||
@Schema(description = "查询方式", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String queryType;
|
||||
|
||||
/** 详情显示 */
|
||||
@Schema(description = "详情显示", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotBlank(message = "whetherDetail不能为空")
|
||||
private String whetherDetail;
|
||||
|
||||
/** 排序 */
|
||||
@Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Integer sortCode;
|
||||
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
<template>
|
||||
<xn-form-container
|
||||
title="详情${functionName}"
|
||||
:width="700"
|
||||
v-model:open="open"
|
||||
:destroy-on-close="true"
|
||||
@close="onClose"
|
||||
>
|
||||
<a-descriptions :column="1" bordered size="small">
|
||||
<% for(var i = 0; i < configList.~size; i++) { %>
|
||||
<% if(!configList[i].needTableId && configList[i].whetherDetail) { %>
|
||||
<a-descriptions-item label="${configList[i].fieldRemark}">
|
||||
<% if(configList[i].effectType == 'select' || configList[i].effectType == 'radio') { %>
|
||||
<a-tag :color="$TOOL.dictTypeColor('${configList[i].dictTypeCode}', formData.${configList[i].fieldNameCamelCase})">{{ $TOOL.dictTypeData('${configList[i].dictTypeCode}', formData.${configList[i].fieldNameCamelCase}) }}</a-tag>
|
||||
<% } else if (configList[i].effectType == 'checkbox') { %>
|
||||
<a-tag v-for="textValue in JSON.parse(formData.${configList[i].fieldNameCamelCase} || '[]')" :key="textValue" :color="$TOOL.dictTypeColor('${configList[i].dictTypeCode}', textValue)">{{ $TOOL.dictTypeData('${configList[i].dictTypeCode}', textValue) }}</a-tag>
|
||||
<% } else if (configList[i].effectType == 'imageUpload') {%>
|
||||
<a-image v-if="formData.${configList[i].fieldNameCamelCase}" :src="formData.${configList[i].fieldNameCamelCase}" style="width: 100px; height: 100px" />
|
||||
<span v-else>无</span>
|
||||
<% } else if (configList[i].effectType == 'fileUpload') {%>
|
||||
<a-button v-if="formData.${configList[i].fieldNameCamelCase}" type="link" @click="downloadFile(formData.${configList[i].fieldNameCamelCase})">下载文件</a-button>
|
||||
<span v-else>无</span>
|
||||
<% } else if (configList[i].effectType == 'editor') {%>
|
||||
<div v-html="formData.${configList[i].fieldNameCamelCase}"></div>
|
||||
<% } else { %>
|
||||
{{ formData.${configList[i].fieldNameCamelCase} }}
|
||||
<% } %>
|
||||
</a-descriptions-item>
|
||||
<% } %>
|
||||
<% } %>
|
||||
</a-descriptions>
|
||||
<template #footer>
|
||||
<a-button style="margin-right: 8px" @click="onClose">关闭</a-button>
|
||||
</template>
|
||||
</xn-form-container>
|
||||
</template>
|
||||
|
||||
<script setup name="${classNameFirstLower}Detail">
|
||||
import { cloneDeep } from 'lodash-es'
|
||||
import ${classNameFirstLower}Api from '@/api/${moduleName}/${classNameFirstLower}Api'
|
||||
|
||||
// 抽屉状态
|
||||
const open = ref(false)
|
||||
// 表单数据
|
||||
const formData = ref({})
|
||||
|
||||
// 打开抽屉
|
||||
const onOpen = (record) => {
|
||||
open.value = true
|
||||
${classNameFirstLower}Api.${classNameFirstLower}Detail({ id: record.id }).then((data) => {
|
||||
formData.value = data
|
||||
})
|
||||
}
|
||||
// 关闭抽屉
|
||||
const onClose = () => {
|
||||
formData.value = {}
|
||||
open.value = false
|
||||
}
|
||||
// 下载文件
|
||||
const downloadFile = (url) => {
|
||||
window.open(url)
|
||||
}
|
||||
// 抛出函数
|
||||
defineExpose({
|
||||
onOpen
|
||||
})
|
||||
</script>
|
||||
+6
-1
@@ -205,7 +205,9 @@
|
||||
<template v-if="column.dataIndex === 'action'">
|
||||
<a-space>
|
||||
<a @click="formRef.onOpen(record, selectedTreeKey)" v-if="hasPerm('${classNameFirstLower}Edit')">编辑</a>
|
||||
<a-divider type="vertical" v-if="hasPerm(['${classNameFirstLower}Edit', '${classNameFirstLower}Delete'], 'and')" />
|
||||
<a-divider type="vertical" v-if="hasPerm(['${classNameFirstLower}Edit', '${classNameFirstLower}Detail'], 'and')" />
|
||||
<a @click="detailRef.onOpen(record)" v-if="hasPerm('${classNameFirstLower}Detail')">详情</a>
|
||||
<a-divider type="vertical" v-if="hasPerm(['${classNameFirstLower}Detail', '${classNameFirstLower}Delete'], 'and')" />
|
||||
<a-popconfirm title="确定要删除吗?" @confirm="delete${subClassName}(record)">
|
||||
<a-button type="link" danger size="small" v-if="hasPerm('${classNameFirstLower}Delete')">删除</a-button>
|
||||
</a-popconfirm>
|
||||
@@ -223,6 +225,7 @@
|
||||
</XnResizablePanel>
|
||||
<TreeForm ref="treeFormRef" @successful="onTreeFormSuccess" />
|
||||
<Form ref="formRef" @successful="tableRef.refresh()" />
|
||||
<Detail ref="detailRef" />
|
||||
<ImportModel ref="importModelRef" />
|
||||
</template>
|
||||
|
||||
@@ -247,6 +250,7 @@
|
||||
import { onMounted, onActivated, onUnmounted } from 'vue'
|
||||
import TreeForm from './treeForm.vue'
|
||||
import Form from './form.vue'
|
||||
import Detail from './detail.vue'
|
||||
import ImportModel from './importModel.vue'
|
||||
import downloadUtil from '@/utils/downloadUtil'
|
||||
import ${classNameFirstLower}Api from '@/api/${moduleName}/${classNameFirstLower}Api'
|
||||
@@ -259,6 +263,7 @@
|
||||
<% } %>
|
||||
const tableRef = ref()
|
||||
const formRef = ref()
|
||||
const detailRef = ref()
|
||||
const treeFormRef = ref()
|
||||
const importModelRef = ref()
|
||||
<% if(hasUserSelector || hasOrgSelector || hasPositionSelector || hasGroupSelector) { %>
|
||||
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
<template>
|
||||
<xn-form-container
|
||||
title="详情${functionName}"
|
||||
:width="700"
|
||||
v-model:open="open"
|
||||
:destroy-on-close="true"
|
||||
@close="onClose"
|
||||
>
|
||||
<a-descriptions :column="1" bordered size="small">
|
||||
<% for(var i = 0; i < configList.~size; i++) { %>
|
||||
<% if(!configList[i].needTableId && configList[i].whetherDetail) { %>
|
||||
<a-descriptions-item label="${configList[i].fieldRemark}">
|
||||
<% if(configList[i].effectType == 'select' || configList[i].effectType == 'radio') { %>
|
||||
<a-tag :color="$TOOL.dictTypeColor('${configList[i].dictTypeCode}', formData.${configList[i].fieldNameCamelCase})">{{ $TOOL.dictTypeData('${configList[i].dictTypeCode}', formData.${configList[i].fieldNameCamelCase}) }}</a-tag>
|
||||
<% } else if (configList[i].effectType == 'checkbox') { %>
|
||||
<a-tag v-for="textValue in JSON.parse(formData.${configList[i].fieldNameCamelCase} || '[]')" :key="textValue" :color="$TOOL.dictTypeColor('${configList[i].dictTypeCode}', textValue)">{{ $TOOL.dictTypeData('${configList[i].dictTypeCode}', textValue) }}</a-tag>
|
||||
<% } else if (configList[i].effectType == 'imageUpload') {%>
|
||||
<a-image v-if="formData.${configList[i].fieldNameCamelCase}" :src="formData.${configList[i].fieldNameCamelCase}" style="width: 100px; height: 100px" />
|
||||
<span v-else>无</span>
|
||||
<% } else if (configList[i].effectType == 'fileUpload') {%>
|
||||
<a-button v-if="formData.${configList[i].fieldNameCamelCase}" type="link" @click="downloadFile(formData.${configList[i].fieldNameCamelCase})">下载文件</a-button>
|
||||
<span v-else>无</span>
|
||||
<% } else if (configList[i].effectType == 'editor') {%>
|
||||
<div v-html="formData.${configList[i].fieldNameCamelCase}"></div>
|
||||
<% } else { %>
|
||||
{{ formData.${configList[i].fieldNameCamelCase} }}
|
||||
<% } %>
|
||||
</a-descriptions-item>
|
||||
<% } %>
|
||||
<% } %>
|
||||
</a-descriptions>
|
||||
<template #footer>
|
||||
<a-button style="margin-right: 8px" @click="onClose">关闭</a-button>
|
||||
</template>
|
||||
</xn-form-container>
|
||||
</template>
|
||||
|
||||
<script setup name="${classNameFirstLower}Detail">
|
||||
import { cloneDeep } from 'lodash-es'
|
||||
import ${classNameFirstLower}Api from '@/api/${moduleName}/${classNameFirstLower}Api'
|
||||
|
||||
// 抽屉状态
|
||||
const open = ref(false)
|
||||
// 表单数据
|
||||
const formData = ref({})
|
||||
|
||||
// 打开抽屉
|
||||
const onOpen = (record) => {
|
||||
open.value = true
|
||||
${classNameFirstLower}Api.${classNameFirstLower}Detail({ id: record.id }).then((data) => {
|
||||
formData.value = data
|
||||
})
|
||||
}
|
||||
// 关闭抽屉
|
||||
const onClose = () => {
|
||||
formData.value = {}
|
||||
open.value = false
|
||||
}
|
||||
// 下载文件
|
||||
const downloadFile = (url) => {
|
||||
window.open(url)
|
||||
}
|
||||
// 抛出函数
|
||||
defineExpose({
|
||||
onOpen
|
||||
})
|
||||
</script>
|
||||
+12
-2
@@ -158,7 +158,9 @@
|
||||
<template v-if="column.dataIndex === 'action'">
|
||||
<a-space>
|
||||
<a @click="formRef.onOpen(record)" v-if="hasPerm('${classNameFirstLower}Edit')">编辑</a>
|
||||
<a-divider type="vertical" v-if="hasPerm(['${classNameFirstLower}Edit', '${classNameFirstLower}Delete'], 'and')" />
|
||||
<a-divider type="vertical" v-if="hasPerm(['${classNameFirstLower}Edit', '${classNameFirstLower}Detail'], 'and')" />
|
||||
<a @click="detailRef.onOpen(record)" v-if="hasPerm('${classNameFirstLower}Detail')">详情</a>
|
||||
<a-divider type="vertical" v-if="hasPerm(['${classNameFirstLower}Detail', '${classNameFirstLower}Delete'], 'and')" />
|
||||
<a-popconfirm title="确定要删除吗?" @confirm="delete${className}(record)">
|
||||
<a-button type="link" danger size="small" v-if="hasPerm('${classNameFirstLower}Delete')">删除</a-button>
|
||||
</a-popconfirm>
|
||||
@@ -224,7 +226,9 @@
|
||||
<template v-if="column.dataIndex === 'action'">
|
||||
<a-space>
|
||||
<a @click="subFormRef.onOpen(subRecord, record.${dbTableKeyCamelCase})" v-if="hasPerm('${classNameFirstLower}SubEdit')">编辑</a>
|
||||
<a-divider type="vertical" v-if="hasPerm(['${classNameFirstLower}SubEdit', '${classNameFirstLower}SubDelete'], 'and')" />
|
||||
<a-divider type="vertical" v-if="hasPerm(['${classNameFirstLower}SubEdit', '${classNameFirstLower}SubDetail'], 'and')" />
|
||||
<a @click="subDetailRef.onOpen(subRecord)" v-if="hasPerm('${classNameFirstLower}SubDetail')">详情</a>
|
||||
<a-divider type="vertical" v-if="hasPerm(['${classNameFirstLower}SubDetail', '${classNameFirstLower}SubDelete'], 'and')" />
|
||||
<a-popconfirm title="确定要删除吗?" @confirm="deleteSub${subClassName}(subRecord, record.${dbTableKeyCamelCase})">
|
||||
<a-button type="link" danger size="small" v-if="hasPerm('${classNameFirstLower}SubDelete')">删除</a-button>
|
||||
</a-popconfirm>
|
||||
@@ -237,7 +241,9 @@
|
||||
</s-table>
|
||||
</xn-panel>
|
||||
<Form ref="formRef" @successful="tableRef.refresh()" />
|
||||
<Detail ref="detailRef" />
|
||||
<SubForm ref="subFormRef" @successful="onSubFormSuccess" />
|
||||
<SubDetail ref="subDetailRef" />
|
||||
<ImportModel ref="importModelRef" />
|
||||
<SubImportModel ref="subImportModelRef" @successful="onSubFormSuccess" />
|
||||
</template>
|
||||
@@ -260,7 +266,9 @@
|
||||
<% } %>
|
||||
import { cloneDeep } from 'lodash-es'
|
||||
import Form from './form.vue'
|
||||
import Detail from './detail.vue'
|
||||
import SubForm from './subForm.vue'
|
||||
import SubDetail from './subDetail.vue'
|
||||
import ImportModel from './importModel.vue'
|
||||
import SubImportModel from './subImportModel.vue'
|
||||
import downloadUtil from '@/utils/downloadUtil'
|
||||
@@ -274,7 +282,9 @@
|
||||
<% } %>
|
||||
const tableRef = ref()
|
||||
const formRef = ref()
|
||||
const detailRef = ref()
|
||||
const subFormRef = ref()
|
||||
const subDetailRef = ref()
|
||||
const importModelRef = ref()
|
||||
const subImportModelRef = ref()
|
||||
<% if(hasUserSelector || hasOrgSelector || hasPositionSelector || hasGroupSelector) { %>
|
||||
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
<template>
|
||||
<xn-form-container
|
||||
title="详情${subFunctionName}"
|
||||
:width="700"
|
||||
v-model:open="open"
|
||||
:destroy-on-close="true"
|
||||
@close="onClose"
|
||||
>
|
||||
<a-descriptions :column="1" bordered size="small">
|
||||
<% for(var i = 0; i < subConfigList.~size; i++) { %>
|
||||
<% if(!subConfigList[i].needTableId && subConfigList[i].whetherDetail) { %>
|
||||
<a-descriptions-item label="${subConfigList[i].fieldRemark}">
|
||||
<% if(subConfigList[i].effectType == 'select' || subConfigList[i].effectType == 'radio') { %>
|
||||
<a-tag :color="$TOOL.dictTypeColor('${subConfigList[i].dictTypeCode}', formData.${subConfigList[i].fieldNameCamelCase})">{{ $TOOL.dictTypeData('${subConfigList[i].dictTypeCode}', formData.${subConfigList[i].fieldNameCamelCase}) }}</a-tag>
|
||||
<% } else if (subConfigList[i].effectType == 'checkbox') { %>
|
||||
<a-tag v-for="textValue in JSON.parse(formData.${subConfigList[i].fieldNameCamelCase} || '[]')" :key="textValue" :color="$TOOL.dictTypeColor('${subConfigList[i].dictTypeCode}', textValue)">{{ $TOOL.dictTypeData('${subConfigList[i].dictTypeCode}', textValue) }}</a-tag>
|
||||
<% } else if (subConfigList[i].effectType == 'imageUpload') {%>
|
||||
<a-image v-if="formData.${subConfigList[i].fieldNameCamelCase}" :src="formData.${subConfigList[i].fieldNameCamelCase}" style="width: 100px; height: 100px" />
|
||||
<span v-else>无</span>
|
||||
<% } else if (subConfigList[i].effectType == 'fileUpload') {%>
|
||||
<a-button v-if="formData.${subConfigList[i].fieldNameCamelCase}" type="link" @click="downloadFile(formData.${subConfigList[i].fieldNameCamelCase})">下载文件</a-button>
|
||||
<span v-else>无</span>
|
||||
<% } else if (subConfigList[i].effectType == 'editor') {%>
|
||||
<div v-html="formData.${subConfigList[i].fieldNameCamelCase}"></div>
|
||||
<% } else { %>
|
||||
{{ formData.${subConfigList[i].fieldNameCamelCase} }}
|
||||
<% } %>
|
||||
</a-descriptions-item>
|
||||
<% } %>
|
||||
<% } %>
|
||||
</a-descriptions>
|
||||
<template #footer>
|
||||
<a-button style="margin-right: 8px" @click="onClose">关闭</a-button>
|
||||
</template>
|
||||
</xn-form-container>
|
||||
</template>
|
||||
|
||||
<script setup name="${subClassNameFirstLower}Detail">
|
||||
import { cloneDeep } from 'lodash-es'
|
||||
import ${classNameFirstLower}Api from '@/api/${moduleName}/${classNameFirstLower}Api'
|
||||
|
||||
// 抽屉状态
|
||||
const open = ref(false)
|
||||
// 表单数据
|
||||
const formData = ref({})
|
||||
|
||||
// 打开抽屉
|
||||
const onOpen = (record) => {
|
||||
open.value = true
|
||||
<% for(var i = 0; i < subConfigList.~size; i++) { %>
|
||||
<% if(subConfigList[i].needTableId) { %>
|
||||
${classNameFirstLower}Api.${subClassNameFirstLower}Detail({ ${subConfigList[i].fieldNameCamelCase}: record.${subConfigList[i].fieldNameCamelCase} }).then((data) => {
|
||||
formData.value = data
|
||||
})
|
||||
<% } %>
|
||||
<% } %>
|
||||
}
|
||||
// 关闭抽屉
|
||||
const onClose = () => {
|
||||
formData.value = {}
|
||||
open.value = false
|
||||
}
|
||||
// 下载文件
|
||||
const downloadFile = (url) => {
|
||||
window.open(url)
|
||||
}
|
||||
// 抛出函数
|
||||
defineExpose({
|
||||
onOpen
|
||||
})
|
||||
</script>
|
||||
@@ -0,0 +1,67 @@
|
||||
<template>
|
||||
<xn-form-container
|
||||
title="详情${functionName}"
|
||||
:width="700"
|
||||
v-model:open="open"
|
||||
:destroy-on-close="true"
|
||||
@close="onClose"
|
||||
>
|
||||
<a-descriptions :column="1" bordered size="small">
|
||||
<% for(var i = 0; i < configList.~size; i++) { %>
|
||||
<% if(!configList[i].needTableId && configList[i].whetherDetail) { %>
|
||||
<a-descriptions-item label="${configList[i].fieldRemark}">
|
||||
<% if(configList[i].effectType == 'select' || configList[i].effectType == 'radio') { %>
|
||||
<a-tag :color="$TOOL.dictTypeColor('${configList[i].dictTypeCode}', formData.${configList[i].fieldNameCamelCase})">{{ $TOOL.dictTypeData('${configList[i].dictTypeCode}', formData.${configList[i].fieldNameCamelCase}) }}</a-tag>
|
||||
<% } else if (configList[i].effectType == 'checkbox') { %>
|
||||
<a-tag v-for="textValue in JSON.parse(formData.${configList[i].fieldNameCamelCase} || '[]')" :key="textValue" :color="$TOOL.dictTypeColor('${configList[i].dictTypeCode}', textValue)">{{ $TOOL.dictTypeData('${configList[i].dictTypeCode}', textValue) }}</a-tag>
|
||||
<% } else if (configList[i].effectType == 'imageUpload') {%>
|
||||
<a-image v-if="formData.${configList[i].fieldNameCamelCase}" :src="formData.${configList[i].fieldNameCamelCase}" style="width: 100px; height: 100px" />
|
||||
<span v-else>无</span>
|
||||
<% } else if (configList[i].effectType == 'fileUpload') {%>
|
||||
<a-button v-if="formData.${configList[i].fieldNameCamelCase}" type="link" @click="downloadFile(formData.${configList[i].fieldNameCamelCase})">下载文件</a-button>
|
||||
<span v-else>无</span>
|
||||
<% } else if (configList[i].effectType == 'editor') {%>
|
||||
<div v-html="formData.${configList[i].fieldNameCamelCase}"></div>
|
||||
<% } else { %>
|
||||
{{ formData.${configList[i].fieldNameCamelCase} }}
|
||||
<% } %>
|
||||
</a-descriptions-item>
|
||||
<% } %>
|
||||
<% } %>
|
||||
</a-descriptions>
|
||||
<template #footer>
|
||||
<a-button style="margin-right: 8px" @click="onClose">关闭</a-button>
|
||||
</template>
|
||||
</xn-form-container>
|
||||
</template>
|
||||
|
||||
<script setup name="${classNameFirstLower}Detail">
|
||||
import { cloneDeep } from 'lodash-es'
|
||||
import ${classNameFirstLower}Api from '@/api/${moduleName}/${classNameFirstLower}Api'
|
||||
|
||||
// 抽屉状态
|
||||
const open = ref(false)
|
||||
// 表单数据
|
||||
const formData = ref({})
|
||||
|
||||
// 打开抽屉
|
||||
const onOpen = (record) => {
|
||||
open.value = true
|
||||
${classNameFirstLower}Api.${classNameFirstLower}Detail({ id: record.id }).then((data) => {
|
||||
formData.value = data
|
||||
})
|
||||
}
|
||||
// 关闭抽屉
|
||||
const onClose = () => {
|
||||
formData.value = {}
|
||||
open.value = false
|
||||
}
|
||||
// 下载文件
|
||||
const downloadFile = (url) => {
|
||||
window.open(url)
|
||||
}
|
||||
// 抛出函数
|
||||
defineExpose({
|
||||
onOpen
|
||||
})
|
||||
</script>
|
||||
@@ -156,7 +156,9 @@
|
||||
<template v-if="column.dataIndex === 'action'">
|
||||
<a-space>
|
||||
<a @click="formRef.onOpen(record)" v-if="hasPerm('${classNameFirstLower}Edit')">编辑</a>
|
||||
<a-divider type="vertical" v-if="hasPerm(['${classNameFirstLower}Edit', '${classNameFirstLower}Delete'], 'and')" />
|
||||
<a-divider type="vertical" v-if="hasPerm(['${classNameFirstLower}Edit', '${classNameFirstLower}Detail'], 'and')" />
|
||||
<a @click="detailRef.onOpen(record)" v-if="hasPerm('${classNameFirstLower}Detail')">详情</a>
|
||||
<a-divider type="vertical" v-if="hasPerm(['${classNameFirstLower}Detail', '${classNameFirstLower}Delete'], 'and')" />
|
||||
<a-popconfirm title="确定要删除吗?" @confirm="delete${className}(record)">
|
||||
<a-button type="link" danger size="small" v-if="hasPerm('${classNameFirstLower}Delete')">删除</a-button>
|
||||
</a-popconfirm>
|
||||
@@ -167,6 +169,7 @@
|
||||
</xn-panel>
|
||||
<ImportModel ref="importModelRef" />
|
||||
<Form ref="formRef" @successful="tableRef.refresh()" />
|
||||
<Detail ref="detailRef" />
|
||||
</template>
|
||||
|
||||
<script setup name="${busName}">
|
||||
@@ -187,6 +190,7 @@
|
||||
<% } %>
|
||||
import { cloneDeep } from 'lodash-es'
|
||||
import Form from './form.vue'
|
||||
import Detail from './detail.vue'
|
||||
import ImportModel from './importModel.vue'
|
||||
import downloadUtil from '@/utils/downloadUtil'
|
||||
import ${classNameFirstLower}Api from '@/api/${moduleName}/${classNameFirstLower}Api'
|
||||
@@ -200,6 +204,7 @@
|
||||
const tableRef = ref()
|
||||
const importModelRef = ref()
|
||||
const formRef = ref()
|
||||
const detailRef = ref()
|
||||
<% if(hasUserSelector || hasOrgSelector || hasPositionSelector || hasGroupSelector) { %>
|
||||
const translateMap = ref({})
|
||||
<% } %>
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
<template>
|
||||
<xn-form-container
|
||||
title="详情${functionName}"
|
||||
:width="700"
|
||||
v-model:open="open"
|
||||
:destroy-on-close="true"
|
||||
@close="onClose"
|
||||
>
|
||||
<a-descriptions :column="1" bordered size="small">
|
||||
<% for(var i = 0; i < configList.~size; i++) { %>
|
||||
<% if(!configList[i].needTableId && configList[i].whetherDetail) { %>
|
||||
<a-descriptions-item label="${configList[i].fieldRemark}">
|
||||
<% if(configList[i].effectType == 'select' || configList[i].effectType == 'radio') { %>
|
||||
<a-tag :color="$TOOL.dictTypeColor('${configList[i].dictTypeCode}', formData.${configList[i].fieldNameCamelCase})">{{ $TOOL.dictTypeData('${configList[i].dictTypeCode}', formData.${configList[i].fieldNameCamelCase}) }}</a-tag>
|
||||
<% } else if (configList[i].effectType == 'checkbox') { %>
|
||||
<a-tag v-for="textValue in JSON.parse(formData.${configList[i].fieldNameCamelCase} || '[]')" :key="textValue" :color="$TOOL.dictTypeColor('${configList[i].dictTypeCode}', textValue)">{{ $TOOL.dictTypeData('${configList[i].dictTypeCode}', textValue) }}</a-tag>
|
||||
<% } else if (configList[i].effectType == 'imageUpload') {%>
|
||||
<a-image v-if="formData.${configList[i].fieldNameCamelCase}" :src="formData.${configList[i].fieldNameCamelCase}" style="width: 100px; height: 100px" />
|
||||
<span v-else>无</span>
|
||||
<% } else if (configList[i].effectType == 'fileUpload') {%>
|
||||
<a-button v-if="formData.${configList[i].fieldNameCamelCase}" type="link" @click="downloadFile(formData.${configList[i].fieldNameCamelCase})">下载文件</a-button>
|
||||
<span v-else>无</span>
|
||||
<% } else if (configList[i].effectType == 'editor') {%>
|
||||
<div v-html="formData.${configList[i].fieldNameCamelCase}"></div>
|
||||
<% } else { %>
|
||||
{{ formData.${configList[i].fieldNameCamelCase} }}
|
||||
<% } %>
|
||||
</a-descriptions-item>
|
||||
<% } %>
|
||||
<% } %>
|
||||
</a-descriptions>
|
||||
<template #footer>
|
||||
<a-button style="margin-right: 8px" @click="onClose">关闭</a-button>
|
||||
</template>
|
||||
</xn-form-container>
|
||||
</template>
|
||||
|
||||
<script setup name="${classNameFirstLower}Detail">
|
||||
import { cloneDeep } from 'lodash-es'
|
||||
import ${classNameFirstLower}Api from '@/api/${moduleName}/${classNameFirstLower}Api'
|
||||
|
||||
// 抽屉状态
|
||||
const open = ref(false)
|
||||
// 表单数据
|
||||
const formData = ref({})
|
||||
|
||||
// 打开抽屉
|
||||
const onOpen = (record) => {
|
||||
open.value = true
|
||||
${classNameFirstLower}Api.${classNameFirstLower}Detail({ id: record.id }).then((data) => {
|
||||
formData.value = data
|
||||
})
|
||||
}
|
||||
// 关闭抽屉
|
||||
const onClose = () => {
|
||||
formData.value = {}
|
||||
open.value = false
|
||||
}
|
||||
// 下载文件
|
||||
const downloadFile = (url) => {
|
||||
window.open(url)
|
||||
}
|
||||
// 抛出函数
|
||||
defineExpose({
|
||||
onOpen
|
||||
})
|
||||
</script>
|
||||
@@ -185,7 +185,9 @@
|
||||
<template v-if="column.dataIndex === 'action'">
|
||||
<a-space>
|
||||
<a @click="formRef.onOpen(record)" v-if="hasPerm('${classNameFirstLower}Edit')">编辑</a>
|
||||
<a-divider type="vertical" v-if="hasPerm(['${classNameFirstLower}Edit', '${classNameFirstLower}Delete'], 'and')" />
|
||||
<a-divider type="vertical" v-if="hasPerm(['${classNameFirstLower}Edit', '${classNameFirstLower}Detail'], 'and')" />
|
||||
<a @click="detailRef.onOpen(record)" v-if="hasPerm('${classNameFirstLower}Detail')">详情</a>
|
||||
<a-divider type="vertical" v-if="hasPerm(['${classNameFirstLower}Detail', '${classNameFirstLower}Delete'], 'and')" />
|
||||
<a-popconfirm title="确定要删除吗?" @confirm="delete${className}(record)">
|
||||
<a-button type="link" danger size="small" v-if="hasPerm('${classNameFirstLower}Delete')">删除</a-button>
|
||||
</a-popconfirm>
|
||||
@@ -197,6 +199,7 @@
|
||||
</XnResizablePanel>
|
||||
<ImportModel ref="importModelRef" />
|
||||
<Form ref="formRef" @successful="onFormSuccess" />
|
||||
<Detail ref="detailRef" />
|
||||
</template>
|
||||
|
||||
<script setup name="${busName}">
|
||||
@@ -219,6 +222,7 @@
|
||||
import { triggerRef, onMounted, onActivated, onUnmounted } from 'vue'
|
||||
import { cloneDeep } from 'lodash-es'
|
||||
import Form from './form.vue'
|
||||
import Detail from './detail.vue'
|
||||
import ImportModel from './importModel.vue'
|
||||
import downloadUtil from '@/utils/downloadUtil'
|
||||
import ${classNameFirstLower}Api from '@/api/${moduleName}/${classNameFirstLower}Api'
|
||||
@@ -234,6 +238,7 @@
|
||||
const tableRef = ref()
|
||||
const importModelRef = ref()
|
||||
const formRef = ref()
|
||||
const detailRef = ref()
|
||||
<% if(hasUserSelector || hasOrgSelector || hasPositionSelector || hasGroupSelector) { %>
|
||||
const translateMap = ref({})
|
||||
<% } %>
|
||||
|
||||
@@ -12,17 +12,21 @@ INSERT INTO `SYS_RESOURCE` VALUES ('${treeEditButtonId}', '${menuId}', '编辑${
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${treeDeleteButtonId}', '${menuId}', '删除${functionName}', NULL, '${classNameFirstLower}TreeDelete', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 3, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${addButtonId}', '${menuId}', '新增${subFunctionName}', NULL, '${classNameFirstLower}Add', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 4, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${treeDetailButtonId}', '${menuId}', '详情${functionName}', NULL, '${classNameFirstLower}TreeDetail', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 4, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${batchDeleteButtonId}', '${menuId}', '批量删除${subFunctionName}', NULL, '${classNameFirstLower}BatchDelete', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 5, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${addButtonId}', '${menuId}', '新增${subFunctionName}', NULL, '${classNameFirstLower}Add', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 5, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${editButtonId}', '${menuId}', '编辑${subFunctionName}', NULL, '${classNameFirstLower}Edit', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 6, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${deleteButtonId}', '${menuId}', '删除${subFunctionName}', NULL, '${classNameFirstLower}Delete', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 7, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${importButtonId}', '${menuId}', '导入${subFunctionName}', NULL, '${classNameFirstLower}Import', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 8, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${detailButtonId}', '${menuId}', '详情${subFunctionName}', NULL, '${classNameFirstLower}Detail', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 8, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${exportButtonId}', '${menuId}', '导出${subFunctionName}', NULL, '${classNameFirstLower}Export', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 9, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${batchDeleteButtonId}', '${menuId}', '批量删除${subFunctionName}', NULL, '${classNameFirstLower}BatchDelete', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 9, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${importButtonId}', '${menuId}', '导入${subFunctionName}', NULL, '${classNameFirstLower}Import', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 10, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${exportButtonId}', '${menuId}', '导出${subFunctionName}', NULL, '${classNameFirstLower}Export', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 11, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
<% } else if (genType == 'MASTER_DETAIL') { %>
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${addButtonId}', '${menuId}', '新增${functionName}', NULL, '${classNameFirstLower}Add', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
@@ -32,19 +36,25 @@ INSERT INTO `SYS_RESOURCE` VALUES ('${editButtonId}', '${menuId}', '编辑${func
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${deleteButtonId}', '${menuId}', '删除${functionName}', NULL, '${classNameFirstLower}Delete', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 4, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${importButtonId}', '${menuId}', '导入${functionName}', NULL, '${classNameFirstLower}Import', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 5, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${detailButtonId}', '${menuId}', '详情${functionName}', NULL, '${classNameFirstLower}Detail', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 5, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${exportButtonId}', '${menuId}', '导出${functionName}', NULL, '${classNameFirstLower}Export', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 6, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${batchDeleteButtonId}', '${menuId}', '批量删除${functionName}', NULL, '${classNameFirstLower}BatchDelete', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 6, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${subAddButtonId}', '${menuId}', '新增${subFunctionName}', NULL, '${classNameFirstLower}SubAdd', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 7, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${importButtonId}', '${menuId}', '导入${functionName}', NULL, '${classNameFirstLower}Import', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 7, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${subEditButtonId}', '${menuId}', '编辑${subFunctionName}', NULL, '${classNameFirstLower}SubEdit', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 8, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${exportButtonId}', '${menuId}', '导出${functionName}', NULL, '${classNameFirstLower}Export', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 8, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${subDeleteButtonId}', '${menuId}', '删除${subFunctionName}', NULL, '${classNameFirstLower}SubDelete', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 9, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${subAddButtonId}', '${menuId}', '新增${subFunctionName}', NULL, '${classNameFirstLower}SubAdd', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 8, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${subImportButtonId}', '${menuId}', '导入${subFunctionName}', NULL, '${classNameFirstLower}SubImport', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 10, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${subEditButtonId}', '${menuId}', '编辑${subFunctionName}', NULL, '${classNameFirstLower}SubEdit', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 9, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${subExportButtonId}', '${menuId}', '导出${subFunctionName}', NULL, '${classNameFirstLower}SubExport', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 11, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${subDeleteButtonId}', '${menuId}', '删除${subFunctionName}', NULL, '${classNameFirstLower}SubDelete', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 10, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${subDetailButtonId}', '${menuId}', '详情${subFunctionName}', NULL, '${classNameFirstLower}SubDetail', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 11, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${subImportButtonId}', '${menuId}', '导入${subFunctionName}', NULL, '${classNameFirstLower}SubImport', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 12, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${subExportButtonId}', '${menuId}', '导出${subFunctionName}', NULL, '${classNameFirstLower}SubExport', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 13, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
<% } else { %>
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${addButtonId}', '${menuId}', '新增${functionName}', NULL, '${classNameFirstLower}Add', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
@@ -54,9 +64,11 @@ INSERT INTO `SYS_RESOURCE` VALUES ('${editButtonId}', '${menuId}', '编辑${func
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${deleteButtonId}', '${menuId}', '删除${functionName}', NULL, '${classNameFirstLower}Delete', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 4, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${importButtonId}', '${menuId}', '导入${functionName}', NULL, '${classNameFirstLower}Import', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 5, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${detailButtonId}', '${menuId}', '详情${functionName}', NULL, '${classNameFirstLower}Detail', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 5, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${exportButtonId}', '${menuId}', '导出${functionName}', NULL, '${classNameFirstLower}Export', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 6, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${importButtonId}', '${menuId}', '导入${functionName}', NULL, '${classNameFirstLower}Import', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 6, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `SYS_RESOURCE` VALUES ('${exportButtonId}', '${menuId}', '导出${functionName}', NULL, '${classNameFirstLower}Export', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 7, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
<% } %>
|
||||
|
||||
<% if (mobileModuleId != null && mobileModuleId != '') { %>
|
||||
|
||||
@@ -10,19 +10,23 @@ INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${treeAddButtonId}', '${menuId}', '
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${treeEditButtonId}', '${menuId}', '编辑${functionName}', NULL, '${classNameFirstLower}TreeEdit', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${treeDeleteButtonId}', '${menuId}', '删除${functionName}', NULL, '${classNameFirstLower}TreeDelete', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '3', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${treeDeleteButtonId}', '${menuId}', '删除${functionName}', NULL, '${classNameFirstLower}TreeDelete', "BUTTON", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '3', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${addButtonId}', '${menuId}', '新增${subFunctionName}', NULL, '${classNameFirstLower}Add', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '4', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${treeDetailButtonId}', '${menuId}', '详情${functionName}', NULL, '${classNameFirstLower}TreeDetail', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '4', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${batchDeleteButtonId}', '${menuId}', '批量删除${subFunctionName}', NULL, '${classNameFirstLower}BatchDelete', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '5', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${addButtonId}', '${menuId}', '新增${subFunctionName}', NULL, '${classNameFirstLower}Add', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '5', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${editButtonId}', '${menuId}', '编辑${subFunctionName}', NULL, '${classNameFirstLower}Edit', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '6', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${deleteButtonId}', '${menuId}', '删除${subFunctionName}', NULL, '${classNameFirstLower}Delete', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '7', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${importButtonId}', '${menuId}', '导入${subFunctionName}', NULL, '${classNameFirstLower}Import', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '8', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${detailButtonId}', '${menuId}', '详情${subFunctionName}', NULL, '${classNameFirstLower}Detail', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '8', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${exportButtonId}', '${menuId}', '导出${subFunctionName}', NULL, '${classNameFirstLower}Export', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '9', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${batchDeleteButtonId}', '${menuId}', '批量删除${subFunctionName}', NULL, '${classNameFirstLower}BatchDelete', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '9', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${importButtonId}', '${menuId}', '导入${subFunctionName}', NULL, '${classNameFirstLower}Import', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '10', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${exportButtonId}', '${menuId}', '导出${subFunctionName}', NULL, '${classNameFirstLower}Export', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '11', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
<% } else if (genType == 'MASTER_DETAIL') { %>
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${addButtonId}', '${menuId}', '新增${functionName}', NULL, '${classNameFirstLower}Add', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
@@ -32,19 +36,25 @@ INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${editButtonId}', '${menuId}', '编
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${deleteButtonId}', '${menuId}', '删除${functionName}', NULL, '${classNameFirstLower}Delete', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '4', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${importButtonId}', '${menuId}', '导入${functionName}', NULL, '${classNameFirstLower}Import', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '5', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${detailButtonId}', '${menuId}', '详情${functionName}', NULL, '${classNameFirstLower}Detail', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '5', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${exportButtonId}', '${menuId}', '导出${functionName}', NULL, '${classNameFirstLower}Export', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '6', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${batchDeleteButtonId}', '${menuId}', '批量删除${functionName}', NULL, '${classNameFirstLower}BatchDelete', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '6', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${subAddButtonId}', '${menuId}', '新增${subFunctionName}', NULL, '${classNameFirstLower}SubAdd', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '7', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${importButtonId}', '${menuId}', '导入${functionName}', NULL, '${classNameFirstLower}Import', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '7', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${subEditButtonId}', '${menuId}', '编辑${subFunctionName}', NULL, '${classNameFirstLower}SubEdit', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '8', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${exportButtonId}', '${menuId}', '导出${functionName}', NULL, '${classNameFirstLower}Export', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '8', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${subDeleteButtonId}', '${menuId}', '删除${subFunctionName}', NULL, '${classNameFirstLower}SubDelete', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '9', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${subAddButtonId}', '${menuId}', '新增${subFunctionName}', NULL, '${classNameFirstLower}SubAdd', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '8', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${subImportButtonId}', '${menuId}', '导入${subFunctionName}', NULL, '${classNameFirstLower}SubImport', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '10', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${subEditButtonId}', '${menuId}', '编辑${subFunctionName}', NULL, '${classNameFirstLower}SubEdit', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '9', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${subExportButtonId}', '${menuId}', '导出${subFunctionName}', NULL, '${classNameFirstLower}SubExport', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '11', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${subDeleteButtonId}', '${menuId}', '删除${subFunctionName}', NULL, '${classNameFirstLower}SubDelete', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '10', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${subDetailButtonId}', '${menuId}', '详情${subFunctionName}', NULL, '${classNameFirstLower}SubDetail', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '11', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${subImportButtonId}', '${menuId}', '导入${subFunctionName}', NULL, '${classNameFirstLower}SubImport', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '12', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${subExportButtonId}', '${menuId}', '导出${subFunctionName}', NULL, '${classNameFirstLower}SubExport', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '13', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
<% } else { %>
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${addButtonId}', '${menuId}', '新增${functionName}', NULL, '${classNameFirstLower}Add', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
@@ -54,9 +64,11 @@ INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${editButtonId}', '${menuId}', '编
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${deleteButtonId}', '${menuId}', '删除${functionName}', NULL, '${classNameFirstLower}Delete', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '4', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${importButtonId}', '${menuId}', '导入${functionName}', NULL, '${classNameFirstLower}Import', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '5', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${detailButtonId}', '${menuId}', '详情${functionName}', NULL, '${classNameFirstLower}Detail', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '5', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${exportButtonId}', '${menuId}', '导出${functionName}', NULL, '${classNameFirstLower}Export', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '6', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${importButtonId}', '${menuId}', '导入${functionName}', NULL, '${classNameFirstLower}Import', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '6', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO "SNOWY"."SYS_RESOURCE" VALUES ('${exportButtonId}', '${menuId}', '导出${functionName}', NULL, '${classNameFirstLower}Export', 'BUTTON', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '7', NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
<% } %>
|
||||
|
||||
<% if (mobileModuleId != null && mobileModuleId != '') { %>
|
||||
|
||||
+21
-16
@@ -124,33 +124,38 @@ public class SysButtonServiceImpl extends ServiceImpl<SysButtonMapper, SysButton
|
||||
JSONUtil.createObj().set("title", "新增" + functionName).set("code", classNameFirstLower + "TreeAdd").set("sortCode", 1),
|
||||
JSONUtil.createObj().set("title", "编辑" + functionName).set("code", classNameFirstLower + "TreeEdit").set("sortCode", 2),
|
||||
JSONUtil.createObj().set("title", "删除" + functionName).set("code", classNameFirstLower + "TreeDelete").set("sortCode", 3),
|
||||
JSONUtil.createObj().set("title", "新增" + subFunctionName).set("code", classNameFirstLower + "Add").set("sortCode", 4),
|
||||
JSONUtil.createObj().set("title", "编辑" + subFunctionName).set("code", classNameFirstLower + "Edit").set("sortCode", 5),
|
||||
JSONUtil.createObj().set("title", "删除" + subFunctionName).set("code", classNameFirstLower + "Delete").set("sortCode", 6),
|
||||
JSONUtil.createObj().set("title", "批量删除" + subFunctionName).set("code", classNameFirstLower + "BatchDelete").set("sortCode", 7),
|
||||
JSONUtil.createObj().set("title", "导入" + subFunctionName).set("code", classNameFirstLower + "Import").set("sortCode", 8),
|
||||
JSONUtil.createObj().set("title", "导出" + subFunctionName).set("code", classNameFirstLower + "Export").set("sortCode", 9));
|
||||
JSONUtil.createObj().set("title", "详情" + functionName).set("code", classNameFirstLower + "TreeDetail").set("sortCode", 4),
|
||||
JSONUtil.createObj().set("title", "新增" + subFunctionName).set("code", classNameFirstLower + "Add").set("sortCode", 5),
|
||||
JSONUtil.createObj().set("title", "编辑" + subFunctionName).set("code", classNameFirstLower + "Edit").set("sortCode", 6),
|
||||
JSONUtil.createObj().set("title", "删除" + subFunctionName).set("code", classNameFirstLower + "Delete").set("sortCode", 7),
|
||||
JSONUtil.createObj().set("title", "详情" + subFunctionName).set("code", classNameFirstLower + "Detail").set("sortCode", 8),
|
||||
JSONUtil.createObj().set("title", "批量删除" + subFunctionName).set("code", classNameFirstLower + "BatchDelete").set("sortCode", 9),
|
||||
JSONUtil.createObj().set("title", "导入" + subFunctionName).set("code", classNameFirstLower + "Import").set("sortCode", 10),
|
||||
JSONUtil.createObj().set("title", "导出" + subFunctionName).set("code", classNameFirstLower + "Export").set("sortCode", 11));
|
||||
} else if ("MASTER_DETAIL".equals(genType) && ObjectUtil.isNotEmpty(subFunctionName)) {
|
||||
buttonList = CollectionUtil.newArrayList(
|
||||
JSONUtil.createObj().set("title", "新增" + functionName).set("code", classNameFirstLower + "Add").set("sortCode", 1),
|
||||
JSONUtil.createObj().set("title", "批量删除" + functionName).set("code", classNameFirstLower + "BatchDelete").set("sortCode", 2),
|
||||
JSONUtil.createObj().set("title", "编辑" + functionName).set("code", classNameFirstLower + "Edit").set("sortCode", 3),
|
||||
JSONUtil.createObj().set("title", "删除" + functionName).set("code", classNameFirstLower + "Delete").set("sortCode", 4),
|
||||
JSONUtil.createObj().set("title", "导入" + functionName).set("code", classNameFirstLower + "Import").set("sortCode", 5),
|
||||
JSONUtil.createObj().set("title", "导出" + functionName).set("code", classNameFirstLower + "Export").set("sortCode", 6),
|
||||
JSONUtil.createObj().set("title", "新增" + subFunctionName).set("code", classNameFirstLower + "SubAdd").set("sortCode", 7),
|
||||
JSONUtil.createObj().set("title", "编辑" + subFunctionName).set("code", classNameFirstLower + "SubEdit").set("sortCode", 8),
|
||||
JSONUtil.createObj().set("title", "删除" + subFunctionName).set("code", classNameFirstLower + "SubDelete").set("sortCode", 9),
|
||||
JSONUtil.createObj().set("title", "导入" + subFunctionName).set("code", classNameFirstLower + "SubImport").set("sortCode", 10),
|
||||
JSONUtil.createObj().set("title", "导出" + subFunctionName).set("code", classNameFirstLower + "SubExport").set("sortCode", 11));
|
||||
JSONUtil.createObj().set("title", "详情" + functionName).set("code", classNameFirstLower + "Detail").set("sortCode", 5),
|
||||
JSONUtil.createObj().set("title", "导入" + functionName).set("code", classNameFirstLower + "Import").set("sortCode", 6),
|
||||
JSONUtil.createObj().set("title", "导出" + functionName).set("code", classNameFirstLower + "Export").set("sortCode", 7),
|
||||
JSONUtil.createObj().set("title", "新增" + subFunctionName).set("code", classNameFirstLower + "SubAdd").set("sortCode", 8),
|
||||
JSONUtil.createObj().set("title", "编辑" + subFunctionName).set("code", classNameFirstLower + "SubEdit").set("sortCode", 9),
|
||||
JSONUtil.createObj().set("title", "删除" + subFunctionName).set("code", classNameFirstLower + "SubDelete").set("sortCode", 10),
|
||||
JSONUtil.createObj().set("title", "详情" + subFunctionName).set("code", classNameFirstLower + "SubDetail").set("sortCode", 11),
|
||||
JSONUtil.createObj().set("title", "导入" + subFunctionName).set("code", classNameFirstLower + "SubImport").set("sortCode", 12),
|
||||
JSONUtil.createObj().set("title", "导出" + subFunctionName).set("code", classNameFirstLower + "SubExport").set("sortCode", 13));
|
||||
} else {
|
||||
buttonList = CollectionUtil.newArrayList(
|
||||
JSONUtil.createObj().set("title", "新增" + functionName).set("code", classNameFirstLower + "Add").set("sortCode", 1),
|
||||
JSONUtil.createObj().set("title", "编辑" + functionName).set("code", classNameFirstLower + "Edit").set("sortCode", 2),
|
||||
JSONUtil.createObj().set("title", "删除" + functionName).set("code", classNameFirstLower + "Delete").set("sortCode", 3),
|
||||
JSONUtil.createObj().set("title", "批量删除").set("code", classNameFirstLower + "BatchDelete").set("sortCode", 4),
|
||||
JSONUtil.createObj().set("title", "导入" + functionName).set("code", classNameFirstLower + "Import").set("sortCode", 5),
|
||||
JSONUtil.createObj().set("title", "导出" + functionName).set("code", classNameFirstLower + "Export").set("sortCode", 6));
|
||||
JSONUtil.createObj().set("title", "详情" + functionName).set("code", classNameFirstLower + "Detail").set("sortCode", 4),
|
||||
JSONUtil.createObj().set("title", "批量删除").set("code", classNameFirstLower + "BatchDelete").set("sortCode", 5),
|
||||
JSONUtil.createObj().set("title", "导入" + functionName).set("code", classNameFirstLower + "Import").set("sortCode", 6),
|
||||
JSONUtil.createObj().set("title", "导出" + functionName).set("code", classNameFirstLower + "Export").set("sortCode", 7));
|
||||
}
|
||||
buttonList.forEach(jsonObject -> {
|
||||
SysButtonAddParam sysButtonAddParam = new SysButtonAddParam();
|
||||
|
||||
@@ -988,6 +988,7 @@ CREATE TABLE `GEN_CONFIG` (
|
||||
`WHETHER_UNIQUE` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '唯一',
|
||||
`QUERY_WHETHER` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '查询',
|
||||
`QUERY_TYPE` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '查询方式',
|
||||
`WHETHER_DETAIL` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '详情显示',
|
||||
`TABLE_TYPE` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'MAIN' COMMENT '所属表类型:MAIN主表/SUB子表',
|
||||
`SORT_CODE` int(11) NULL DEFAULT NULL COMMENT '排序',
|
||||
`DELETE_FLAG` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '删除标志',
|
||||
|
||||
Reference in New Issue
Block a user