Pārlūkot izejas kodu

feat(s0): hide person-skill menu and add maintenance entry button

将 S0 制造建模 leaf 7 “人员技能”菜单从 tuple 数组迁出,改为单独 yield return new SysMenu 并设置 IsHide=true(参考既有"侧栏隐藏"范式),路由仍保留可访问;在“人员技能维护列表”工具栏新增【技能维护】按钮,点击通过 router.push 跳转至 /aidop/s0/manufacturing/person-skill 字典维护页面。

Id/Path/Name/Title/Component/OrderNo/Type/Status 全部保持既有语义;不动 SysTenantMenu 授权;不动 PersonnelSkillList.vue 字典页(已是 CRUD 形态);不动 csproj/package.json/UpdateScripts(被其他实例占用,按方案 B 留 dev DB 手改 + 追加批次写版本化 SQL)。
YY968XX 1 nedēļu atpakaļ
vecāks
revīzija
ad711f3628

+ 7 - 1
Web/src/views/aidop/s0/manufacturing/PersonSkillAssignmentList.vue

@@ -25,6 +25,7 @@
 				<el-button type="primary" @click="loadList">查询</el-button>
 				<el-button @click="resetQuery">重置</el-button>
 				<el-button type="success" @click="openCreate">新增</el-button>
+				<el-button @click="openSkillMaintenance">技能维护</el-button>
 			</el-form-item>
 		</el-form>
 
@@ -111,7 +112,7 @@
 
 <script setup lang="ts" name="aidopS0MfgEmpSkills">
 import { computed, onMounted, reactive, ref, watch } from 'vue';
-import { useRoute } from 'vue-router';
+import { useRoute, useRouter } from 'vue-router';
 import { ElMessage, ElMessageBox, type FormInstance, type FormRules } from 'element-plus';
 import AidopDemoShell from '../../components/AidopDemoShell.vue';
 import {
@@ -127,7 +128,12 @@ const PERSON_SKILL_SCOPE = {
 } as const;
 
 const route = useRoute();
+const router = useRouter();
 const pageTitle = computed(() => (route.meta?.title as string) || '人员技能维护列表');
+
+function openSkillMaintenance() {
+	router.push('/aidop/s0/manufacturing/person-skill');
+}
 type Row = Record<string, any>;
 
 const query = reactive({

+ 16 - 1
server/Plugins/Admin.NET.Plugin.AiDOP/SeedData/SysMenuSeedData.cs

@@ -809,7 +809,6 @@ public class SysMenuSeedData : ISqlSugarEntitySeedData<SysMenu>
             (4, "/aidop/s0/manufacturing/routing", "aidopS0MfgRouting", "标准工艺路线列表", "/aidop/s0/manufacturing/RoutingList", 50),
             (5, "/aidop/s0/manufacturing/material-substitution", "aidopS0MfgMaterialSubstitution", "物料替代关系列表", "/aidop/s0/manufacturing/MaterialSubstitutionList", 60),
             (6, "/aidop/s0/manufacturing/work-order-control", "aidopS0MfgWorkOrderControl", "工单控制参数", "/aidop/s0/manufacturing/WorkOrderControlParams", 130),
-            (7, "/aidop/s0/manufacturing/person-skill", "aidopS0MfgPersonSkill", "人员技能", "/aidop/s0/manufacturing/PersonnelSkillList", 140),
             (8, "/aidop/s0/manufacturing/person-skill-assignment", "aidopS0MfgPersonSkillAssignment", "人员技能维护列表", "/aidop/s0/manufacturing/PersonSkillAssignmentList", 80),
             (9, "/aidop/s0/manufacturing/line-post", "aidopS0MfgLinePost", "产线岗位维护", "/aidop/s0/manufacturing/LinePostList", 90),
             (10, "/aidop/s0/manufacturing/work-center", "aidopS0MfgWorkCenter", "工作中心列表", "/aidop/s0/manufacturing/WorkCenterList", 100),
@@ -840,6 +839,22 @@ public class SysMenuSeedData : ISqlSugarEntitySeedData<SysMenu>
             };
         }
 
+        yield return new SysMenu
+        {
+            Id = subDirId + 7,
+            Pid = subDirId,
+            Title = "人员技能",
+            Path = "/aidop/s0/manufacturing/person-skill",
+            Name = "aidopS0MfgPersonSkill",
+            Component = "/aidop/s0/manufacturing/PersonnelSkillList",
+            Icon = "ele-Document",
+            Type = MenuTypeEnum.Menu,
+            CreateTime = ct,
+            OrderNo = 140,
+            IsHide = true,
+            Remark = "S0 人员技能(侧栏隐藏,由人员技能维护列表入口进入)"
+        };
+
         yield return new SysMenu
         {
             Id = subDirId + 18,