Переглянути джерело

接口联调,权限配置

cxmo 1 рік тому
батько
коміт
25423a71d6

+ 13 - 1
src/utils/buttonConfig.js

@@ -330,6 +330,18 @@ export const myETAPermission = {
     myChart_classifyOpt_rename:'myChart:classifyOpt:rename',//重命名
     myChart_classifyOpt_delete:'myChart:classifyOpt:delete',//删除
 }
+//图库框架
+export const chartFramePermission={
+    chartframe_public_copyImg:'chartframe:public:copyImg',//公共框架-复制图片
+    chartframe_my_editNode:'chartframe:my:editNode',//我的框架-添加/编辑节点
+    chartframe_my_saveFrame:'chartframe:my:saveFrame',//我的框架-保存框架
+    chartframe_my_editFrame:'chartframe:my:editFrame',//我的框架-添加/编辑框架
+    chartframe_my_delFrame:'chartframe:my:delFrame',//我的框架-删除框架
+    chartframe_my_show:'chartframe:my:show',//我的框架-设置可见权限
+    chartframe_my_rename:'chartframe:my:rename',//我的框架-重命名
+    chartframe_my_copyImg:'chartframe:my:copyImg',//我的框架-复制图片
+    chartframe_my_move:'chartframe:my:move',//我的框架-移动排序
+}
 /*
  * --------------------------------------------------------------------------ETA表格------------------------------------------------
 */
@@ -565,7 +577,7 @@ const btnMap  = {
     pptPermission,enPPTPermission,
     dataSourcePermission,
     edbDataPermission,predictEdbPermission,chartLibPermission,
-    myETAPermission,etaTablePermission,
+    myETAPermission,chartFramePermission,etaTablePermission,
     sandboxPermission,semanticPermission,
     statisticPermission,stockPlantPermission,
     productPricePermission,sysDepartPermission,

+ 14 - 2
src/views/chartFrame_manage/components/frameContainer.vue

@@ -47,7 +47,7 @@ export default {
         this.baseNode = baseNode
         return {
             graph:null,
-            contextMenu:[{
+            /* contextMenu:[{
                 label: '编辑',
                 key: 'edit',
                 icon: 'el-icon-edit'
@@ -56,7 +56,7 @@ export default {
                 label: '删除',
                 key: 'del',
                 icon: 'el-icon-delete'
-            }],//右键菜单
+            }], *///右键菜单
             isSelectEdge:false,
             isSelectNode:false,
             currentCell:null,
@@ -74,6 +74,18 @@ export default {
             newVal.length&&this.gragh&&this.graph.fromJSON(JSON.parse(newVal))
         }
     },
+    computed:{
+        contextMenu(){
+            const editOption = {label: '编辑',key: 'edit',icon: 'el-icon-edit'}
+            const deleteOption = {label: '删除',key: 'del',icon: 'el-icon-delete'}
+            let MenuArr = []
+            if(this.permissionBtn.isShowBtn('chartFramePermission','chartframe_my_editNode')){
+                MenuArr.push(editOption)
+            }
+            MenuArr.push(deleteOption)
+            return MenuArr
+        }
+    },
     methods: {
         init(){
             //如果需要在内部调用vue实例,则初始化时就将this传入

+ 7 - 6
src/views/chartFrame_manage/components/frameToolBar.vue

@@ -72,7 +72,7 @@
             <!-- 节点颜色填充 -->
             <ToolItem tooltip="填充颜色" toolkey="fillColor">
                 <span class="tool-item">
-                    <label for="body/fill" :style="`color:${fillColor}`"><i class="el-icon-s-open"></i></label>
+                    <label for="body/fill" :style="`color:${fillColor}`">填充颜色</label>
                     <input type="color" id="body/fill" style="width: 0;height: 0;visibility: hidden;"
                         :value="nodeStyle.fill"
                         @input="valueChange"/>
@@ -82,7 +82,7 @@
             <!-- 节点/线条边框颜色 -->
             <ToolItem tooltip="边框颜色" toolkey="borderColor">
                 <span class="tool-item">
-                    <label for="storke" :style="`color:${borderColor}`"><i class="el-icon-minus"></i></label>
+                    <label for="storke" :style="`color:${borderColor}`">边框颜色</label>
                     <input type="color" id="storke" style="width: 0;height: 0;visibility: hidden;" 
                         :value="cellStyle.stroke"
                         @input="valueChange"/>
@@ -107,7 +107,7 @@
             <ToolItem tooltip="边框样式" toolkey="stokeWidth">
                 <el-dropdown @command="changeCellStyle" trigger="click" class="tool-item">
                     <span class="el-dropdown-link tool-item"> 
-                        <i class="el-icon-minus"></i>
+                        边框样式
                         <i class="el-icon-caret-bottom"></i>
                     </span>
                     <el-dropdown-menu slot="dropdown">
@@ -125,7 +125,7 @@
             <ToolItem tooltip="开始箭头" toolkey="stokeWidth">
                 <el-dropdown trigger="click" @command="changeStyle" class="tool-item">
                     <div class="el-dropdown-link">
-                        <i class="iconfont icon-arrow-left" style="color:'#000';fontSize:24px"></i>
+                        <i class="iconfont icon-arrow-left" style="color:'#000';fontSize:12px"></i>
                         <i class="el-icon-arrow-down" style="font-size:12px;"></i>
                     </div>
                     <el-dropdown-menu slot="dropdown">
@@ -144,7 +144,7 @@
             <ToolItem tooltip="结束箭头" toolkey="stokeWidth">
                 <el-dropdown trigger="click" @command="changeStyle" class="tool-item">
                     <div class="el-dropdown-link">
-                        <i class="iconfont icon-arrow-right" style="color:'#000';fontSize:24px"></i>
+                        <i class="iconfont icon-arrow-right" style="color:'#000';fontSize:12px"></i>
                         <i class="el-icon-arrow-down" style="font-size:12px;"></i>
                     </div>
                     <el-dropdown-menu slot="dropdown">
@@ -335,7 +335,8 @@ export default {
             }
             .disabled {
                 color: #bbb;
-                background: rgba(0, 0, 0, 0.08);
+                /* background: rgba(0, 0, 0, 0.08); */
+                background-color: transparent;
                 cursor: not-allowed;
                 position: absolute;
                 top: 0;

+ 4 - 2
src/views/chartFrame_manage/frameEditor.vue

@@ -3,8 +3,10 @@
     <div class="frame-editor-wrap">
         <div class="option-wrap">
             <el-input style="width:240px;" placeholder="请输入框架名称" v-model="frameDetail.FrameworkName"></el-input>
-            <el-button type="primary" style="margin-left:auto;" @click="handleEditNode({})">添加节点</el-button>
-            <el-button type="primary" style="margin-left:20px;" @click="saveFrame">保存</el-button>
+            <el-button type="primary" style="margin-left:auto;" @click="handleEditNode({})"
+                v-if="permissionBtn.isShowBtn('chartFramePermission','chartframe_my_editNode')">添加节点</el-button>
+            <el-button type="primary" style="margin-left:20px;" @click="saveFrame"
+                v-if="permissionBtn.isShowBtn('chartFramePermission','chartframe_my_saveFrame')">保存</el-button>
         </div>
         <div class="editor-wrap">
             <!-- 沙盘图组件 -->

+ 41 - 15
src/views/chartFrame_manage/index.vue

@@ -10,7 +10,8 @@
             </span>
             <span class="move-btn resize" v-drag id="resize"></span>
             <div class="btn-wrap">
-                <el-button type="primary" @click="$router.push('/editframe')">添加框架</el-button>
+                <el-button type="primary" @click="$router.push('/editframe')" 
+                v-permission="permissionBtn.chartFramePermission.chartframe_my_editFrame">添加框架</el-button>
             </div>
             <div class="search-wrap">
                 <el-select style="width:100%"
@@ -57,6 +58,7 @@
                         class="classify-ul"
                         animation="300"
                         tag="ul"
+                        :disabled="!permissionBtn.isShowBtn('chartFramePermission','chartframe_my_move')"
                         @start="menuDragStart"
                         @update="menuDragenter"
                         @end="menuDragOver"
@@ -65,14 +67,15 @@
                             v-for="item in myFrameList" :key="item.ChartFrameworkId"
                             @click="chooseFrame(item)"
                             >
-                            <span>
+                            <span v-if="permissionBtn.isShowBtn('chartFramePermission','chartframe_my_move')">
                                 <img src="~@/assets/img/data_m/move_ico.png"
                                     alt="" class="move"
                                     style="width: 14px; height: 14px;"
                                 />
                             </span>
                             <span class="item-label text_oneLine">{{ item.FrameworkName }}</span>
-                            <el-dropdown style="margin-right: 10px" @command="handleCommand" trigger="click">
+                            <el-dropdown style="margin-right: 10px" @command="handleCommand" trigger="click"
+                                v-if="permissionBtn.isShowBtn('chartFramePermission','chartframe_my_show')">
                                 <span class="el-dropdown-link  el-dropdown-link-img">
                                     <img class="icon" src="~@/assets/img/chart_m/Group.png" v-if="item.IsPublic === 0">
                                     <img class="icon" src="~@/assets/img/chart_m/User.png" v-else>
@@ -99,14 +102,16 @@
                                     </el-dropdown-item>
                                 </el-dropdown-menu>
                             </el-dropdown>
-                            <el-dropdown @command="handleCommand" trigger="click">
+                            <el-dropdown @command="handleCommand" trigger="click"
+                                v-if="isDropDownShow"
+                            >
                                 <span class="el-dropdown-link"> 
                                     <i class="el-icon-more" style="font-size: 16px;transform: rotate(90deg);cursor: pointer"/>
                                 </span>
                                 <el-dropdown-menu slot="dropdown">
-                                    <el-dropdown-item
+                                    <el-dropdown-item v-if="permissionBtn.isShowBtn('chartFramePermission','chartframe_my_rename')"
                                         :command="{key:'edit'}">重命名</el-dropdown-item>
-                                    <el-dropdown-item
+                                    <el-dropdown-item v-if="permissionBtn.isShowBtn('chartFramePermission','chartframe_my_delFrame')"
                                         :command="{key:'del'}">删除</el-dropdown-item>
                                 </el-dropdown-menu>
                             </el-dropdown>
@@ -146,10 +151,16 @@
                         <span>更新时间:{{currentFrame.ModifyTime}}</span>
                         <span class="title text_oneLine">{{currentFrame.FrameworkName}}</span>
                         <div class="tool">
-                            <el-button type="text" @click="handleOption('edit',currentFrame)" v-if="frameType==='my'">编辑</el-button>
-                            <el-button type="text" @click="handleOption('copy',currentFrame)" :disabled="!currentFrame.FrameworkContent">复制图片</el-button>
+                            <el-button type="text" @click="handleOption('edit',currentFrame)" 
+                                v-if="frameType==='my'&&permissionBtn.isShowBtn('chartFramePermission','chartframe_my_editFrame')">编辑</el-button>
+
+                            <el-button type="text" @click="handleOption('copy',currentFrame)" :disabled="!currentFrame.FrameworkContent"
+                                v-if="frameType==='my'&&permissionBtn.isShowBtn('chartFramePermission','chartframe_my_copyImg')">复制图片</el-button>
+                            <el-button type="text" @click="handleOption('copy',currentFrame)" :disabled="!currentFrame.FrameworkContent"
+                                v-if="frameType==='public'&&permissionBtn.isShowBtn('chartFramePermission','chartframe_public_copyImg')">复制图片</el-button>
+
                             <el-button type="text" @click="handleOption('del',currentFrame)" style="color:red;"
-                                v-if="frameType==='my'">删除</el-button>
+                                v-if="frameType==='my'&&permissionBtn.isShowBtn('chartFramePermission','chartframe_my_delFrame')">删除</el-button>
                         </div>
                     </div>
                     <div class="frame-wrap">
@@ -174,7 +185,7 @@
             <div class="dialog-container">
                 <div>
                     <span style="margin-right:5px;">框架名称</span>
-                    <el-input v-model="modifyFrame.name" placeholder="请输入框架名称"></el-input>
+                    <el-input v-model="modifyFrame.FrameworkName" placeholder="请输入框架名称"></el-input>
                 </div>
             </div>
             <div class="dialog-footer">
@@ -301,6 +312,10 @@ export default {
     computed:{
         adminId(){
             return Number(localStorage.getItem('AdminId'))
+        },
+        isDropDownShow(){
+            return this.permissionBtn.isShowBtn('chartFramePermission','chartframe_my_rename')
+                || this.permissionBtn.isShowBtn('chartFramePermission','chartframe_my_delFrame')
         }
     },
     methods: {
@@ -481,11 +496,22 @@ export default {
             }).catch(()=>{})
         },
         renameFrame(){
-            //this.modifyFrame
-            this.$message.success("编辑成功")
-            this.isRenameDialogShow = false
-            this.getPublicList()
-            this.getMyList()
+            if(!this.modifyFrame.FrameworkName.length){
+                this.$message.warning("请输入框架名称")
+                return
+            }
+            chartFrameInterface.reNameFrame({
+                ChartFrameworkId:this.modifyFrame.ChartFrameworkId,
+                FrameworkName:this.modifyFrame.FrameworkName
+            }).then(async res=>{
+                if(res.Ret!==200) return
+                this.getPublicList()
+                await this.getMyList()
+                this.currentFrame = this.myFrameList.find(item=>item.ChartFrameworkId===this.modifyFrame.ChartFrameworkId)||{}
+                this.$message.success("编辑成功")
+                this.isRenameDialogShow = false
+            })
+            
         },
         //点击框架内节点
         handleShowDialog({id,userId}){