|
|
@ -4,15 +4,8 @@ |
|
|
|
</SearchRow> |
|
|
|
</SearchRow> |
|
|
|
<ListTable @query="query" :props="props" :example="example" :data="result" rowKey="id" |
|
|
|
<ListTable @query="query" :props="props" :example="example" :data="result" rowKey="id" |
|
|
|
:treeProps="{ children: 'children' }"> |
|
|
|
:treeProps="{ children: 'children' }"> |
|
|
|
<template #status="{ row }"> |
|
|
|
<template #desc="{ row }"> |
|
|
|
<div slot="reference" class="name-wrapper"> |
|
|
|
<component class="icon" :is="row.desc"></component> |
|
|
|
<NoobTag v-if="row.status == 'A'"> |
|
|
|
|
|
|
|
{{ t('base.active') }} |
|
|
|
|
|
|
|
</NoobTag> |
|
|
|
|
|
|
|
<NoobTag v-else type="danger"> |
|
|
|
|
|
|
|
{{ t('base.inactive') }} |
|
|
|
|
|
|
|
</NoobTag> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</template> |
|
|
|
</template> |
|
|
|
<template #action="{ row }"> |
|
|
|
<template #action="{ row }"> |
|
|
|
<TableAction :add="row.parent == null" @modify="modify(row)" @del="delate(row)" @add="addPermission(row)" /> |
|
|
|
<TableAction :add="row.parent == null" @modify="modify(row)" @del="delate(row)" @add="addPermission(row)" /> |
|
|
@ -27,6 +20,16 @@ |
|
|
|
<NoobInput v-model="permission.id" full :placeholder="t('rule.pleaseEnter') + t('permission.prop.1')" |
|
|
|
<NoobInput v-model="permission.id" full :placeholder="t('rule.pleaseEnter') + t('permission.prop.1')" |
|
|
|
:disabled="!flag.add" /> |
|
|
|
:disabled="!flag.add" /> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template #desc> |
|
|
|
|
|
|
|
<el-select-v2 :size="state.size.size" class="form-item full" v-model="permission.desc" filterable |
|
|
|
|
|
|
|
:options="icons.map(i => ({ value: i, label: i }))" |
|
|
|
|
|
|
|
:placeholder="t('rule.pleaseSelect') + t('permission.prop.2')"> |
|
|
|
|
|
|
|
<template #default="{ item }"> |
|
|
|
|
|
|
|
<component class="icon" :is="item.value"></component> |
|
|
|
|
|
|
|
{{ item.value }} |
|
|
|
|
|
|
|
</template> |
|
|
|
|
|
|
|
</el-select-v2> |
|
|
|
|
|
|
|
</template> |
|
|
|
<template #perOrder> |
|
|
|
<template #perOrder> |
|
|
|
<NoobSelect v-model="permission.perOrder" full :max-value="99" |
|
|
|
<NoobSelect v-model="permission.perOrder" full :max-value="99" |
|
|
|
:placeholder="t('rule.pleaseSelect') + t('permission.prop.4')" /> |
|
|
|
:placeholder="t('rule.pleaseSelect') + t('permission.prop.4')" /> |
|
|
@ -41,7 +44,7 @@ import { reactive, onMounted, ref } from "vue"; |
|
|
|
import { Api, PageExample, ListTable, SearchRow, NoobInput, TableAction, NoobTag, NoobSelect, ModifyForm, Element } from "noob-mengyxu"; |
|
|
|
import { Api, PageExample, ListTable, SearchRow, NoobInput, TableAction, NoobTag, NoobSelect, ModifyForm, Element } from "noob-mengyxu"; |
|
|
|
import { useI18n } from "vue3-i18n"; |
|
|
|
import { useI18n } from "vue3-i18n"; |
|
|
|
const { t } = useI18n(); |
|
|
|
const { t } = useI18n(); |
|
|
|
const { SimpleRequired } = Element; |
|
|
|
const { SimpleRequired, icons } = Element; |
|
|
|
const { state, dispatch } = useStore(); |
|
|
|
const { state, dispatch } = useStore(); |
|
|
|
const { list, add, set, del } = Api.permission; |
|
|
|
const { list, add, set, del } = Api.permission; |
|
|
|
const result = ref([]); |
|
|
|
const result = ref([]); |
|
|
@ -65,7 +68,7 @@ const props = [ |
|
|
|
{ i18n: 'permission.prop.2', code: 'desc', slot: true, width: 80 }, |
|
|
|
{ i18n: 'permission.prop.2', code: 'desc', slot: true, width: 80 }, |
|
|
|
{ i18n: 'permission.prop.3', code: 'perLevel', dict: 'per_level', width: 80 }, |
|
|
|
{ i18n: 'permission.prop.3', code: 'perLevel', dict: 'per_level', width: 80 }, |
|
|
|
{ i18n: 'permission.prop.4', code: 'perOrder', width: 80 }, |
|
|
|
{ i18n: 'permission.prop.4', code: 'perOrder', width: 80 }, |
|
|
|
{ i18n: 'permission.prop.5', code: 'status', dict: 'able_status', width: 80 }, |
|
|
|
{ i18n: 'permission.prop.5', code: 'perStatus', dict: 'able_status', width: 80 }, |
|
|
|
{ i18n: 'permission.prop.6', code: 'perContent', width: 230 }, |
|
|
|
{ i18n: 'permission.prop.6', code: 'perContent', width: 230 }, |
|
|
|
{ i18n: 'permission.prop.7', code: 'action', slot: true, width: 180, fixed: 'right' }, |
|
|
|
{ i18n: 'permission.prop.7', code: 'action', slot: true, width: 180, fixed: 'right' }, |
|
|
|
] |
|
|
|
] |
|
|
@ -76,7 +79,7 @@ const items = [ |
|
|
|
{ i18n: 'permission.prop.3', code: 'perLevel', dict: 'per_level', disabled: true }, |
|
|
|
{ i18n: 'permission.prop.3', code: 'perLevel', dict: 'per_level', disabled: true }, |
|
|
|
{ i18n: 'permission.prop.0', code: 'name' }, |
|
|
|
{ i18n: 'permission.prop.0', code: 'name' }, |
|
|
|
{ i18n: 'permission.prop.6', code: 'perContent' }, |
|
|
|
{ i18n: 'permission.prop.6', code: 'perContent' }, |
|
|
|
{ i18n: 'permission.prop.2', code: 'desc' }, |
|
|
|
{ i18n: 'permission.prop.2', code: 'desc', slot: true }, |
|
|
|
{ i18n: 'permission.prop.4', code: 'perOrder', slot: true }, |
|
|
|
{ i18n: 'permission.prop.4', code: 'perOrder', slot: true }, |
|
|
|
{ i18n: 'permission.prop.5', code: 'perStatus', dict: 'able_status' }, |
|
|
|
{ i18n: 'permission.prop.5', code: 'perStatus', dict: 'able_status' }, |
|
|
|
] |
|
|
|
] |
|
|
@ -134,4 +137,12 @@ onMounted(() => { |
|
|
|
</script> |
|
|
|
</script> |
|
|
|
<style lang="scss" scoped> |
|
|
|
<style lang="scss" scoped> |
|
|
|
//@import url(); 引入公共css类 |
|
|
|
//@import url(); 引入公共css类 |
|
|
|
|
|
|
|
.icon { |
|
|
|
|
|
|
|
// margin-left: -15px; |
|
|
|
|
|
|
|
margin-right: 10px; |
|
|
|
|
|
|
|
width: 18px; |
|
|
|
|
|
|
|
height: 18px; |
|
|
|
|
|
|
|
// width: v-bind('state.size.menuIconSize'); |
|
|
|
|
|
|
|
// height: v-bind('state.size.menuIconSize'); |
|
|
|
|
|
|
|
} |
|
|
|
</style> |
|
|
|
</style> |