refactor: log menu

This commit is contained in:
wxg0103 2025-03-27 16:24:45 +08:00
parent c66f79ad5a
commit 80cd3ff7ec
4 changed files with 27 additions and 17 deletions

View File

@ -5,7 +5,8 @@ export default {
label: 'Operate menu' label: 'Operate menu'
}, },
operate: { operate: {
label: 'Operate' label: 'Operate',
detail: 'Operate details'
}, },
user: { user: {
label: 'Operate user' label: 'Operate user'

View File

@ -5,7 +5,8 @@ export default {
label: '操作菜单' label: '操作菜单'
}, },
operate: { operate: {
label: '操作' label: '操作',
detail: '操作详情'
}, },
user: { user: {
label: '操作用户' label: '操作用户'

View File

@ -5,7 +5,8 @@ export default {
label: '操作菜單' label: '操作菜單'
}, },
operate: { operate: {
label: '操作' label: '操作',
detail: '操作詳情'
}, },
user: { user: {
label: '操作用戶' label: '操作用戶'

View File

@ -28,7 +28,7 @@
/> />
</div> </div>
<div style="display: flex;"> <div style="display: flex">
<div class="flex-between complex-search"> <div class="flex-between complex-search">
<el-select <el-select
v-model="filter_type" v-model="filter_type"
@ -67,7 +67,9 @@
clearable clearable
/> />
</div> </div>
<el-button @click="exportLog" style="margin-left: 10px;">{{ $t('common.export') }}</el-button> <el-button @click="exportLog" style="margin-left: 10px">{{
$t('common.export')
}}</el-button>
</div> </div>
</div> </div>
@ -99,12 +101,17 @@
<div class="filter"> <div class="filter">
<div class="form-item mb-16"> <div class="form-item mb-16">
<div @click.stop> <div @click.stop>
<el-scrollbar height="300" style="margin: 0 0 0 10px;"> <el-scrollbar height="300" style="margin: 0 0 0 10px">
<el-checkbox-group v-model="operateTypeArr" style="display: flex; flex-direction: column;"> <el-checkbox-group
<el-checkbox v-for="item in operateOptions" v-model="operateTypeArr"
style="display: flex; flex-direction: column"
>
<el-checkbox
v-for="item in operateOptions"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" /> :value="item.value"
/>
</el-checkbox-group> </el-checkbox-group>
</el-scrollbar> </el-scrollbar>
</div> </div>
@ -122,7 +129,7 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="operate" :label="$t('views.operateLog.table.operate.label')" /> <el-table-column prop="operate" :label="$t('views.operateLog.table.operate.detail')" />
<el-table-column <el-table-column
width="120" width="120"
prop="user.username" prop="user.username"
@ -289,7 +296,7 @@ function getRequestParams() {
if (filter_type.value === 'status') { if (filter_type.value === 'status') {
obj['status'] = filter_status.value obj['status'] = filter_status.value
} }
if(operateTypeArr.value.length > 0) { if (operateTypeArr.value.length > 0) {
obj['menu'] = JSON.stringify(operateTypeArr.value) obj['menu'] = JSON.stringify(operateTypeArr.value)
} }
return obj return obj
@ -305,12 +312,12 @@ function getList() {
function getMenuList() { function getMenuList() {
return operateLog.getMenuList().then((res) => { return operateLog.getMenuList().then((res) => {
let arr: any[] = res.data let arr: any[] = res.data
arr.filter((item, index, self) => arr
index === self.findIndex((i) => i['menu'] === item['menu']) .filter((item, index, self) => index === self.findIndex((i) => i['menu'] === item['menu']))
).forEach(ele => { .forEach((ele) => {
operateOptions.value.push({label:ele.menu_label, value:ele.menu}) operateOptions.value.push({ label: ele.menu_label, value: ele.menu })
}) })
}) })
} }
const exportLog = () => { const exportLog = () => {