This commit is contained in:
那些花儿
2025-07-28 10:48:38 +08:00
parent 030cf7cc4c
commit 3b51ed7a51
450 changed files with 82310 additions and 1213 deletions
@@ -1,10 +1,12 @@
const SYS_MENU_BASIC_FORM_COMPONENT = {
template: `
<el-dialog :title="formData.id ? '编辑菜单' : '新增菜单'" :show-close="false" :visible.sync="visibleDialog" :close-on-click-modal="false" width="50%">
template: /*language=HTML*/ `
<el-dialog :title="formData.id ? '编辑菜单' : '新增菜单'" :show-close="false" :visible.sync="visibleDialog"
:close-on-click-modal="false" width="50%">
<el-form :model="formData" ref="formRef" :rules="formRules" size="small" label-width="80px">
<el-form-item label="所属模块" prop="moduleId">
<el-select v-model="formData.moduleId" clearable placeholder="请选择模块">
<el-option v-for="item in moduleOptions" :value="item.id" :key="item.id" :label="item.name"></el-option>
<el-option v-for="item in moduleOptions" :value="item.id" :key="item.id"
:label="item.name"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="parentId" label="上级菜单" label-width="80px">
@@ -39,28 +41,37 @@ const SYS_MENU_BASIC_FORM_COMPONENT = {
<el-input maxlength="100" placeholder="URL" v-model="formData.href" auto-complete="off" tabindex="6"
type="text"></el-input>
</el-form-item>
<el-form-item prop="icon" label="图标">
<el-input maxlength="100"
v-if="platform==='PC'"
placeholder="图标"
v-model="formData.icon"
auto-complete="off"
tabindex="7"
type="text">
<template slot="append">
<el-button @click="$refs.iconSelector.showIconModal(formData.icon)">图标选择</el-button>
<icon-selector ref="iconSelector" v-model="formData.icon"></icon-selector>
</template>
</el-input>
<file-upload
v-if="platform==='H5'"
:value.sync="formData.icon"
:upload_number="1"
upload_mode="image"
upload_result_category="interval"
upload_result_type="url"
></file-upload>
<el-form-item prop="picIcon" label="图片图标">
<!-- <template v-if="platform==='PC'">-->
<!-- <el-input maxlength="100" placeholder="图标" v-model="formData.icon"></el-input>-->
<!-- <i :class="formData.icon" v-if="formData.icon"></i>-->
<!-- </template> -->
<!-- <el-input maxlength="100" -->
<!-- v-if="platform==='PC'"-->
<!-- placeholder="图标" -->
<!-- v-model="formData.icon" -->
<!-- auto-complete="off" -->
<!-- tabindex="7"-->
<!-- type="text">-->
<!-- <template slot="append">-->
<!-- <el-button @click="$refs.iconSelector.showIconModal(formData.icon)">图标选择</el-button>-->
<!-- <icon-selector ref="iconSelector" v-model="formData.icon"></icon-selector>-->
<!-- </template>-->
<!-- </el-input>-->
<file-upload
:value.sync="formData.picIcon"
:upload_number="1"
upload_mode="image"
upload_result_category="interval"
upload_result_type="url"
></file-upload>
</el-form-item>
<el-form-item label="图标" prop="icon">
<el-input maxlength="100" placeholder="图标" v-model="formData.icon"></el-input>
<i :class="formData.icon" v-if="formData.icon"></i>
</el-form-item>
<el-form-item prop="disabled" label="启用状态">
<el-switch v-model="formData.disabled" active-color="#ff4949" inactive-color="#13ce66"></el-switch>
</el-form-item>
@@ -83,10 +94,12 @@ const SYS_MENU_BASIC_FORM_COMPONENT = {
<el-input v-model="menu.name" placeholder="权限名称"></el-input>
</el-col>
<el-col :span="13">
<el-input v-model="menu.permission" placeholder="权限标识,如 sys.manager.menu.add"></el-input>
<el-input v-model="menu.permission"
placeholder="权限标识,如 sys.manager.menu.add"></el-input>
</el-col>
<el-col :span="4">
<el-button @click.prevent="formRemoveMenu(menu)" icon="el-icon-delete" size="small"></el-button>
<el-button @click.prevent="formRemoveMenu(menu)" icon="el-icon-delete"
size="small"></el-button>
</el-col>
</el-row>
</el-form-item>
@@ -38,8 +38,8 @@ layout("/layouts/platform.html"){
</div>
</el-image>
</template>
<template scope="{row}" v-else-if="column.prop=='containsMenu'">
{{firstMenus.filter(v=>row.containsMenu.includes(v.id)).map(v=>v.name).join('、')}}
<template scope="{row}" v-else-if="column.prop=='faIcon'">
<i :class="row.faIcon"></i>
</template>
</el-table-column>
<el-table-column label="操作" width="200px">
@@ -62,7 +62,7 @@ layout("/layouts/platform.html"){
<el-form-item label="模块名称" prop="name">
<el-input v-model="formData.name" maxlength="8"></el-input>
</el-form-item>
<el-form-item label="模块图" prop="icon">
<el-form-item label="模块图" prop="icon">
<file-upload
:value.sync="formData.icon"
:upload_number="1"
@@ -71,6 +71,10 @@ layout("/layouts/platform.html"){
upload_result_type="url"
></file-upload>
</el-form-item>
<el-form-item label="图标" prop="faIcon">
<el-input maxlength="100" placeholder="图标" v-model="formData.faIcon"></el-input>
<i :class="formData.faIcon" v-if="formData.faIcon"></i>
</el-form-item>
<el-form-item label="排序编号" prop="sortNum">
<el-input-number v-model="formData.sortNum" :min="1" :precision="0"></el-input-number>
</el-form-item>
@@ -100,14 +104,16 @@ layout("/layouts/platform.html"){
platform: [{ required: true, message: "请填写", trigger: ["blur", "change"] }],
name: [{ required: true, message: "请填写", trigger: ["blur", "change"] }],
icon: [{ required: true, message: "请填写", trigger: ["blur", "change"] }],
sortNum: [{ required: true, message: "请输入", trigger: ["blur", "change"] }]
sortNum: [{ required: true, message: "请输入", trigger: ["blur", "change"] }],
faIcon: [{ required: true, message: "请填写", trigger: ["blur", "change"] }]
},
firstMenus: [],
tableColumns: [
{ label: "排序编号", prop: "sortNum", sortable: true },
{ label: "所属平台", prop: "platform", sortable: true },
{ label: "模块名称", prop: "name" },
{ label: "模块图标", prop: "icon" }
{ label: "模块图标", prop: "icon" },
{ label: "模块图标", prop: "faIcon" }
],
pageForm: {}
}