From f00e6c3b881c67ef3651d4f812230188af01faca Mon Sep 17 00:00:00 2001
From: lzhe <181968431@qq.com>
Date: 星期日, 12 五月 2024 23:56:57 +0800
Subject: [PATCH] 1
---
src/views/console/base/code-rules.vue | 292 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 292 insertions(+), 0 deletions(-)
diff --git a/src/views/console/base/code-rules.vue b/src/views/console/base/code-rules.vue
new file mode 100644
index 0000000..ce1a972
--- /dev/null
+++ b/src/views/console/base/code-rules.vue
@@ -0,0 +1,292 @@
+<!--
+ * @Author: lzhe lzhe@example.com
+ * @Date: 2024-03-26 10:28:33
+ * @LastEditors: lzhe lzhe@example.com
+ * @LastEditTime: 2024-04-17 17:52:50
+ * @FilePath: /smart-web/src/views/master/person/main/index.vue
+ * @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+-->
+<template>
+ <div class="aposcope-main">
+ <div class="aposcope-left">
+ <div class="left-title">涓氬姟鍒楄〃</div>
+ <el-tree :data="tableData" row-key="id" :props="defalutProps" lazy :load="loadNode" @node-click="handleNodeClick" ref="treeRef"/>
+ </div>
+ <div class="aposcope-right">
+ <div class="right-top">
+ <div>
+ <el-button type="primary" @click="addData">+ 娣诲姞瑙勫垯</el-button>
+ <el-button type="danger" plain @click="delData" disabled>鍒犻櫎</el-button>
+ </div>
+ <el-button @click="openVisible">寮�鍚鍒欏垎绫�</el-button>
+ </div>
+ <div class="right-content" v-if="searchDataList.length == 0">
+ <!-- <img src="./quesheng.bd026700.png" /> -->
+ <div>
+ <span>鏆傛棤鏁版嵁</span>
+ <!-- <span @click="addData">娣诲姞瑙勫垯</span> -->
+ </div>
+ </div>
+ <el-table v-if="searchDataList.length != 0" ref="searchDataListRef" :data="searchDataList" border style="width: 100%;margin-top: 20px;" class="multipleTableRef" @selection-change="searchHandleSelectionChange">
+ <el-table-column type="selection" width="55" />
+ <el-table-column prop="moduleCode" label="鎺ュ彛妯″潡"></el-table-column>
+ <el-table-column prop="controllerCode" label="Controller"></el-table-column>
+ <el-table-column prop="scopeName" label="action"></el-table-column>
+ <el-table-column prop="httpMethod" label="Http鏂规硶"></el-table-column>
+ <el-table-column prop="scopePath" label="api鍦板潃"></el-table-column>
+ </el-table>
+ </div>
+ <el-drawer :title="'褰撳墠閫変腑鑿滃崟璺緞'+drawerPath" v-model="drawer" :direction="direction" :before-close="handleClose" size="780" class="drawerClass">
+ <el-form :inline="true" :model="drawerSearchData" abel-width="120px">
+ <el-form-item label="鎺ュ彛妯″潡">
+ <el-select v-model="drawerSearchData.moduleCode" style="width: 100%">
+ <el-option v-for="item in aList" :key="item.id" :label="item.title" :value="item.id"/>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鎺ュ彛Controller">
+ <el-select v-model="drawerSearchData.controllerCode" style="width: 100%">
+ <el-option v-for="item in aList" :key="item.id" :label="item.title" :value="item.id"/>
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="drawerSearchclick">鎼滅储</el-button>
+ </el-form-item>
+ </el-form>
+ <div>
+ <div class="dict-table">
+ <el-table ref="multipleTableRef" :data="drawerTableData" border style="width: 100%" class="multipleTableRef" @selection-change="drawerHandleSelectionChange">
+ <el-table-column type="selection" width="55" />
+ <el-table-column prop="className" label="鎺ュ彛妯″潡"></el-table-column>
+ <el-table-column prop="controllerCode" label="Controller"></el-table-column>
+ <el-table-column prop="name" label="action"></el-table-column>
+ <el-table-column prop="httpMethod" label="Http鏂规硶"></el-table-column>
+ <el-table-column prop="url" label="api鍦板潃"></el-table-column>
+ </el-table>
+ </div>
+ </div>
+ <div class="drawer-foot">
+ <el-button type="primary" @click="drawerConfirm" disabled>娣诲姞</el-button>
+ <el-button @click="closeDrawer">鍙栨秷</el-button>
+ </div>
+ </el-drawer>
+ <el-dialog title="瑙勫垯鍒嗙被" v-model="visible" :width="500">
+ <el-form :model="classificationForm" :rules="classificationRules" ref="dialogForm" label-width="120px"
+ label-position="center">
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="鍒嗙被瑙勫垯" prop="code">
+ <el-input v-model="classificationForm.code" placeholder="鍒嗙被瑙勫垯" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍒嗙被瀛楀吀" prop="name">
+ <el-input v-model="classificationForm.name" placeholder="鍒嗙被瀛楀吀" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <template #footer>
+ <el-button @click="visible = false">鍙栨秷</el-button>
+ <el-button type="primary" :loading="isSaveing" @click="classificationSubmit()">纭畾</el-button>
+ </template>
+ </el-dialog>
+
+ </div>
+</template>
+<script>
+ export default {
+ name: "apiscope",
+ data(){
+ return {
+ classificationRules: {},
+ classificationForm: {},
+ isSaveing: false,
+ visible: false,
+ drawerPath: "",
+ searchData: {
+ menuId: "",
+ size: "15",
+ current: "1"
+ },
+ searchDataList: [], //鍙充晶鏁版嵁list
+ aList: [],
+ drawerSearchData: {
+ moduleCode: "",
+ controllerCode: "",
+ menuId: "",
+ size: "-1"
+ },
+ direction: "rtl",
+ drawer: false,
+ defalutProps: {
+ label: 'name',
+ children: 'children',
+ isLeaf: 'hasChildren'
+ },
+ parentId: "0",
+ tableData: [],
+ searchSelection: []
+ }
+ },
+ created(){
+
+ },
+ mounted(){
+ //this.getMenuList();
+ },
+ components: {
+
+ },
+ methods: {
+ classificationSubmit() {
+
+ },
+ openVisible() {
+ this.visible = true;
+ },
+ closeDrawer() {
+ this.drawer = false;
+ },
+ drawerConfirm() {
+ this.drawer = false;
+ },
+ searchHandleSelectionChange(selection) {
+ this.searchSelection = selection;
+ },
+ drawerHandleSelectionChange() {
+
+ },
+ drawerSearchclick() {
+ this.drawerSearchData.menuId = this.searchData.menuId;
+ var obj = {};
+ for(var key in this.drawerSearchData) {
+ if(this.drawerSearchData[key]) {
+ obj[key] = this.drawerSearchData[key];
+ }
+ }
+ this.$HTTP.get("/api/blade-system/resource-definition/page",obj).then(res=> {
+ if(res.code == 200) {
+ this.drawerTableData = res.data.records;
+ }
+ })
+ },
+ handleClose(done) {
+ done();
+ },
+ handleNodeClick(data) {
+ this.drawerPath = data.name;
+ console.log(data,data.name,222)
+ this.searchData.menuId = data.id;
+ this.$HTTP.get("/api/blade-system/api-scope/list",this.searchData).then(res=> {
+ if(res.code == 200) {
+ this.searchDataList = res.data.records;
+ }
+ })
+ },
+ getMenuList() {
+ // this.$HTTP.get("/api/blade-system/menu/lazy-list?parentId=0").then(res=> {
+ // if(res.code == 200) {
+ // this.tableData = res.data;
+ // }
+ // })
+ },
+ loadNode(node, resolve, reject) {
+ // if(node.data.id) {
+ // this.parentId = node.data.id;
+ // }else {
+ // this.parentId = '0';
+ // }
+ // this.$HTTP.get("/api/blade-system/menu/lazy-list",{parentId: this.parentId}).then(res=> {
+ // if(res.code == 200) {
+ // res.data.forEach(node => {
+ // node.hasChildren = !node.hasChildren;
+ // });
+ // resolve(res.data);
+ // }
+ // })
+ },
+ addData() {
+ // this.drawerSearchclick();
+ // this.drawer = true;
+ },
+ delData() {
+ if(this.searchSelection.length == 0) {
+ this.$message({
+ message: '璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�',
+ type: 'warning'
+ });
+ return;
+ }
+ var selStr = "";
+ this.searchSelection.map(item=> {
+ selStr += item.id + ","
+ })
+ selStr = selStr.replace(/,$/, '');
+ var that = this;
+ // this.$HTTP.post("/api/blade-system/data-scope/remove?ids="+selStr).then(res=> {
+ // if(res.code == 200) {
+ // that.$message.success("鎿嶄綔鎴愬姛");
+ // that.drawerSearchclick();
+ // }
+ // })
+ }
+ }
+ }
+</script>
+
+<style scoped>
+.aposcope-main {
+ display: flex;
+ min-height: 100%;
+ margin: 8px;
+}
+.aposcope-left {
+ width: 240px;
+ margin-right: 8px;
+ padding: 4px;
+ background-color: #fff;
+}
+.aposcope-right {
+ flex: 1;
+ padding: 8px;
+ background-color: #fff;
+}
+.left-title {
+ font-size: 16px;
+ text-align: center;
+ height: 38px;
+ line-height: 38px;
+ border-bottom: 1px solid #e2e2e2;
+ background-color: #409eff;
+ color: #fff;
+ border-radius: 2px 2px 0 0;
+}
+.right-content {
+ text-align: center;
+}
+.right-content img {
+ width: 350px;
+ height: 350px;
+}
+.right-content > div {
+ font-size: 14px;;
+}
+.right-content > div span:nth-child(2) {
+ margin-left: 8px;
+ color: #409eff;
+ cursor: pointer;
+}
+/deep/ .drawerClass {
+ padding: 8px;
+}
+.datascope-drawer-btn {
+ margin-bottom: 8px;
+}
+.drawer-foot {
+ margin-top: 20px;
+}
+.right-top {
+ display: flex;
+ justify-content: space-between;
+}
+</style>
--
Gitblit v1.9.3