Bladeren bron

fix: 更新路由配置

xiaweibo 1 maand geleden
bovenliggende
commit
c439e873c2

+ 16 - 1
src/router/routers/production-safety-router/risk-identification-and-control.ts

@@ -631,7 +631,7 @@ const riskIdentificationAndControlRoutes: RouteComponent[] = [{
       parentId: 90014,
       name: 'laborProductsPurchaseApplyManageAdmin',
       path: 'labor-products-purchase-apply-manage-admin',
-      component: '/production-safety/risk-identification-and-control/labor-products-purchase-apply-manage/listAdmin',
+      component: '/production-safety/risk-identification-and-control/labor-products-purchase-apply-manage-admin/listAdmin',
       meta: {
         title: '劳防用品采购申请(管理员)',
         icon: 'OverviewIcon',
@@ -639,6 +639,21 @@ const riskIdentificationAndControlRoutes: RouteComponent[] = [{
         hidden: false,
         noCache: false,
       }
+    },   
+    {
+      id: 93036,
+      parentId: 90014,
+      name: 'laborProductsPurchaseApplyManageAdminItem',
+      path: 'labor-products-purchase-apply-manage-admin-item',
+      component: '/production-safety/risk-identification-and-control/labor-products-purchase-apply-manage-admin/Item',
+      meta: {
+        title: '劳防用品采购申请详情(管理员)',
+        activeMenu: '/work-safety/risk-identification-and-control/labor-products-purchase-apply-manage-admin',
+        icon: 'OverviewIcon',
+        isRoot: false,
+        hidden: false,
+        noCache: false,
+      }
     },
     //工伤认定申请
     {

+ 45 - 0
src/views/production-safety/risk-identification-and-control/labor-products-purchase-apply-manage-admin/Item.vue

@@ -0,0 +1,45 @@
+<template>
+  <div class="safety-platform-container">
+    <header class="safety-platform-container__header">
+      <BreadcrumbBack />
+      <span class="breadcrumb-title">{{ headerTitle }}</span>
+    </header>
+    <Detail />
+  </div>
+</template>
+
+<script setup lang="ts">
+  import { computed } from 'vue';
+  import { useRoute } from 'vue-router';
+  import BreadcrumbBack from '@/components/BreadcrumbBack.vue';
+  import Detail from './components/detail.vue';
+
+  const route = useRoute();
+  const operate = (route.query.operate as string) || 'inventory-create';
+
+  const headerTitle = computed(() => {
+    switch (operate) {
+      case 'inventory-create':
+        return '新增劳防用品采购申请';
+      case 'inventory-edit':
+        return '编辑劳防用品采购申请';
+      case 'inventory-view':
+        return '查看劳防用品采购申请';
+      case 'audit':
+        return '审核劳防用品采购申请';
+      default:
+        return '劳防用品采购申请详情';
+    }
+  });
+</script>
+
+<style scoped lang="scss">
+  @use '@/styles/page-details-layout.scss' as *;
+  @use '@/styles/page-main-layout.scss' as *;
+
+  .safety-platform-container__header {
+    flex-direction: row !important;
+    justify-content: flex-start !important;
+    gap: 8px !important;
+  }
+</style>

File diff suppressed because it is too large
+ 1005 - 0
src/views/production-safety/risk-identification-and-control/labor-products-purchase-apply-manage-admin/components/detail.vue


+ 85 - 0
src/views/production-safety/risk-identification-and-control/labor-products-purchase-apply-manage-admin/configs/constant.ts

@@ -0,0 +1,85 @@
+export enum EMERGENCY_PLAN_STATUS {
+  UNAPPROVED = 0,
+  APPROVAL_IN_PROGRESS,
+  RETURNED,
+  PUBLISHED,
+}
+
+export const EMERGENCY_PLAN_STATUS_MAP = {
+  [EMERGENCY_PLAN_STATUS.UNAPPROVED]: '未审批',
+  [EMERGENCY_PLAN_STATUS.APPROVAL_IN_PROGRESS]: '预案审批中',
+  [EMERGENCY_PLAN_STATUS.RETURNED]: '预案已退回',
+  [EMERGENCY_PLAN_STATUS.PUBLISHED]: '已公示',
+};
+
+export const EMERGENCY_PLAN_STATUS_OPTIONS = [
+  {
+    label: EMERGENCY_PLAN_STATUS_MAP[EMERGENCY_PLAN_STATUS.UNAPPROVED],
+    value: EMERGENCY_PLAN_STATUS.UNAPPROVED,
+  },
+  {
+    label: EMERGENCY_PLAN_STATUS_MAP[EMERGENCY_PLAN_STATUS.APPROVAL_IN_PROGRESS],
+    value: EMERGENCY_PLAN_STATUS.APPROVAL_IN_PROGRESS,
+  },
+  {
+    label: EMERGENCY_PLAN_STATUS_MAP[EMERGENCY_PLAN_STATUS.RETURNED],
+    value: EMERGENCY_PLAN_STATUS.RETURNED,
+  },
+  {
+    label: EMERGENCY_PLAN_STATUS_MAP[EMERGENCY_PLAN_STATUS.PUBLISHED],
+    value: EMERGENCY_PLAN_STATUS.PUBLISHED,
+  },
+];
+
+export enum APPROVAL_TYPE {
+  COUNTER_SIGN = 0,
+  ORDINARY_SIGN,
+}
+
+export const APPROVAL_TYPE_MAP = {
+  [APPROVAL_TYPE.COUNTER_SIGN]: '会签',
+  [APPROVAL_TYPE.ORDINARY_SIGN]: '或签',
+};
+
+export enum APPROVER_TYPE{
+  FIX = 0,
+  CUSTOM,
+}
+
+export const APPROVER_TYPE_MAP = {
+  [APPROVER_TYPE.FIX]: '固定',
+  [APPROVER_TYPE.CUSTOM]: '自选',
+};
+
+export enum APPROVAL_STATUS {
+  PENDING = 1,
+  APPROVED,
+  REJECTED,
+  OHTER,
+}
+
+export const APPROVAL_STATUS_MAP = {
+  [APPROVAL_STATUS.PENDING]: '待审批',
+  [APPROVAL_STATUS.APPROVED]: '已审批',
+  [APPROVAL_STATUS.REJECTED]: '退回',
+  [APPROVAL_STATUS.OHTER]: '他人已审批',
+};
+
+export const APPROVAL_STATUS_OPTIONS = [
+  {
+    label: APPROVAL_STATUS_MAP[APPROVAL_STATUS.PENDING],
+    value: APPROVAL_STATUS.PENDING,
+  },
+  {
+    label: APPROVAL_STATUS_MAP[APPROVAL_STATUS.APPROVED],
+    value: APPROVAL_STATUS.APPROVED,
+  },
+  {
+    label: APPROVAL_STATUS_MAP[APPROVAL_STATUS.REJECTED],
+    value: APPROVAL_STATUS.REJECTED,
+  },
+  {
+    label: APPROVAL_STATUS_MAP[APPROVAL_STATUS.OHTER],
+    value: APPROVAL_STATUS.OHTER,
+  },
+];

+ 68 - 0
src/views/production-safety/risk-identification-and-control/labor-products-purchase-apply-manage-admin/configs/form.ts

@@ -0,0 +1,68 @@
+import { FormConfig } from '@/types/basic-form';
+
+export const INVENTORY_FORM_CONFIG: FormConfig[] = [
+  {
+    prop: 'itemName',
+    label: '物品名称:',
+    component: 'ElInput',
+    componentProps: {
+      placeholder: '请输入物品名称',
+    },
+  },
+  {
+    prop: 'warehouseDate',
+    label: '入库日期:',
+    component: 'ElDatePicker',
+    componentProps: {
+      type: 'date',
+      placeholder: '请选择入库日期',
+      valueFormat: 'YYYY-MM-DD',
+    },
+  },
+  {
+    prop: 'itemQuantity',
+    label: '物品数量:',
+    component: 'ElInputNumber',
+    componentProps: {
+      min: 1,
+      max: 99999,
+      precision: 0, // 不允许小数点,只能输入整数
+      placeholder: '请输入物品数量',
+    },
+  },
+  {
+    label: '备注:',
+    prop: 'remarks',
+    component: 'ElInput',
+    componentProps: {
+      type: 'textarea',
+      rows: 5,
+      placeholder: '请输入备注',
+    },
+  },
+  {
+    prop: 'status',
+    label: '状态:',
+    slot: 'status',
+  },
+];
+
+export const INVENTORY_FORM_DATA = {
+  status: 'ENABLE',
+  itemName: '',
+  warehouseDate: '',
+  itemQuantity: 1, // 最小值为1
+  remarks: '',
+};
+
+export const INVENTORY_FORM_RULES = {
+  status: [{ required: true, message: '请选择状态', trigger: 'change' }],
+  itemName: [{ required: true, message: '请输入物品名称', trigger: 'blur' }],
+  warehouseDate: [{ required: true, message: '请选择入库日期', trigger: 'change' }],
+  itemQuantity: [
+    { required: true, message: '请输入物品数量', trigger: 'blur' },
+    { type: 'number', min: 1, message: '物品数量不能小于1', trigger: 'blur' },
+    { type: 'number', max: 99999, message: '物品数量不能大于99999', trigger: 'blur' },
+  ],
+  status: [{ required: true, message: '请选择状态', trigger: 'change' }],
+};

+ 58 - 0
src/views/production-safety/risk-identification-and-control/labor-products-purchase-apply-manage-admin/configs/tables.ts

@@ -0,0 +1,58 @@
+import type { TableColumnProps } from '@/types/basic-table';
+
+const TABLE_OPTIONS = {
+  emptyText: '暂无数据',
+  loading: true,
+  maxHeight: 'calc(70vh - 150px)',
+};
+
+/** 劳防用品采购申请列表列:申请单号、申请人、申请人部门、状态、当前流程节点、操作(后端字段:applyCode, applicantName, deptName, statusName, nodeDescription) */
+const PURCHASE_APPLY_TABLE_COLUMNS: TableColumnProps[] = [
+  {
+    label: '编号',
+    type: 'index',
+    align: 'center',
+    width: '80px',
+  },
+  {
+    label: '申请单号',
+    prop: 'applyCodeDesc',
+    align: 'left',
+    minWidth: '140px',
+  },
+  {
+    label: '申请人',
+    prop: 'applicantName',
+    align: 'left',
+    minWidth: '100px',
+  },
+  {
+    label: '申请部门',
+    prop: 'deptName',
+    align: 'left',
+    minWidth: '140px',
+  },
+  {
+    label: '状态',
+    prop: 'status',
+    slot: 'status',
+    align: 'center',
+    minWidth: '100px',
+  },
+  {
+    label: '当前流程节点',
+    prop: 'ppeDescription',
+    align: 'left',
+    minWidth: '140px',
+  },
+  {
+    label: '操作',
+    prop: 'action',
+    slot: 'action',
+    fixed: 'right',
+    width: '220px',
+    align: 'left',
+  },
+];
+
+export { TABLE_OPTIONS, PURCHASE_APPLY_TABLE_COLUMNS };

+ 58 - 0
src/views/production-safety/risk-identification-and-control/labor-products-purchase-apply-manage-admin/configs/tablesTow.ts

@@ -0,0 +1,58 @@
+import type { TableColumnProps } from '@/types/basic-table';
+
+const TABLE_OPTIONS = {
+  emptyText: '暂无数据',
+  loading: true,
+  maxHeight: 'calc(70vh - 150px)',
+};
+
+/** 劳防用品采购申请列表列:申请单号、申请人、申请人部门、状态、当前流程节点、操作(后端字段:applyCode, applicantName, deptName, statusName, nodeDescription) */
+const PURCHASE_APPLY_TABLE_COLUMNS: TableColumnProps[] = [
+  {
+    label: '编号',
+    type: 'index',
+    align: 'center',
+    width: '80px',
+  },
+  {
+    label: '申请单号',
+    prop: 'applyCode',
+    align: 'left',
+    minWidth: '140px',
+  },
+  {
+    label: '申请人',
+    prop: 'applicantName',
+    align: 'left',
+    minWidth: '100px',
+  },
+  {
+    label: '申请部门',
+    prop: 'deptName',
+    align: 'left',
+    minWidth: '140px',
+  },
+  {
+    label: '状态',
+    prop: 'status',
+    slot: 'status',
+    align: 'center',
+    minWidth: '100px',
+  },
+  {
+    label: '当前流程节点',
+    prop: 'nodeDescription',
+    align: 'left',
+    minWidth: '140px',
+  },
+  {
+    label: '操作',
+    prop: 'action',
+    slot: 'action',
+    fixed: 'right',
+    width: '220px',
+    align: 'left',
+  },
+];
+
+export { TABLE_OPTIONS, PURCHASE_APPLY_TABLE_COLUMNS };

+ 3 - 3
src/views/production-safety/risk-identification-and-control/labor-products-purchase-apply-manage/listAdmin.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="safety-platform-container">
     <header class="safety-platform-container__header">
-      <div class="breadcrumb-title">劳防用品采购申请</div>
+      <div class="breadcrumb-title">劳防用品采购申请(管理员)</div>
     </header>
     <main class="safety-platform-container__main">
       <div class="search-table-container">
@@ -234,7 +234,7 @@
 
   const handleView = (id: number, row?: PpePurchaseApply) => {
     router.push({
-      name: 'laborProductsPurchaseApplyManageItem',
+      name: 'laborProductsPurchaseApplyManageAdminItem',
       query: {
         id: String(id),
         operate: 'inventory-view',
@@ -252,7 +252,7 @@
 
   const handleAudit = (id: number, row?: PpePurchaseApply) => {
     router.push({
-      name: 'laborProductsPurchaseApplyManageItem',
+      name: 'laborProductsPurchaseApplyManageAdminItem',
       query: {
         id: String(id),
         operate: 'audit',