66 lines
2.4 KiB
Vue
66 lines
2.4 KiB
Vue
<script setup>
|
|
defineProps({
|
|
parentOptions: { type: Array, default: () => [] },
|
|
routeOptions: { type: Array, default: () => [] },
|
|
});
|
|
const module = defineModel("module", { type: Object, required: true });
|
|
function setBoolean(field, checked) {
|
|
module.value[field] = checked ? 1 : 0;
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<a-form layout="vertical" class="basic-form">
|
|
<a-form-item label="模块类型">
|
|
<a-segmented
|
|
v-model:value="module.b_module_type"
|
|
:options="[
|
|
{ label: '目录', value: 'directory' },
|
|
{ label: '页面', value: 'page' },
|
|
{ label: '数据', value: 'data' },
|
|
]"
|
|
/>
|
|
</a-form-item>
|
|
<a-form-item label="模块编码"
|
|
><a-input v-model:value="module.b_code" :maxlength="50"
|
|
/></a-form-item>
|
|
<a-form-item label="默认名称"
|
|
><a-input v-model:value="module.b_name" :maxlength="100"
|
|
/></a-form-item>
|
|
<a-form-item label="多语言键"
|
|
><a-input v-model:value="module.b_i18n" :maxlength="150"
|
|
/></a-form-item>
|
|
<a-form-item label="上级模块">
|
|
<a-select v-model:value="module.b_parent_id" allow-clear :options="parentOptions" />
|
|
</a-form-item>
|
|
<a-form-item v-if="module.b_module_type === 'page'" label="已注册页面">
|
|
<a-select v-model:value="module.b_route" :options="routeOptions" />
|
|
</a-form-item>
|
|
<template v-if="module.b_module_type === 'data'">
|
|
<a-form-item label="查询视图"><a-input v-model:value="module.b_viewtable" /></a-form-item>
|
|
<a-form-item label="保存表"><a-input v-model:value="module.b_savetable" /></a-form-item>
|
|
<a-form-item label="主键字段"><a-input v-model:value="module.b_keyfield" /></a-form-item>
|
|
<a-form-item label="默认排序"><a-input v-model:value="module.b_orderfield" /></a-form-item>
|
|
</template>
|
|
<a-form-item label="同级顺序"
|
|
><a-input-number v-model:value="module.b_xh" :min="0"
|
|
/></a-form-item>
|
|
<a-form-item label="启用">
|
|
<a-switch :checked="module.b_canuse === 1" @change="setBoolean('b_canuse', $event)" />
|
|
</a-form-item>
|
|
<a-form-item v-if="module.b_module_type !== 'data'" label="显示菜单">
|
|
<a-switch :checked="module.b_canmenu === 1" @change="setBoolean('b_canmenu', $event)" />
|
|
</a-form-item>
|
|
</a-form>
|
|
</template>
|
|
|
|
<style scoped lang="scss">
|
|
.basic-form {
|
|
display: grid;
|
|
max-width: 1080px;
|
|
grid-template-columns: repeat(3, minmax(180px, 1fr));
|
|
gap: 0 16px;
|
|
padding-top: 14px;
|
|
}
|
|
</style>
|