Răsfoiți Sursa

参数配置编辑弹窗添加操作权限处理逻辑

lm 1 lună în urmă
părinte
comite
ef6d9a8153

+ 12 - 9
src/components/settingCard/SettingCard.vue

@@ -94,7 +94,15 @@ const props = defineProps({
     customSelectList:{
         type:Array<OptionSelect>,
         default:()=>[]
-    }
+    },
+    disabledDeleteRowScene:{    // 禁止删除行 的条件:  true 禁止  false 允许
+        type:Function,
+        default:()=>{()=>{return false}}
+    },
+    disabledEditRowScene:{  // 禁止编辑行 的条件 :true 禁止   false 允许
+        type:Function,
+        default:()=>{()=>{return false}}
+    },
 })
 
 const emit = defineEmits([
@@ -117,6 +125,7 @@ const deleteFlag = ref('none')  // 当下 删除弹窗确认 是否成功的标
 
 const formDialogConfirmFlag = ref('none')
 
+
 // 拖拽的 起始 和 终止 索引
 const startDragIndex= ()=>{
    return props.middleColumnItm?.label == '跟进状态' ? 1 : 0
@@ -125,14 +134,8 @@ const endDragIndex = (realTableData)=>{
     return props.middleColumnItm?.label == '跟进状态' ? realTableData.length - 4 :realTableData.length - 1
 }
 
-// 表格的 禁止编辑条件 和 禁止删除条件
-const disabledEditRowScene = (row,currentIndex,newTableData)=>{
-    return false
-}
-const disabledDeleteRowScene = (row,currentIndex,newTableData)=>{
-    return props.middleColumnItm?.label == '跟进状态' && 
-            ([1,newTableData.length, newTableData.length-1, newTableData.length-2].includes(currentIndex) || row[props.middleColumnItm.name] == '方案演示') 
-}
+
+
 
 // 表单弹窗打开操作
 const OpenFormDialog = ()=>{

+ 12 - 0
src/views/parameterConfig/index.vue

@@ -62,27 +62,32 @@
                     :middleColumnItm="{name:'name',label:'省份'}"
                     :customSelectList="regionSelectList"
                     :defaultTableData="regionList" 
+                    :disabledDeleteRowScene="DisabledDeleteTableRowScene"
                     @openDialog="HandleRegionDialogOpen"
                     @deleteSuccess="GetPublicSeasConfig"
                     @addOrUpdateSuccess="GetPublicSeasConfig"/>
                 <SettingCard cardTitle="学段管理" :cardItems="stageList"
                     :middleColumnItm="{name:'title',label:'学段名称'}"
                     :defaultTableData="stageList"
+                    :disabledDeleteRowScene="DisabledDeleteTableRowScene"
                     @deleteSuccess="GetPublicSeasConfig"
                     @addOrUpdateSuccess="GetPublicSeasConfig"/>
                 <SettingCard cardTitle="产品管理" :cardItems="productList"
                     :middleColumnItm="{name:'title',label:'产品名称'}"
                     :defaultTableData="productList"
+                    :disabledDeleteRowScene="DisabledDeleteTableRowScene"
                     @deleteSuccess="GetPublicSeasConfig"
                     @addOrUpdateSuccess="GetPublicSeasConfig"/>
                 <SettingCard cardTitle="跟进状态" :cardItems="statusList" 
                     :middleColumnItm="{name:'title',label:'跟进状态'}"
                     :defaultTableData="statusList"
+                    :disabledDeleteRowScene="DisabledDeleteTableRowScene"
                     @deleteSuccess="GetPublicSeasConfig"
                     @addOrUpdateSuccess="GetPublicSeasConfig"/>
                 <SettingCard cardTitle="职务管理" :cardItems="jobList"
                     :middleColumnItm="{name:'title',label:'职务名称'}"
                     :defaultTableData="jobList"
+                    :disabledDeleteRowScene="DisabledDeleteTableRowScene"
                     @deleteSuccess="GetPublicSeasConfig"
                     @addOrUpdateSuccess="GetPublicSeasConfig"/>
             </div>
@@ -133,6 +138,13 @@ const GetPublicSeasConfig = async ()=>{
     }
 }
 
+const DisabledDeleteTableRowScene = (row,currentIndex,newTableData)=>{
+    if(row.status === 1){
+        return true
+    }else{
+        return false
+    }
+}
 
 
 /** 2. 公海设置 */