From 20cf1938a8aa04a3f911d6d3729e8aec08a7d658 Mon Sep 17 00:00:00 2001
From: 曹睿 <360930172@qq.com>
Date: 星期二, 25 二月 2025 09:08:51 +0800
Subject: [PATCH] feat: 完成检测单页面
---
src/views/system/menu/index.vue | 145 ++++++++++++++++--------------------------------
1 files changed, 48 insertions(+), 97 deletions(-)
diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue
index 5a37d9d..c9e5b75 100644
--- a/src/views/system/menu/index.vue
+++ b/src/views/system/menu/index.vue
@@ -2,21 +2,12 @@
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="鑿滃崟鍚嶇О" prop="menuName">
- <el-input
- v-model="queryParams.menuName"
- placeholder="璇疯緭鍏ヨ彍鍗曞悕绉�"
- clearable
- @keyup.enter.native="handleQuery"
- />
+ <el-input v-model="queryParams.menuName" placeholder="璇疯緭鍏ヨ彍鍗曞悕绉�" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="鐘舵��" prop="status">
<el-select v-model="queryParams.status" placeholder="鑿滃崟鐘舵��" clearable>
- <el-option
- v-for="dict in dict.type.sys_normal_disable"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- />
+ <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label"
+ :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item>
@@ -27,35 +18,17 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
- <el-button
- type="primary"
- plain
- icon="el-icon-plus"
- size="mini"
- @click="handleAdd"
- v-hasPermi="['system:menu:add']"
- >鏂板</el-button>
+ <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
+ v-hasPermi="['system:menu:add']">鏂板</el-button>
</el-col>
<el-col :span="1.5">
- <el-button
- type="info"
- plain
- icon="el-icon-sort"
- size="mini"
- @click="toggleExpandAll"
- >灞曞紑/鎶樺彔</el-button>
+ <el-button type="info" plain icon="el-icon-sort" size="mini" @click="toggleExpandAll">灞曞紑/鎶樺彔</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
- <el-table
- v-if="refreshTable"
- v-loading="loading"
- :data="menuList"
- row-key="menuId"
- :default-expand-all="isExpandAll"
- :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
- >
+ <el-table v-if="refreshTable" v-loading="loading" :data="menuList" row-key="menuId"
+ :default-expand-all="isExpandAll" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
<el-table-column prop="menuName" label="鑿滃崟鍚嶇О" :show-overflow-tooltip="true" width="160"></el-table-column>
<el-table-column prop="icon" label="鍥炬爣" align="center" width="100">
<template slot-scope="scope">
@@ -67,7 +40,7 @@
<el-table-column prop="component" label="缁勪欢璺緞" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="status" label="鐘舵��" width="80">
<template slot-scope="scope">
- <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
+ <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime">
@@ -77,27 +50,12 @@
</el-table-column>
<el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
- <el-button
- size="mini"
- type="text"
- icon="el-icon-edit"
- @click="handleUpdate(scope.row)"
- v-hasPermi="['system:menu:edit']"
- >淇敼</el-button>
- <el-button
- size="mini"
- type="text"
- icon="el-icon-plus"
- @click="handleAdd(scope.row)"
- v-hasPermi="['system:menu:add']"
- >鏂板</el-button>
- <el-button
- size="mini"
- type="text"
- icon="el-icon-delete"
- @click="handleDelete(scope.row)"
- v-hasPermi="['system:menu:remove']"
- >鍒犻櫎</el-button>
+ <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
+ v-hasPermi="['system:menu:edit']">淇敼</el-button>
+ <el-button size="mini" type="text" icon="el-icon-plus" @click="handleAdd(scope.row)"
+ v-hasPermi="['system:menu:add']">鏂板</el-button>
+ <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
+ v-hasPermi="['system:menu:remove']">鍒犻櫎</el-button>
</template>
</el-table-column>
</el-table>
@@ -108,13 +66,8 @@
<el-row>
<el-col :span="24">
<el-form-item label="涓婄骇鑿滃崟" prop="parentId">
- <treeselect
- v-model="form.parentId"
- :options="menuOptions"
- :normalizer="normalizer"
- :show-count="true"
- placeholder="閫夋嫨涓婄骇鑿滃崟"
- />
+ <treeselect v-model="form.parentId" :options="menuOptions" :normalizer="normalizer" :show-count="true"
+ placeholder="閫夋嫨涓婄骇鑿滃崟" />
</el-form-item>
</el-col>
</el-row>
@@ -132,20 +85,10 @@
<el-row>
<el-col :span="24" v-if="form.menuType != 'F'">
<el-form-item label="鑿滃崟鍥炬爣" prop="icon">
- <el-popover
- placement="bottom-start"
- width="460"
- trigger="click"
- @show="$refs['iconSelect'].reset()"
- >
+ <el-popover placement="bottom-start" width="460" trigger="click" @show="$refs['iconSelect'].reset()">
<IconSelect ref="iconSelect" @selected="selected" :active-icon="form.icon" />
<el-input slot="reference" v-model="form.icon" placeholder="鐐瑰嚮閫夋嫨鍥炬爣" readonly>
- <svg-icon
- v-if="form.icon"
- slot="prefix"
- :icon-class="form.icon"
- style="width: 25px;"
- />
+ <svg-icon v-if="form.icon" slot="prefix" :icon-class="form.icon" style="width: 25px;" />
<i v-else slot="prefix" class="el-icon-search el-input__icon" />
</el-input>
</el-popover>
@@ -169,7 +112,7 @@
<el-form-item prop="isFrame">
<span slot="label">
<el-tooltip content="閫夋嫨鏄閾惧垯璺敱鍦板潃闇�瑕佷互`http(s)://`寮�澶�" placement="top">
- <i class="el-icon-question"></i>
+ <i class="el-icon-question"></i>
</el-tooltip>
鏄惁澶栭摼
</span>
@@ -183,7 +126,7 @@
<el-form-item prop="path">
<span slot="label">
<el-tooltip content="璁块棶鐨勮矾鐢卞湴鍧�锛屽锛歚user`锛屽澶栫綉鍦板潃闇�鍐呴摼璁块棶鍒欎互`http(s)://`寮�澶�" placement="top">
- <i class="el-icon-question"></i>
+ <i class="el-icon-question"></i>
</el-tooltip>
璺敱鍦板潃
</span>
@@ -196,7 +139,7 @@
<el-form-item prop="component">
<span slot="label">
<el-tooltip content="璁块棶鐨勭粍浠惰矾寰勶紝濡傦細`system/user/index`锛岄粯璁ゅ湪`views`鐩綍涓�" placement="top">
- <i class="el-icon-question"></i>
+ <i class="el-icon-question"></i>
</el-tooltip>
缁勪欢璺緞
</span>
@@ -208,7 +151,7 @@
<el-input v-model="form.perms" placeholder="璇疯緭鍏ユ潈闄愭爣璇�" maxlength="100" />
<span slot="label">
<el-tooltip content="鎺у埗鍣ㄤ腑瀹氫箟鐨勬潈闄愬瓧绗︼紝濡傦細@PreAuthorize(`@ss.hasPermi('system:user:list')`)" placement="top">
- <i class="el-icon-question"></i>
+ <i class="el-icon-question"></i>
</el-tooltip>
鏉冮檺瀛楃
</span>
@@ -221,7 +164,7 @@
<el-input v-model="form.query" placeholder="璇疯緭鍏ヨ矾鐢卞弬鏁�" maxlength="255" />
<span slot="label">
<el-tooltip content='璁块棶璺敱鐨勯粯璁や紶閫掑弬鏁帮紝濡傦細`{"id": 1, "name": "ry"}`' placement="top">
- <i class="el-icon-question"></i>
+ <i class="el-icon-question"></i>
</el-tooltip>
璺敱鍙傛暟
</span>
@@ -231,7 +174,7 @@
<el-form-item prop="isCache">
<span slot="label">
<el-tooltip content="閫夋嫨鏄垯浼氳`keep-alive`缂撳瓨锛岄渶瑕佸尮閰嶇粍浠剁殑`name`鍜屽湴鍧�淇濇寔涓�鑷�" placement="top">
- <i class="el-icon-question"></i>
+ <i class="el-icon-question"></i>
</el-tooltip>
鏄惁缂撳瓨
</span>
@@ -247,16 +190,13 @@
<el-form-item prop="visible">
<span slot="label">
<el-tooltip content="閫夋嫨闅愯棌鍒欒矾鐢卞皢涓嶄細鍑虹幇鍦ㄤ晶杈规爮锛屼絾浠嶇劧鍙互璁块棶" placement="top">
- <i class="el-icon-question"></i>
+ <i class="el-icon-question"></i>
</el-tooltip>
鏄剧ず鐘舵��
</span>
<el-radio-group v-model="form.visible">
- <el-radio
- v-for="dict in dict.type.sys_show_hide"
- :key="dict.value"
- :label="dict.value"
- >{{dict.label}}</el-radio>
+ <el-radio v-for="dict in dict.type.sys_show_hide" :key="dict.value" :label="dict.value">{{ dict.label
+ }}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
@@ -264,17 +204,28 @@
<el-form-item prop="status">
<span slot="label">
<el-tooltip content="閫夋嫨鍋滅敤鍒欒矾鐢卞皢涓嶄細鍑虹幇鍦ㄤ晶杈规爮锛屼篃涓嶈兘琚闂�" placement="top">
- <i class="el-icon-question"></i>
+ <i class="el-icon-question"></i>
</el-tooltip>
鑿滃崟鐘舵��
</span>
<el-radio-group v-model="form.status">
- <el-radio
- v-for="dict in dict.type.sys_normal_disable"
- :key="dict.value"
- :label="dict.value"
- >{{dict.label}}</el-radio>
+ <el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">{{
+ dict.label
+ }}</el-radio>
</el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12" v-if="form.menuType != 'M'">
+ <el-form-item prop="status">
+ <span slot="label">
+ <el-tooltip content="閫夋嫨鍙湅鎴戞寜閽紝鍦ㄨ鑹茬鐞嗗鍙厤缃彧鐪嬫垜鐨勬暟鎹潈闄�" placement="top">
+ <i class="el-icon-question"></i>
+ </el-tooltip>
+ 鍙湅鎴戞寜閽�
+ </span>
+ <el-switch v-model="form.isRersonalButton" inactive-text="涓嶆樉绀�" active-text="鏄剧ず" inactive-value="0"
+ active-value="1">
+ </el-switch>
</el-form-item>
</el-col>
</el-row>
@@ -433,7 +384,7 @@
});
},
/** 鎻愪氦鎸夐挳 */
- submitForm: function() {
+ submitForm: function () {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.menuId != undefined) {
@@ -454,12 +405,12 @@
},
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
handleDelete(row) {
- this.$modal.confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.menuName + '"鐨勬暟鎹」锛�').then(function() {
+ this.$modal.confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.menuName + '"鐨勬暟鎹」锛�').then(function () {
return delMenu(row.menuId);
}).then(() => {
this.getList();
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(() => {});
+ }).catch(() => { });
}
}
};
--
Gitblit v1.9.3