|
@@ -1,45 +1,52 @@
|
|
|
<template>
|
|
|
- <el-form label-position="left" label-width="80px">
|
|
|
+ <el-form label-position="left" label-width="100px">
|
|
|
<el-form-item :label="$t('pages.menus.name')">
|
|
|
- <el-input v-model="form.name" placeholder="请填写菜单名称"></el-input>
|
|
|
+ <el-input v-model="form.name" :placeholder="$t('pages.menus.namePh')"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="菜单类型">
|
|
|
- <el-select v-model="form.type" placeholder="请选择菜单类型">
|
|
|
+ <el-form-item :label="$t('pages.menus.route_name')">
|
|
|
+ <el-input v-model="form.route_name" :placeholder="$t('pages.menus.route_namePh')"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item :label="$t('pages.menus.i18n_code')">
|
|
|
+ <el-input v-model="form.i18n_code" :placeholder="$t('pages.menus.i18n_codePh')"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item :label="$t('pages.menus.type')">
|
|
|
+ <el-select v-model="form.type" :placeholder="$t('pages.menus.typePh')">
|
|
|
<el-option v-for="(i, index) in typeList" :key="`t${index}`" :label="i.label" :value="i.value"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="父级菜单">
|
|
|
+ <el-form-item :label="$t('pages.menus.parentName')">
|
|
|
<el-select v-model="form.parent_id" placeholder="" :disabled="true">
|
|
|
<el-option v-for="(i, index) in getOneDimensionList()" :key="`m${index}`" :label="i.name" :value="i._id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<template v-if="form.type === '1' || form.type === '2'">
|
|
|
- <el-form-item label="路由地址">
|
|
|
- <el-input v-model="form.path" placeholder="请填写路由地址"></el-input>
|
|
|
+ <el-form-item :label="$t('pages.menus.path')">
|
|
|
+ <el-input v-model="form.path" :placeholder="$t('pages.menus.pathPh')"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="组件地址">
|
|
|
- <el-input v-model="form.component" placeholder="请填写组件地址"></el-input>
|
|
|
+ <el-form-item :label="$t('pages.menus.component')">
|
|
|
+ <el-input v-model="form.component" :placeholder="$t('pages.menus.componentPh')"></el-input>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
- <el-form-item label="顺序">
|
|
|
+ <el-form-item :label="$t('pages.menus.order_num')">
|
|
|
<el-input-number v-model="form.order_num"></el-input-number>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="图标">
|
|
|
- <el-select v-model="form.icon" clearable filterable placeholder="请选择图标">
|
|
|
- <el-option v-for="item in iconList" :key="item.dict_label" :label="item.dict_label" :value="item.dict_label">
|
|
|
+ <el-form-item :label="$t('pages.menus.icon')">
|
|
|
+ <el-select v-model="form.icon" clearable filterable :placeholder="$t('pages.menus.iconPh')">
|
|
|
+ <!-- <el-option v-for="item in iconList" :key="item.dict_label" :label="item.dict_label" :value="item.dict_label">
|
|
|
<span style="float: left" :class="['iconfont', item.dict_label]"></span>
|
|
|
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.dict_label }}</span>
|
|
|
- </el-option>
|
|
|
+ </el-option> -->
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="状态">
|
|
|
+ <el-form-item :label="$t('pages.menus.is_use')">
|
|
|
<el-radio-group v-model="form.is_use">
|
|
|
- <el-radio label="0">使用</el-radio>
|
|
|
- <el-radio label="1">禁用</el-radio>
|
|
|
+ <el-radio label="0">{{ $t('common.is_use_use') }}</el-radio>
|
|
|
+ <el-radio label="1">{{ $t('common.is_use_notUse') }}</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="备注">
|
|
|
- <el-input v-model="form.remark" placeholder="请输入备注" type="textarea" :autosize="{ minRows: 5, maxRows: 5 }"></el-input>
|
|
|
+ <el-form-item :label="$t('pages.menus.remark')">
|
|
|
+ <el-input v-model="form.remark" :placeholder="$t('pages.menus.remarkPh')" type="textarea" :autosize="{ minRows: 5, maxRows: 5 }"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</template>
|
|
@@ -50,21 +57,6 @@ const menuTree = inject('menuTree')
|
|
|
const typeList = inject('typeList')
|
|
|
const form = inject('form')
|
|
|
|
|
|
-// const props = defineProps({
|
|
|
-// menuTree: { type: Array, default: () => [] },
|
|
|
-// data: { type: Object, default: () => {} }
|
|
|
-// })
|
|
|
-// const emits = defineEmits(['update:form'])
|
|
|
-// // v-model
|
|
|
-// const form = computed({
|
|
|
-// get() {
|
|
|
-// return props.data
|
|
|
-// },
|
|
|
-// set(value) {
|
|
|
-// emits('update:form', value)
|
|
|
-// }
|
|
|
-// })
|
|
|
-
|
|
|
// #region 整理数组
|
|
|
const getOneDimensionList = () => {
|
|
|
let dup = cloneDeep(menuTree.value)
|